From d77de465fc43af89d3a6705679cea2fe642c5b66 Mon Sep 17 00:00:00 2001 From: retoor Date: Fri, 6 Dec 2024 18:18:45 +0000 Subject: [PATCH] Modified portfolio site initial commit. --- data/gitea/public/.well-known/security.txt | 6 + .../assets/css/asciinema-player.dd36a08e.css | 1 + .../css/code-frequency-graph.55afbe7d.css | 1 + .../assets/css/colorpicker.ec78e358.css | 1 + .../css/contributors-graph.66f42f73.css | 1 + .../public/assets/css/dropzone.5a752d14.css | 1 + data/gitea/public/assets/css/index.css | 1 + .../public/assets/css/katex.fb6ef55c.css | 1 + .../public/assets/css/monaco.a3a0a182.css | 1 + .../css/recent-commits-graph.45c55234.css | 1 + data/gitea/public/assets/css/swagger.css | 1 + .../public/assets/css/theme-gitea-auto.css | 1 + ...eme-gitea-dark-protanopia-deuteranopia.css | 1 + .../public/assets/css/theme-gitea-dark.css | 1 + ...me-gitea-light-protanopia-deuteranopia.css | 1 + .../public/assets/css/theme-gitea-light.css | 1 + .../fonts/KaTeX_AMS-Regular.73ea273a.woff2 | Bin 0 -> 28076 bytes .../KaTeX_Caligraphic-Bold.a1abf90d.woff2 | Bin 0 -> 6912 bytes .../KaTeX_Caligraphic-Regular.d6484fce.woff2 | Bin 0 -> 6908 bytes .../fonts/KaTeX_Fraktur-Bold.931d67ea.woff2 | Bin 0 -> 11348 bytes .../KaTeX_Fraktur-Regular.172d3529.woff2 | Bin 0 -> 11316 bytes .../fonts/KaTeX_Main-Bold.39890742.woff2 | Bin 0 -> 25324 bytes .../KaTeX_Main-BoldItalic.20f389c4.woff2 | Bin 0 -> 16780 bytes .../fonts/KaTeX_Main-Italic.fe2176f7.woff2 | Bin 0 -> 16988 bytes .../fonts/KaTeX_Main-Regular.f650f111.woff2 | Bin 0 -> 26272 bytes .../KaTeX_Math-BoldItalic.dcbcbd93.woff2 | Bin 0 -> 16400 bytes .../fonts/KaTeX_Math-Italic.6d3d25f4.woff2 | Bin 0 -> 16440 bytes .../fonts/KaTeX_SansSerif-Bold.95591a92.woff2 | Bin 0 -> 12216 bytes .../KaTeX_SansSerif-Italic.7d393d38.woff2 | Bin 0 -> 12028 bytes .../KaTeX_SansSerif-Regular.cd5e231e.woff2 | Bin 0 -> 10344 bytes .../fonts/KaTeX_Script-Regular.c81d1b2a.woff2 | Bin 0 -> 9644 bytes .../fonts/KaTeX_Size1-Regular.6eec866c.woff2 | Bin 0 -> 5468 bytes .../fonts/KaTeX_Size2-Regular.2960900c.woff2 | Bin 0 -> 5208 bytes .../fonts/KaTeX_Size3-Regular.e1951519.woff2 | Bin 0 -> 3624 bytes .../fonts/KaTeX_Size4-Regular.e418bf25.woff2 | Bin 0 -> 4928 bytes .../KaTeX_Typewriter-Regular.c295e7f7.woff2 | Bin 0 -> 13568 bytes .../public/assets/fonts/codicon.762fced4.ttf | Bin 0 -> 79844 bytes data/gitea/public/assets/img/404.png | Bin 0 -> 4516 bytes data/gitea/public/assets/img/500.png | Bin 0 -> 5230 bytes .../public/assets/img/apple-touch-icon.png | Bin 0 -> 3162 bytes .../public/assets/img/avatar_default.png | Bin 0 -> 4889 bytes data/gitea/public/assets/img/checkmark.png | Bin 0 -> 169 bytes data/gitea/public/assets/img/dingtalk.ico | Bin 0 -> 7886 bytes data/gitea/public/assets/img/discord.png | Bin 0 -> 1559 bytes .../public/assets/img/emoji/codeberg.png | Bin 0 -> 8317 bytes data/gitea/public/assets/img/emoji/git.png | Bin 0 -> 5007 bytes data/gitea/public/assets/img/emoji/gitea.png | Bin 0 -> 12918 bytes data/gitea/public/assets/img/emoji/github.png | Bin 0 -> 14111 bytes data/gitea/public/assets/img/emoji/gitlab.png | Bin 0 -> 6873 bytes data/gitea/public/assets/img/emoji/gogs.png | Bin 0 -> 11794 bytes data/gitea/public/assets/img/failed.png | Bin 0 -> 11009 bytes data/gitea/public/assets/img/favicon.png | Bin 0 -> 4351 bytes data/gitea/public/assets/img/favicon.svg | 1 + data/gitea/public/assets/img/feishu.png | Bin 0 -> 1982 bytes data/gitea/public/assets/img/gitea.svg | 1 + data/gitea/public/assets/img/gogs.ico | Bin 0 -> 29157 bytes data/gitea/public/assets/img/loading.png | Bin 0 -> 12629 bytes data/gitea/public/assets/img/logo.png | Bin 0 -> 14354 bytes data/gitea/public/assets/img/logo.svg | 1 + data/gitea/public/assets/img/msteams.png | Bin 0 -> 4313 bytes data/gitea/public/assets/img/openid-16x16.png | Bin 0 -> 172 bytes data/gitea/public/assets/img/packagist.png | Bin 0 -> 4573 bytes data/gitea/public/assets/img/repo_default.png | Bin 0 -> 1645 bytes data/gitea/public/assets/img/slack.png | Bin 0 -> 1428 bytes .../assets/img/svg/fontawesome-openid.svg | 1 + .../assets/img/svg/fontawesome-save.svg | 1 + .../assets/img/svg/fontawesome-send.svg | 1 + .../assets/img/svg/fontawesome-windows.svg | 1 + .../public/assets/img/svg/gitea-alpine.svg | 1 + .../public/assets/img/svg/gitea-azuread.svg | 1 + .../public/assets/img/svg/gitea-azureadv2.svg | 1 + .../public/assets/img/svg/gitea-bitbucket.svg | 1 + .../public/assets/img/svg/gitea-cargo.svg | 1 + .../public/assets/img/svg/gitea-chef.svg | 1 + .../public/assets/img/svg/gitea-codebase.svg | 1 + .../public/assets/img/svg/gitea-composer.svg | 1 + .../public/assets/img/svg/gitea-conan.svg | 1 + .../public/assets/img/svg/gitea-conda.svg | 1 + .../public/assets/img/svg/gitea-cran.svg | 1 + .../public/assets/img/svg/gitea-debian.svg | 1 + .../public/assets/img/svg/gitea-discord.svg | 1 + .../img/svg/gitea-double-chevron-left.svg | 1 + .../img/svg/gitea-double-chevron-right.svg | 1 + .../public/assets/img/svg/gitea-dropbox.svg | 1 + .../assets/img/svg/gitea-empty-checkbox.svg | 1 + .../assets/img/svg/gitea-exclamation.svg | 1 + .../public/assets/img/svg/gitea-facebook.svg | 1 + .../gitea/public/assets/img/svg/gitea-git.svg | 1 + .../public/assets/img/svg/gitea-gitbucket.svg | 1 + .../public/assets/img/svg/gitea-gitea.svg | 1 + .../public/assets/img/svg/gitea-gitlab.svg | 1 + data/gitea/public/assets/img/svg/gitea-go.svg | 1 + .../public/assets/img/svg/gitea-gogs.svg | 1 + .../public/assets/img/svg/gitea-google.svg | 1 + .../public/assets/img/svg/gitea-helm.svg | 1 + .../public/assets/img/svg/gitea-jetbrains.svg | 1 + .../public/assets/img/svg/gitea-join.svg | 1 + .../public/assets/img/svg/gitea-lock-cog.svg | 1 + .../public/assets/img/svg/gitea-lock.svg | 1 + .../public/assets/img/svg/gitea-mastodon.svg | 1 + .../public/assets/img/svg/gitea-matrix.svg | 1 + .../public/assets/img/svg/gitea-maven.svg | 1 + .../assets/img/svg/gitea-microsoftonline.svg | 1 + .../public/assets/img/svg/gitea-nextcloud.svg | 1 + .../gitea/public/assets/img/svg/gitea-npm.svg | 1 + .../public/assets/img/svg/gitea-nuget.svg | 1 + .../public/assets/img/svg/gitea-onedev.svg | 1 + .../public/assets/img/svg/gitea-openid.svg | 1 + .../gitea/public/assets/img/svg/gitea-pub.svg | 1 + .../public/assets/img/svg/gitea-python.svg | 1 + .../gitea/public/assets/img/svg/gitea-rpm.svg | 1 + .../public/assets/img/svg/gitea-rubygems.svg | 1 + .../public/assets/img/svg/gitea-split.svg | 1 + .../public/assets/img/svg/gitea-swift.svg | 1 + .../public/assets/img/svg/gitea-twitter.svg | 1 + .../public/assets/img/svg/gitea-unlock.svg | 1 + .../public/assets/img/svg/gitea-vagrant.svg | 1 + .../public/assets/img/svg/gitea-vscode.svg | 1 + .../public/assets/img/svg/gitea-vscodium.svg | 1 + .../assets/img/svg/gitea-whitespace.svg | 1 + .../public/assets/img/svg/gitea-yandex.svg | 1 + .../assets/img/svg/material-invert-colors.svg | 1 + .../assets/img/svg/material-palette.svg | 1 + .../img/svg/octicon-accessibility-inset.svg | 1 + .../assets/img/svg/octicon-accessibility.svg | 1 + .../assets/img/svg/octicon-alert-fill.svg | 1 + .../public/assets/img/svg/octicon-alert.svg | 1 + .../public/assets/img/svg/octicon-apps.svg | 1 + .../public/assets/img/svg/octicon-archive.svg | 1 + .../assets/img/svg/octicon-arrow-both.svg | 1 + .../img/svg/octicon-arrow-down-left.svg | 1 + .../img/svg/octicon-arrow-down-right.svg | 1 + .../assets/img/svg/octicon-arrow-down.svg | 1 + .../assets/img/svg/octicon-arrow-left.svg | 1 + .../assets/img/svg/octicon-arrow-right.svg | 1 + .../assets/img/svg/octicon-arrow-switch.svg | 1 + .../assets/img/svg/octicon-arrow-up-left.svg | 1 + .../assets/img/svg/octicon-arrow-up-right.svg | 1 + .../assets/img/svg/octicon-arrow-up.svg | 1 + .../public/assets/img/svg/octicon-beaker.svg | 1 + .../assets/img/svg/octicon-bell-fill.svg | 1 + .../assets/img/svg/octicon-bell-slash.svg | 1 + .../public/assets/img/svg/octicon-bell.svg | 1 + .../public/assets/img/svg/octicon-blocked.svg | 1 + .../public/assets/img/svg/octicon-bold.svg | 1 + .../public/assets/img/svg/octicon-book.svg | 1 + .../assets/img/svg/octicon-bookmark-slash.svg | 1 + .../assets/img/svg/octicon-bookmark.svg | 1 + .../assets/img/svg/octicon-briefcase.svg | 1 + .../assets/img/svg/octicon-broadcast.svg | 1 + .../public/assets/img/svg/octicon-browser.svg | 1 + .../public/assets/img/svg/octicon-bug.svg | 1 + .../public/assets/img/svg/octicon-cache.svg | 1 + .../assets/img/svg/octicon-calendar.svg | 1 + .../img/svg/octicon-check-circle-fill.svg | 1 + .../assets/img/svg/octicon-check-circle.svg | 1 + .../public/assets/img/svg/octicon-check.svg | 1 + .../assets/img/svg/octicon-checkbox.svg | 1 + .../assets/img/svg/octicon-checklist.svg | 1 + .../assets/img/svg/octicon-chevron-down.svg | 1 + .../assets/img/svg/octicon-chevron-left.svg | 1 + .../assets/img/svg/octicon-chevron-right.svg | 1 + .../assets/img/svg/octicon-chevron-up.svg | 1 + .../assets/img/svg/octicon-circle-slash.svg | 1 + .../public/assets/img/svg/octicon-circle.svg | 1 + .../assets/img/svg/octicon-clock-fill.svg | 1 + .../public/assets/img/svg/octicon-clock.svg | 1 + .../assets/img/svg/octicon-cloud-offline.svg | 1 + .../public/assets/img/svg/octicon-cloud.svg | 1 + .../img/svg/octicon-code-of-conduct.svg | 1 + .../assets/img/svg/octicon-code-review.svg | 1 + .../assets/img/svg/octicon-code-square.svg | 1 + .../public/assets/img/svg/octicon-code.svg | 1 + .../img/svg/octicon-codescan-checkmark.svg | 1 + .../assets/img/svg/octicon-codescan.svg | 1 + .../assets/img/svg/octicon-codespaces.svg | 1 + .../public/assets/img/svg/octicon-columns.svg | 1 + .../img/svg/octicon-command-palette.svg | 1 + .../img/svg/octicon-comment-discussion.svg | 1 + .../public/assets/img/svg/octicon-comment.svg | 1 + .../assets/img/svg/octicon-container.svg | 1 + .../assets/img/svg/octicon-copilot-error.svg | 1 + .../img/svg/octicon-copilot-warning.svg | 1 + .../public/assets/img/svg/octicon-copilot.svg | 1 + .../public/assets/img/svg/octicon-copy.svg | 1 + .../public/assets/img/svg/octicon-cpu.svg | 1 + .../assets/img/svg/octicon-credit-card.svg | 1 + .../img/svg/octicon-cross-reference.svg | 1 + .../public/assets/img/svg/octicon-dash.svg | 1 + .../assets/img/svg/octicon-database.svg | 1 + .../assets/img/svg/octicon-dependabot.svg | 1 + .../img/svg/octicon-desktop-download.svg | 1 + .../img/svg/octicon-device-camera-video.svg | 1 + .../assets/img/svg/octicon-device-camera.svg | 1 + .../assets/img/svg/octicon-device-desktop.svg | 1 + .../assets/img/svg/octicon-device-mobile.svg | 1 + .../public/assets/img/svg/octicon-devices.svg | 1 + .../public/assets/img/svg/octicon-diamond.svg | 1 + .../assets/img/svg/octicon-diff-added.svg | 1 + .../assets/img/svg/octicon-diff-ignored.svg | 1 + .../assets/img/svg/octicon-diff-modified.svg | 1 + .../assets/img/svg/octicon-diff-removed.svg | 1 + .../assets/img/svg/octicon-diff-renamed.svg | 1 + .../public/assets/img/svg/octicon-diff.svg | 1 + .../img/svg/octicon-discussion-closed.svg | 1 + .../img/svg/octicon-discussion-duplicate.svg | 1 + .../img/svg/octicon-discussion-outdated.svg | 1 + .../assets/img/svg/octicon-dot-fill.svg | 1 + .../public/assets/img/svg/octicon-dot.svg | 1 + .../assets/img/svg/octicon-download.svg | 1 + .../assets/img/svg/octicon-duplicate.svg | 1 + .../assets/img/svg/octicon-ellipsis.svg | 1 + .../assets/img/svg/octicon-eye-closed.svg | 1 + .../public/assets/img/svg/octicon-eye.svg | 1 + .../img/svg/octicon-feed-discussion.svg | 1 + .../assets/img/svg/octicon-feed-forked.svg | 1 + .../assets/img/svg/octicon-feed-heart.svg | 1 + .../img/svg/octicon-feed-issue-closed.svg | 1 + .../img/svg/octicon-feed-issue-draft.svg | 1 + .../img/svg/octicon-feed-issue-open.svg | 1 + .../img/svg/octicon-feed-issue-reopen.svg | 1 + .../assets/img/svg/octicon-feed-merged.svg | 1 + .../assets/img/svg/octicon-feed-person.svg | 1 + .../assets/img/svg/octicon-feed-plus.svg | 1 + .../assets/img/svg/octicon-feed-public.svg | 1 + .../svg/octicon-feed-pull-request-closed.svg | 1 + .../svg/octicon-feed-pull-request-draft.svg | 1 + .../svg/octicon-feed-pull-request-open.svg | 1 + .../assets/img/svg/octicon-feed-repo.svg | 1 + .../assets/img/svg/octicon-feed-rocket.svg | 1 + .../assets/img/svg/octicon-feed-star.svg | 1 + .../assets/img/svg/octicon-feed-tag.svg | 1 + .../assets/img/svg/octicon-feed-trophy.svg | 1 + .../assets/img/svg/octicon-file-added.svg | 1 + .../assets/img/svg/octicon-file-badge.svg | 1 + .../assets/img/svg/octicon-file-binary.svg | 1 + .../assets/img/svg/octicon-file-code.svg | 1 + .../assets/img/svg/octicon-file-diff.svg | 1 + .../img/svg/octicon-file-directory-fill.svg | 1 + .../svg/octicon-file-directory-open-fill.svg | 1 + .../svg/octicon-file-directory-symlink.svg | 1 + .../assets/img/svg/octicon-file-directory.svg | 1 + .../assets/img/svg/octicon-file-moved.svg | 1 + .../assets/img/svg/octicon-file-removed.svg | 1 + .../assets/img/svg/octicon-file-submodule.svg | 1 + .../img/svg/octicon-file-symlink-file.svg | 1 + .../assets/img/svg/octicon-file-zip.svg | 1 + .../public/assets/img/svg/octicon-file.svg | 1 + .../assets/img/svg/octicon-filter-remove.svg | 1 + .../public/assets/img/svg/octicon-filter.svg | 1 + .../assets/img/svg/octicon-fiscal-host.svg | 1 + .../public/assets/img/svg/octicon-flame.svg | 1 + .../assets/img/svg/octicon-fold-down.svg | 1 + .../public/assets/img/svg/octicon-fold-up.svg | 1 + .../public/assets/img/svg/octicon-fold.svg | 1 + .../public/assets/img/svg/octicon-gear.svg | 1 + .../public/assets/img/svg/octicon-gift.svg | 1 + .../assets/img/svg/octicon-git-branch.svg | 1 + .../assets/img/svg/octicon-git-commit.svg | 1 + .../assets/img/svg/octicon-git-compare.svg | 1 + .../img/svg/octicon-git-merge-queue.svg | 1 + .../assets/img/svg/octicon-git-merge.svg | 1 + .../svg/octicon-git-pull-request-closed.svg | 1 + .../svg/octicon-git-pull-request-draft.svg | 1 + .../img/svg/octicon-git-pull-request.svg | 1 + .../public/assets/img/svg/octicon-globe.svg | 1 + .../public/assets/img/svg/octicon-goal.svg | 1 + .../public/assets/img/svg/octicon-grabber.svg | 1 + .../public/assets/img/svg/octicon-graph.svg | 1 + .../public/assets/img/svg/octicon-hash.svg | 1 + .../public/assets/img/svg/octicon-heading.svg | 1 + .../assets/img/svg/octicon-heart-fill.svg | 1 + .../public/assets/img/svg/octicon-heart.svg | 1 + .../public/assets/img/svg/octicon-history.svg | 1 + .../public/assets/img/svg/octicon-home.svg | 1 + .../img/svg/octicon-horizontal-rule.svg | 1 + .../assets/img/svg/octicon-hourglass.svg | 1 + .../public/assets/img/svg/octicon-hubot.svg | 1 + .../assets/img/svg/octicon-id-badge.svg | 1 + .../public/assets/img/svg/octicon-image.svg | 1 + .../public/assets/img/svg/octicon-inbox.svg | 1 + .../assets/img/svg/octicon-infinity.svg | 1 + .../public/assets/img/svg/octicon-info.svg | 1 + .../assets/img/svg/octicon-issue-closed.svg | 1 + .../assets/img/svg/octicon-issue-draft.svg | 1 + .../assets/img/svg/octicon-issue-opened.svg | 1 + .../assets/img/svg/octicon-issue-reopened.svg | 1 + .../img/svg/octicon-issue-tracked-by.svg | 1 + .../assets/img/svg/octicon-issue-tracks.svg | 1 + .../public/assets/img/svg/octicon-italic.svg | 1 + .../assets/img/svg/octicon-iterations.svg | 1 + .../img/svg/octicon-kebab-horizontal.svg | 1 + .../assets/img/svg/octicon-key-asterisk.svg | 1 + .../public/assets/img/svg/octicon-key.svg | 1 + .../public/assets/img/svg/octicon-law.svg | 1 + .../assets/img/svg/octicon-light-bulb.svg | 1 + .../assets/img/svg/octicon-link-external.svg | 1 + .../public/assets/img/svg/octicon-link.svg | 1 + .../assets/img/svg/octicon-list-ordered.svg | 1 + .../assets/img/svg/octicon-list-unordered.svg | 1 + .../assets/img/svg/octicon-location.svg | 1 + .../public/assets/img/svg/octicon-lock.svg | 1 + .../public/assets/img/svg/octicon-log.svg | 1 + .../assets/img/svg/octicon-logo-gist.svg | 1 + .../assets/img/svg/octicon-logo-github.svg | 1 + .../public/assets/img/svg/octicon-mail.svg | 1 + .../assets/img/svg/octicon-mark-github.svg | 1 + .../assets/img/svg/octicon-markdown.svg | 1 + .../assets/img/svg/octicon-megaphone.svg | 1 + .../public/assets/img/svg/octicon-mention.svg | 1 + .../public/assets/img/svg/octicon-meter.svg | 1 + .../assets/img/svg/octicon-milestone.svg | 1 + .../public/assets/img/svg/octicon-mirror.svg | 1 + .../public/assets/img/svg/octicon-moon.svg | 1 + .../assets/img/svg/octicon-mortar-board.svg | 1 + .../assets/img/svg/octicon-move-to-bottom.svg | 1 + .../assets/img/svg/octicon-move-to-end.svg | 1 + .../assets/img/svg/octicon-move-to-start.svg | 1 + .../assets/img/svg/octicon-move-to-top.svg | 1 + .../assets/img/svg/octicon-multi-select.svg | 1 + .../public/assets/img/svg/octicon-mute.svg | 1 + .../assets/img/svg/octicon-no-entry.svg | 1 + .../assets/img/svg/octicon-north-star.svg | 1 + .../public/assets/img/svg/octicon-note.svg | 1 + .../public/assets/img/svg/octicon-number.svg | 1 + .../assets/img/svg/octicon-organization.svg | 1 + .../img/svg/octicon-package-dependencies.svg | 1 + .../img/svg/octicon-package-dependents.svg | 1 + .../public/assets/img/svg/octicon-package.svg | 1 + .../assets/img/svg/octicon-paintbrush.svg | 1 + .../assets/img/svg/octicon-paper-airplane.svg | 1 + .../assets/img/svg/octicon-paperclip.svg | 1 + .../assets/img/svg/octicon-passkey-fill.svg | 1 + .../public/assets/img/svg/octicon-paste.svg | 1 + .../public/assets/img/svg/octicon-pencil.svg | 1 + .../public/assets/img/svg/octicon-people.svg | 1 + .../assets/img/svg/octicon-person-add.svg | 1 + .../assets/img/svg/octicon-person-fill.svg | 1 + .../public/assets/img/svg/octicon-person.svg | 1 + .../assets/img/svg/octicon-pin-slash.svg | 1 + .../public/assets/img/svg/octicon-pin.svg | 1 + .../assets/img/svg/octicon-pivot-column.svg | 1 + .../public/assets/img/svg/octicon-play.svg | 1 + .../public/assets/img/svg/octicon-plug.svg | 1 + .../assets/img/svg/octicon-plus-circle.svg | 1 + .../public/assets/img/svg/octicon-plus.svg | 1 + .../img/svg/octicon-project-roadmap.svg | 1 + .../img/svg/octicon-project-symlink.svg | 1 + .../img/svg/octicon-project-template.svg | 1 + .../public/assets/img/svg/octicon-project.svg | 1 + .../public/assets/img/svg/octicon-pulse.svg | 1 + .../assets/img/svg/octicon-question.svg | 1 + .../public/assets/img/svg/octicon-quote.svg | 1 + .../public/assets/img/svg/octicon-read.svg | 1 + .../public/assets/img/svg/octicon-redo.svg | 1 + .../assets/img/svg/octicon-rel-file-path.svg | 1 + .../public/assets/img/svg/octicon-reply.svg | 1 + .../assets/img/svg/octicon-repo-clone.svg | 1 + .../assets/img/svg/octicon-repo-deleted.svg | 1 + .../assets/img/svg/octicon-repo-forked.svg | 1 + .../assets/img/svg/octicon-repo-locked.svg | 1 + .../assets/img/svg/octicon-repo-pull.svg | 1 + .../assets/img/svg/octicon-repo-push.svg | 1 + .../assets/img/svg/octicon-repo-template.svg | 1 + .../public/assets/img/svg/octicon-repo.svg | 1 + .../public/assets/img/svg/octicon-report.svg | 1 + .../public/assets/img/svg/octicon-rocket.svg | 1 + .../public/assets/img/svg/octicon-rows.svg | 1 + .../public/assets/img/svg/octicon-rss.svg | 1 + .../public/assets/img/svg/octicon-ruby.svg | 1 + .../assets/img/svg/octicon-screen-full.svg | 1 + .../assets/img/svg/octicon-screen-normal.svg | 1 + .../public/assets/img/svg/octicon-search.svg | 1 + .../public/assets/img/svg/octicon-server.svg | 1 + .../assets/img/svg/octicon-share-android.svg | 1 + .../public/assets/img/svg/octicon-share.svg | 1 + .../assets/img/svg/octicon-shield-check.svg | 1 + .../assets/img/svg/octicon-shield-lock.svg | 1 + .../assets/img/svg/octicon-shield-slash.svg | 1 + .../assets/img/svg/octicon-shield-x.svg | 1 + .../public/assets/img/svg/octicon-shield.svg | 1 + .../img/svg/octicon-sidebar-collapse.svg | 1 + .../assets/img/svg/octicon-sidebar-expand.svg | 1 + .../public/assets/img/svg/octicon-sign-in.svg | 1 + .../assets/img/svg/octicon-sign-out.svg | 1 + .../assets/img/svg/octicon-single-select.svg | 1 + .../assets/img/svg/octicon-skip-fill.svg | 1 + .../public/assets/img/svg/octicon-skip.svg | 1 + .../public/assets/img/svg/octicon-sliders.svg | 1 + .../public/assets/img/svg/octicon-smiley.svg | 1 + .../assets/img/svg/octicon-sort-asc.svg | 1 + .../assets/img/svg/octicon-sort-desc.svg | 1 + .../assets/img/svg/octicon-sparkle-fill.svg | 1 + .../assets/img/svg/octicon-sponsor-tiers.svg | 1 + .../assets/img/svg/octicon-square-fill.svg | 1 + .../public/assets/img/svg/octicon-square.svg | 1 + .../assets/img/svg/octicon-squirrel.svg | 1 + .../public/assets/img/svg/octicon-stack.svg | 1 + .../assets/img/svg/octicon-star-fill.svg | 1 + .../public/assets/img/svg/octicon-star.svg | 1 + .../public/assets/img/svg/octicon-stop.svg | 1 + .../assets/img/svg/octicon-stopwatch.svg | 1 + .../assets/img/svg/octicon-strikethrough.svg | 1 + .../public/assets/img/svg/octicon-sun.svg | 1 + .../public/assets/img/svg/octicon-sync.svg | 1 + .../assets/img/svg/octicon-tab-external.svg | 1 + .../public/assets/img/svg/octicon-table.svg | 1 + .../public/assets/img/svg/octicon-tag.svg | 1 + .../assets/img/svg/octicon-tasklist.svg | 1 + .../assets/img/svg/octicon-telescope-fill.svg | 1 + .../assets/img/svg/octicon-telescope.svg | 1 + .../assets/img/svg/octicon-terminal.svg | 1 + .../assets/img/svg/octicon-three-bars.svg | 1 + .../assets/img/svg/octicon-thumbsdown.svg | 1 + .../assets/img/svg/octicon-thumbsup.svg | 1 + .../public/assets/img/svg/octicon-tools.svg | 1 + .../octicon-tracked-by-closed-completed.svg | 1 + .../octicon-tracked-by-closed-not-planned.svg | 1 + .../public/assets/img/svg/octicon-trash.svg | 1 + .../assets/img/svg/octicon-triangle-down.svg | 1 + .../assets/img/svg/octicon-triangle-left.svg | 1 + .../assets/img/svg/octicon-triangle-right.svg | 1 + .../assets/img/svg/octicon-triangle-up.svg | 1 + .../public/assets/img/svg/octicon-trophy.svg | 1 + .../assets/img/svg/octicon-typography.svg | 1 + .../public/assets/img/svg/octicon-undo.svg | 1 + .../public/assets/img/svg/octicon-unfold.svg | 1 + .../public/assets/img/svg/octicon-unlink.svg | 1 + .../public/assets/img/svg/octicon-unlock.svg | 1 + .../public/assets/img/svg/octicon-unmute.svg | 1 + .../public/assets/img/svg/octicon-unread.svg | 1 + .../assets/img/svg/octicon-unverified.svg | 1 + .../public/assets/img/svg/octicon-upload.svg | 1 + .../assets/img/svg/octicon-verified.svg | 1 + .../assets/img/svg/octicon-versions.svg | 1 + .../public/assets/img/svg/octicon-video.svg | 1 + .../public/assets/img/svg/octicon-webhook.svg | 1 + .../assets/img/svg/octicon-workflow.svg | 1 + .../assets/img/svg/octicon-x-circle-fill.svg | 1 + .../assets/img/svg/octicon-x-circle.svg | 1 + .../gitea/public/assets/img/svg/octicon-x.svg | 1 + .../public/assets/img/svg/octicon-zap.svg | 1 + .../public/assets/img/svg/octicon-zoom-in.svg | 1 + .../assets/img/svg/octicon-zoom-out.svg | 1 + data/gitea/public/assets/img/telegram.png | Bin 0 -> 9857 bytes data/gitea/public/assets/img/wechatwork.png | Bin 0 -> 9341 bytes .../public/assets/js/-------.e4740076.js | 7 + data/gitea/public/assets/js/-.2e273c97.js | 493 + .../assets/js/asciinema-player.4c143977.js | 7 + .../assets/js/citation-js-bibtex.53a6f177.js | 11 + ...tion-js-bibtex-citation-js-csl.f6949703.js | 12 + .../assets/js/citation-js-csl.fb93f9bb.js | 50 + .../assets/js/citation-js-formats.63828ec7.js | 33 + .../js/code-frequency-graph.1d2f6f78.js | 1 + .../public/assets/js/colorpicker.de7eb406.js | 1 + ...ncy-graph-recent-commits-graph.eb309961.js | 3 + .../assets/js/contributors-graph.f652150c.js | 3 + .../public/assets/js/dropzone.6ba4ca5d.js | 24 + .../public/assets/js/easymde.0bb18d64.js | 95 + .../assets/js/eventsource.sharedworker.js | 1 + data/gitea/public/assets/js/index.js | 232 + .../public/assets/js/index.js.df4efb37.map | 1 + .../gitea/public/assets/js/katex-.bd7ddd30.js | 261 + data/gitea/public/assets/js/katex.6ad51582.js | 1 + .../js/mcaptcha-vanilla-glue.53a504bd.js | 1 + .../public/assets/js/mermaid.212e9659.js | 88 + .../assets/js/monaco-css.583e8b81.worker.js | 84 + .../js/monaco-editor.afbd84bf.worker.js | 16 + .../assets/js/monaco-html.0d595879.worker.js | 458 + .../assets/js/monaco-json.a6b1ee0c.worker.js | 42 + .../js/monaco-language-abap.9122d2d4.js | 1 + .../js/monaco-language-apex.610c28c9.js | 1 + .../js/monaco-language-azcli.349a5eaa.js | 1 + .../assets/js/monaco-language-bat.2b9476f0.js | 1 + .../js/monaco-language-bicep.3e66fac6.js | 2 + .../js/monaco-language-cameligo.445ed0c7.js | 1 + .../js/monaco-language-clojure.83dc0bbb.js | 1 + .../js/monaco-language-coffee.387d6c21.js | 1 + .../assets/js/monaco-language-cpp.0c19424e.js | 1 + .../js/monaco-language-csharp.b892b441.js | 1 + .../assets/js/monaco-language-csp.57371501.js | 1 + .../assets/js/monaco-language-css.a481ddf7.js | 3 + .../js/monaco-language-cssmode.ba31beff.js | 4 + .../js/monaco-language-cypher.dc7676b2.js | 1 + .../js/monaco-language-dart.57075b92.js | 1 + .../js/monaco-language-dockerfile.f5cfdb39.js | 1 + .../assets/js/monaco-language-ecl.3f530989.js | 1 + .../js/monaco-language-elixir.230a049c.js | 1 + .../js/monaco-language-flow9.305040be.js | 1 + .../monaco-language-freemarker2.897fc90b.js | 3 + .../js/monaco-language-fsharp.cec45f33.js | 1 + .../assets/js/monaco-language-go.94633690.js | 1 + .../js/monaco-language-graphql.fead87e5.js | 1 + .../js/monaco-language-handlebars.7bfbcb54.js | 1 + .../assets/js/monaco-language-hcl.9153a792.js | 1 + .../js/monaco-language-html.c4cc0f74.js | 1 + .../js/monaco-language-htmlmode.fc96be9e.js | 4 + .../assets/js/monaco-language-ini.d260907f.js | 1 + .../js/monaco-language-java.3bfef3f1.js | 1 + .../js/monaco-language-javascript.58403dc3.js | 1 + .../js/monaco-language-jsonmode.d8d06c45.js | 6 + .../js/monaco-language-julia.e8e36d82.js | 1 + .../js/monaco-language-kotlin.f5a8b6c9.js | 1 + .../js/monaco-language-less.e2ca09b9.js | 2 + .../js/monaco-language-lexon.9b6bf990.js | 1 + .../js/monaco-language-liquid.68495fcc.js | 1 + .../assets/js/monaco-language-lua.afaa0d63.js | 1 + .../assets/js/monaco-language-m3.310e9b80.js | 1 + .../js/monaco-language-markdown.d877fedf.js | 1 + .../assets/js/monaco-language-mdx.92d3aecb.js | 1 + .../js/monaco-language-mips.5c681def.js | 1 + .../js/monaco-language-msdax.0817d48f.js | 1 + .../js/monaco-language-mysql.03e98e9e.js | 1 + .../monaco-language-objective-c.18b0cb16.js | 1 + .../js/monaco-language-pascal.cad8a1ef.js | 1 + .../js/monaco-language-pascaligo.a1fc02b4.js | 1 + .../js/monaco-language-perl.223dd050.js | 1 + .../js/monaco-language-pgsql.e8f7d3d9.js | 1 + .../assets/js/monaco-language-php.fa660fa0.js | 1 + .../assets/js/monaco-language-pla.bb335cb7.js | 1 + .../js/monaco-language-postiats.0bd89243.js | 1 + .../js/monaco-language-powerquery.e1cb673c.js | 1 + .../js/monaco-language-powershell.634b742f.js | 1 + .../js/monaco-language-protobuf.1f67a7e8.js | 2 + .../assets/js/monaco-language-pug.b925ebbc.js | 1 + .../js/monaco-language-python.8ff02699.js | 1 + .../js/monaco-language-qsharp.1dfd54e8.js | 1 + .../assets/js/monaco-language-r.4150abff.js | 1 + .../js/monaco-language-razor.2bbd8573.js | 1 + .../js/monaco-language-redis.50d71e38.js | 1 + .../js/monaco-language-redshift.40ae621b.js | 1 + ...naco-language-restructuredtext.a5b7a10c.js | 1 + .../js/monaco-language-ruby.b9af456d.js | 1 + .../js/monaco-language-rust.08ceb3bd.js | 1 + .../assets/js/monaco-language-sb.eddcc78b.js | 1 + .../js/monaco-language-scala.d747eadc.js | 1 + .../js/monaco-language-scheme.5695e5f0.js | 1 + .../js/monaco-language-scss.49341316.js | 3 + .../js/monaco-language-shell.3c9a497d.js | 1 + .../js/monaco-language-solidity.171a3cfd.js | 1 + .../js/monaco-language-sophia.c504660c.js | 1 + .../js/monaco-language-sparql.bb35ba95.js | 1 + .../assets/js/monaco-language-sql.3d1f27ff.js | 1 + .../assets/js/monaco-language-st.75edc68f.js | 1 + .../js/monaco-language-swift.296f74df.js | 1 + .../monaco-language-systemverilog.653c07e2.js | 1 + .../assets/js/monaco-language-tcl.26f77644.js | 1 + .../js/monaco-language-tsmode.22f6dbcc.js | 11 + .../js/monaco-language-twig.b3b1ea2d.js | 1 + .../assets/js/monaco-language-vb.a663f826.js | 1 + .../js/monaco-language-wgsl.4e9ef98a.js | 298 + .../assets/js/monaco-language-xml.6f02f736.js | 1 + .../js/monaco-language-yaml.a175e1de.js | 1 + .../assets/js/monaco-ts.54cae4d2.worker.js | 37008 ++++++++++++++++ .../gitea/public/assets/js/monaco.14c11225.js | 704 + ..._dist_classDiagram-30eddba6_js.c230a2f5.js | 2 + ...st_classDiagram-v2-f2df5561_js.b7b0fb7e.js | 2 + ...ist_flowDiagram-v2-3b53844e_js.3dfd62f6.js | 1 + ...d_dist_infoDiagram-bcd20f53_js.1ec64fb5.js | 7 + ..._dist_stateDiagram-0ff1cf1a_js.b851cca1.js | 1 + ...st_stateDiagram-v2-9a9d610d_js.51365024.js | 1 + .../public/assets/js/pdfobject.5b03fd4e.js | 1 + .../js/recent-commits-graph.32429bd5.js | 1 + .../scoped-access-token-selector.3fc6ff66.js | 1 + .../public/assets/js/sortablejs.deb655b2.js | 2 + data/gitea/public/assets/js/swagger.js | 129 + .../public/assets/js/theme-gitea-auto.js | 1 + ...heme-gitea-dark-protanopia-deuteranopia.js | 1 + .../public/assets/js/theme-gitea-dark.js | 1 + ...eme-gitea-light-protanopia-deuteranopia.js | 1 + .../public/assets/js/theme-gitea-light.js | 1 + .../public/assets/js/tribute.4863e12d.js | 10 + ..._dist_blockDiagram-91b80b7a_js.fba3be75.js | 121 + ...aid_dist_c4Diagram-b2a90758_js.b115d364.js | 10 + ...aid_dist_erDiagram-47591fe2_js.f90a83d1.js | 51 + ...d_dist_flowDiagram-5540d9b9_js.c9dfd7f1.js | 4 + ...art-elk-definition-5fe447d6_js.7f1b5b93.js | 151 + ..._dist_ganttDiagram-9a3bba1f_js.89decf95.js | 257 + ...st_gitGraphDiagram-96e6b4ee_js.11212bda.js | 70 + ...ist_journeyDiagram-4fe6b3dc_js.42462367.js | 139 + ...mindmap-definition-f354de21_js.eab0b8bd.js | 100 + ...id_dist_pieDiagram-79897490_js.25d40358.js | 35 + ...st_quadrantDiagram-62f64e94_js.84bd154b.js | 7 + ...requirementDiagram-05bf5f74_js.f38bab3a.js | 52 + ...dist_sankeyDiagram-97764748_js.6f82a103.js | 8 + ...st_sequenceDiagram-acc0e65c_js.681b559c.js | 122 + ...imeline-definition-fea2a41d_js.617b37de.js | 61 + ...ist_xychartDiagram-ab372869_js.d1abe2d7.js | 7 + data/gitea/public/assets/js/webcomponents.js | 10 + data/gitea/public/assets/licenses.txt | 23676 ++++++++++ data/gitea/templates/admin/actions.tmpl | 10 + .../templates/admin/applications/list.tmpl | 8 + .../admin/applications/oauth2_edit.tmpl | 6 + data/gitea/templates/admin/auth/edit.tmpl | 460 + data/gitea/templates/admin/auth/list.tmpl | 38 + data/gitea/templates/admin/auth/new.tmpl | 122 + .../templates/admin/auth/source/ldap.tmpl | 141 + .../templates/admin/auth/source/oauth.tmpl | 109 + .../templates/admin/auth/source/smtp.tmpl | 59 + .../templates/admin/auth/source/sspi.tmpl | 43 + data/gitea/templates/admin/config.tmpl | 343 + .../templates/admin/config_settings.tmpl | 42 + data/gitea/templates/admin/cron.tmpl | 39 + data/gitea/templates/admin/dashboard.tmpl | 86 + data/gitea/templates/admin/emails/list.tmpl | 98 + data/gitea/templates/admin/hook_new.tmpl | 13 + data/gitea/templates/admin/hooks.tmpl | 9 + data/gitea/templates/admin/layout_footer.tmpl | 11 + data/gitea/templates/admin/layout_head.tmpl | 13 + data/gitea/templates/admin/navbar.tmpl | 116 + data/gitea/templates/admin/notice.tmpl | 68 + data/gitea/templates/admin/org/list.tmpl | 76 + data/gitea/templates/admin/packages/list.tmpl | 96 + data/gitea/templates/admin/queue.tmpl | 36 + data/gitea/templates/admin/queue_manage.tmpl | 61 + data/gitea/templates/admin/repo/list.tmpl | 110 + .../gitea/templates/admin/repo/unadopted.tmpl | 75 + data/gitea/templates/admin/runners/edit.tmpl | 5 + data/gitea/templates/admin/self_check.tmpl | 52 + .../gitea/templates/admin/stacktrace-row.tmpl | 66 + data/gitea/templates/admin/stacktrace.tmpl | 48 + data/gitea/templates/admin/stats.tmpl | 17 + data/gitea/templates/admin/system_status.tmpl | 62 + data/gitea/templates/admin/user/edit.tmpl | 231 + data/gitea/templates/admin/user/list.tmpl | 119 + data/gitea/templates/admin/user/new.tmpl | 90 + data/gitea/templates/admin/user/view.tmpl | 48 + .../templates/admin/user/view_details.tmpl | 74 + .../templates/admin/user/view_emails.tmpl | 19 + .../templates/api/packages/pypi/simple.tmpl | 16 + data/gitea/templates/base/alert.tmpl | 20 + data/gitea/templates/base/alert_details.tmpl | 7 + .../templates/base/disable_form_autofill.tmpl | 31 + data/gitea/templates/base/footer.tmpl | 20 + data/gitea/templates/base/footer_content.tmpl | 37 + data/gitea/templates/base/head.tmpl | 50 + data/gitea/templates/base/head_navbar.tmpl | 221 + data/gitea/templates/base/head_opengraph.tmpl | 47 + data/gitea/templates/base/head_script.tmpl | 50 + data/gitea/templates/base/head_style.tmpl | 2 + .../templates/base/markup_codepreview.tmpl | 25 + .../templates/base/modal_actions_confirm.tmpl | 27 + data/gitea/templates/base/paginate.tmpl | 34 + .../templates/custom/body_inner_post.tmpl | 0 .../templates/custom/body_inner_pre.tmpl | 0 .../templates/custom/body_outer_post.tmpl | 0 .../templates/custom/body_outer_pre.tmpl | 0 data/gitea/templates/custom/extra_links.tmpl | 0 .../templates/custom/extra_links_footer.tmpl | 0 data/gitea/templates/custom/extra_tabs.tmpl | 0 data/gitea/templates/custom/footer.tmpl | 0 data/gitea/templates/custom/header.tmpl | 0 .../gitea/templates/devtest/fetch-action.tmpl | 44 + data/gitea/templates/devtest/flex-list.tmpl | 115 + .../templates/devtest/fomantic-dropdown.tmpl | 109 + .../templates/devtest/fomantic-modal.tmpl | 73 + data/gitea/templates/devtest/gitea-ui.tmpl | 207 + data/gitea/templates/devtest/label.tmpl | 27 + data/gitea/templates/devtest/list.tmpl | 15 + data/gitea/templates/devtest/tmplerr-sub.tmpl | 3 + data/gitea/templates/devtest/tmplerr.tmpl | 12 + data/gitea/templates/explore/code.tmpl | 8 + data/gitea/templates/explore/navbar.tmpl | 24 + data/gitea/templates/explore/repo_list.tmpl | 71 + data/gitea/templates/explore/repos.tmpl | 16 + data/gitea/templates/explore/search.tmpl | 23 + data/gitea/templates/explore/user_list.tmpl | 33 + data/gitea/templates/explore/users.tmpl | 10 + data/gitea/templates/home.tmpl | 95 + data/gitea/templates/install.tmpl | 353 + data/gitea/templates/mail/auth/activate.tmpl | 17 + .../templates/mail/auth/activate_email.tmpl | 17 + .../templates/mail/auth/register_notify.tmpl | 18 + .../templates/mail/auth/reset_passwd.tmpl | 17 + data/gitea/templates/mail/issue/assigned.tmpl | 29 + data/gitea/templates/mail/issue/default.tmpl | 91 + .../templates/mail/notify/collaborator.tmpl | 21 + .../templates/mail/notify/repo_transfer.tmpl | 19 + data/gitea/templates/mail/release.tmpl | 61 + data/gitea/templates/mail/team_invite.tmpl | 15 + data/gitea/templates/org/create.tmpl | 57 + data/gitea/templates/org/follow_unfollow.tmpl | 7 + data/gitea/templates/org/header.tmpl | 32 + data/gitea/templates/org/home.tmpl | 68 + data/gitea/templates/org/member/members.tmpl | 90 + data/gitea/templates/org/menu.tmpl | 50 + data/gitea/templates/org/projects/list.tmpl | 24 + data/gitea/templates/org/projects/new.tmpl | 9 + data/gitea/templates/org/projects/view.tmpl | 11 + .../gitea/templates/org/settings/actions.tmpl | 11 + .../templates/org/settings/applications.tmpl | 9 + .../settings/applications_oauth2_edit.tmpl | 5 + .../templates/org/settings/blocked_users.tmpl | 5 + data/gitea/templates/org/settings/delete.tmpl | 35 + .../templates/org/settings/hook_new.tmpl | 7 + data/gitea/templates/org/settings/hooks.tmpl | 5 + data/gitea/templates/org/settings/labels.tmpl | 15 + .../templates/org/settings/layout_footer.tmpl | 11 + .../templates/org/settings/layout_head.tmpl | 14 + data/gitea/templates/org/settings/navbar.tmpl | 48 + .../gitea/templates/org/settings/options.tmpl | 102 + .../templates/org/settings/packages.tmpl | 6 + .../settings/packages_cleanup_rules_edit.tmpl | 5 + .../packages_cleanup_rules_preview.tmpl | 5 + .../templates/org/settings/runners_edit.tmpl | 5 + data/gitea/templates/org/team/invite.tmpl | 23 + data/gitea/templates/org/team/members.tmpl | 88 + data/gitea/templates/org/team/navbar.tmpl | 4 + data/gitea/templates/org/team/new.tmpl | 161 + .../templates/org/team/repositories.tmpl | 61 + data/gitea/templates/org/team/sidebar.tmpl | 94 + data/gitea/templates/org/team/teams.tmpl | 56 + .../templates/package/content/alpine.tmpl | 52 + .../templates/package/content/cargo.tmpl | 63 + .../gitea/templates/package/content/chef.tmpl | 48 + .../templates/package/content/composer.tmpl | 50 + .../content/composer_dependencies.tmpl | 19 + .../templates/package/content/conan.tmpl | 34 + .../templates/package/content/conda.tmpl | 30 + .../templates/package/content/container.tmpl | 90 + .../gitea/templates/package/content/cran.tmpl | 59 + .../templates/package/content/debian.tmpl | 65 + .../templates/package/content/generic.tmpl | 18 + data/gitea/templates/package/content/go.tmpl | 14 + .../gitea/templates/package/content/helm.tmpl | 57 + .../templates/package/content/maven.tmpl | 75 + data/gitea/templates/package/content/npm.tmpl | 56 + .../package/content/npm_dependencies.tmpl | 19 + .../templates/package/content/nuget.tmpl | 51 + data/gitea/templates/package/content/pub.tmpl | 19 + .../gitea/templates/package/content/pypi.tmpl | 31 + data/gitea/templates/package/content/rpm.tmpl | 56 + .../templates/package/content/rubygems.tmpl | 40 + .../content/rubygems_dependencies.tmpl | 19 + .../templates/package/content/swift.tmpl | 40 + .../templates/package/content/vagrant.tmpl | 18 + .../templates/package/metadata/alpine.tmpl | 5 + .../templates/package/metadata/cargo.tmpl | 7 + .../templates/package/metadata/chef.tmpl | 5 + .../templates/package/metadata/composer.tmpl | 5 + .../templates/package/metadata/conan.tmpl | 6 + .../templates/package/metadata/conda.tmpl | 6 + .../templates/package/metadata/container.tmpl | 9 + .../templates/package/metadata/cran.tmpl | 5 + .../templates/package/metadata/debian.tmpl | 4 + .../templates/package/metadata/generic.tmpl | 0 .../templates/package/metadata/helm.tmpl | 4 + .../templates/package/metadata/maven.tmpl | 8 + .../gitea/templates/package/metadata/npm.tmpl | 8 + .../templates/package/metadata/nuget.tmpl | 5 + .../gitea/templates/package/metadata/pub.tmpl | 5 + .../templates/package/metadata/pypi.tmpl | 5 + .../gitea/templates/package/metadata/rpm.tmpl | 4 + .../templates/package/metadata/rubygems.tmpl | 5 + .../templates/package/metadata/swift.tmpl | 4 + .../templates/package/metadata/vagrant.tmpl | 5 + data/gitea/templates/package/settings.tmpl | 77 + .../gitea/templates/package/shared/cargo.tmpl | 24 + .../package/shared/cleanup_rules/edit.tmpl | 73 + .../package/shared/cleanup_rules/list.tmpl | 56 + .../package/shared/cleanup_rules/preview.tmpl | 34 + data/gitea/templates/package/shared/list.tmpl | 57 + .../templates/package/shared/versionlist.tmpl | 37 + data/gitea/templates/package/view.tmpl | 114 + data/gitea/templates/post-install.tmpl | 24 + data/gitea/templates/projects/list.tmpl | 93 + data/gitea/templates/projects/new.tmpl | 66 + data/gitea/templates/projects/view.tmpl | 176 + data/gitea/templates/repo/actions/list.tmpl | 87 + .../templates/repo/actions/no_workflows.tmpl | 8 + .../templates/repo/actions/runs_list.tmpl | 43 + data/gitea/templates/repo/actions/status.tmpl | 29 + data/gitea/templates/repo/actions/view.tmpl | 34 + data/gitea/templates/repo/activity.tmpl | 17 + data/gitea/templates/repo/blame.tmpl | 90 + data/gitea/templates/repo/branch/list.tmpl | 256 + .../gitea/templates/repo/branch_dropdown.tmpl | 89 + .../templates/repo/cite/cite_buttons.tmpl | 11 + .../gitea/templates/repo/cite/cite_modal.tmpl | 20 + data/gitea/templates/repo/clone_buttons.tmpl | 15 + data/gitea/templates/repo/clone_script.tmpl | 50 + .../code/recently_pushed_new_branches.tmpl | 12 + data/gitea/templates/repo/code_frequency.tmpl | 9 + .../repo/commit_load_branches_and_tags.tmpl | 20 + data/gitea/templates/repo/commit_page.tmpl | 285 + data/gitea/templates/repo/commit_status.tmpl | 16 + .../gitea/templates/repo/commit_statuses.tmpl | 14 + data/gitea/templates/repo/commits.tmpl | 18 + data/gitea/templates/repo/commits_list.tmpl | 93 + .../templates/repo/commits_list_small.tmpl | 55 + .../repo/commits_search_dropdown.tmpl | 8 + data/gitea/templates/repo/commits_table.tmpl | 36 + data/gitea/templates/repo/contributors.tmpl | 14 + data/gitea/templates/repo/create.tmpl | 221 + data/gitea/templates/repo/create_helper.tmpl | 3 + .../templates/repo/diff/blob_excerpt.tmpl | 82 + data/gitea/templates/repo/diff/box.tmpl | 261 + .../templates/repo/diff/comment_form.tmpl | 49 + .../repo/diff/comment_form_datahandler.tmpl | 7 + data/gitea/templates/repo/diff/comments.tmpl | 75 + data/gitea/templates/repo/diff/compare.tmpl | 230 + .../templates/repo/diff/conversation.tmpl | 72 + .../repo/diff/conversation_outdated.tmpl | 3 + data/gitea/templates/repo/diff/csv_diff.tmpl | 58 + .../templates/repo/diff/escape_title.tmpl | 2 + .../gitea/templates/repo/diff/image_diff.tmpl | 83 + .../templates/repo/diff/new_comment.tmpl | 5 + .../gitea/templates/repo/diff/new_review.tmpl | 56 + .../templates/repo/diff/options_dropdown.tmpl | 33 + .../templates/repo/diff/section_code.tmpl | 1 + .../templates/repo/diff/section_split.tmpl | 157 + .../templates/repo/diff/section_unified.tmpl | 73 + data/gitea/templates/repo/diff/stats.tmpl | 5 + .../repo/diff/whitespace_dropdown.tmpl | 30 + .../templates/repo/editor/cherry_pick.tmpl | 30 + .../templates/repo/editor/commit_form.tmpl | 74 + data/gitea/templates/repo/editor/delete.tmpl | 13 + .../templates/repo/editor/diff_preview.tmpl | 17 + data/gitea/templates/repo/editor/edit.tmpl | 78 + data/gitea/templates/repo/editor/patch.tmpl | 57 + data/gitea/templates/repo/editor/upload.tmpl | 33 + data/gitea/templates/repo/empty.tmpl | 82 + data/gitea/templates/repo/file_info.tmpl | 48 + data/gitea/templates/repo/find/files.tmpl | 21 + data/gitea/templates/repo/forks.tmpl | 18 + data/gitea/templates/repo/graph.tmpl | 62 + data/gitea/templates/repo/graph/commits.tmpl | 79 + data/gitea/templates/repo/graph/div.tmpl | 7 + .../templates/repo/graph/svgcontainer.tmpl | 24 + data/gitea/templates/repo/header.tmpl | 222 + data/gitea/templates/repo/home.tmpl | 177 + data/gitea/templates/repo/icon.tmpl | 10 + .../repo/issue/branch_selector_field.tmpl | 49 + data/gitea/templates/repo/issue/card.tmpl | 78 + data/gitea/templates/repo/issue/choose.tmpl | 59 + .../templates/repo/issue/comment_tab.tmpl | 21 + .../repo/issue/fields/checkboxes.tmpl | 14 + .../templates/repo/issue/fields/dropdown.tmpl | 17 + .../templates/repo/issue/fields/header.tmpl | 6 + .../templates/repo/issue/fields/input.tmpl | 4 + .../templates/repo/issue/fields/markdown.tmpl | 3 + .../templates/repo/issue/fields/textarea.tmpl | 24 + .../templates/repo/issue/filter_actions.tmpl | 128 + .../templates/repo/issue/filter_list.tmpl | 206 + data/gitea/templates/repo/issue/filters.tmpl | 26 + .../templates/repo/issue/label_precolors.tmpl | 22 + data/gitea/templates/repo/issue/labels.tmpl | 22 + .../repo/issue/labels/edit_delete_label.tmpl | 72 + .../templates/repo/issue/labels/label.tmpl | 7 + .../repo/issue/labels/label_archived.tmpl | 5 + .../repo/issue/labels/label_list.tmpl | 86 + .../issue/labels/label_load_template.tmpl | 21 + .../repo/issue/labels/label_new.tmpl | 48 + .../issue/labels/labels_selector_field.tmpl | 46 + .../repo/issue/labels/labels_sidebar.tmpl | 11 + data/gitea/templates/repo/issue/list.tmpl | 55 + .../repo/issue/milestone/filter_list.tmpl | 15 + .../repo/issue/milestone/select_menu.tmpl | 38 + .../repo/issue/milestone_issues.tmpl | 65 + .../templates/repo/issue/milestone_new.tmpl | 59 + .../templates/repo/issue/milestones.tmpl | 108 + data/gitea/templates/repo/issue/navbar.tmpl | 4 + data/gitea/templates/repo/issue/new.tmpl | 8 + data/gitea/templates/repo/issue/new_form.tmpl | 190 + .../gitea/templates/repo/issue/openclose.tmpl | 16 + data/gitea/templates/repo/issue/search.tmpl | 18 + data/gitea/templates/repo/issue/view.tmpl | 12 + .../templates/repo/issue/view_content.tmpl | 190 + .../repo/issue/view_content/add_reaction.tmpl | 10 + .../repo/issue/view_content/attachments.tmpl | 42 + .../repo/issue/view_content/comments.tmpl | 691 + .../view_content/comments_authorlink.tmpl | 11 + .../view_content/comments_delete_time.tmpl | 18 + .../repo/issue/view_content/context_menu.tmpl | 44 + .../repo/issue/view_content/conversation.tmpl | 143 + .../repo/issue/view_content/pull.tmpl | 396 + .../view_content/pull_merge_instruction.tmpl | 49 + .../repo/issue/view_content/reactions.tmpl | 17 + .../view_content/reference_issue_dialog.tmpl | 28 + .../repo/issue/view_content/show_role.tmpl | 10 + .../repo/issue/view_content/sidebar.tmpl | 691 + .../view_content/update_branch_by_merge.tmpl | 37 + .../repo/issue/view_content/watching.tmpl | 12 + .../templates/repo/issue/view_title.tmpl | 124 + data/gitea/templates/repo/latest_commit.tmpl | 31 + .../templates/repo/migrate/codebase.tmpl | 116 + data/gitea/templates/repo/migrate/git.tmpl | 90 + .../templates/repo/migrate/gitbucket.tmpl | 132 + data/gitea/templates/repo/migrate/gitea.tmpl | 128 + data/gitea/templates/repo/migrate/github.tmpl | 130 + data/gitea/templates/repo/migrate/gitlab.tmpl | 127 + data/gitea/templates/repo/migrate/gogs.tmpl | 130 + data/gitea/templates/repo/migrate/helper.tmpl | 0 .../gitea/templates/repo/migrate/migrate.tmpl | 32 + .../templates/repo/migrate/migrating.tmpl | 101 + data/gitea/templates/repo/migrate/onedev.tmpl | 116 + .../gitea/templates/repo/migrate/options.tmpl | 26 + data/gitea/templates/repo/navbar.tmpl | 14 + data/gitea/templates/repo/packages.tmpl | 8 + data/gitea/templates/repo/projects/list.tmpl | 8 + data/gitea/templates/repo/projects/new.tmpl | 8 + data/gitea/templates/repo/projects/view.tmpl | 15 + data/gitea/templates/repo/pulls/commits.tmpl | 10 + data/gitea/templates/repo/pulls/files.tmpl | 14 + data/gitea/templates/repo/pulls/fork.tmpl | 90 + data/gitea/templates/repo/pulls/status.tmpl | 59 + data/gitea/templates/repo/pulls/tab_menu.tmpl | 28 + data/gitea/templates/repo/pulse.tmpl | 231 + data/gitea/templates/repo/recent_commits.tmpl | 9 + data/gitea/templates/repo/release/list.tmpl | 114 + data/gitea/templates/repo/release/new.tmpl | 150 + .../templates/repo/release_tag_header.tmpl | 29 + data/gitea/templates/repo/search.tmpl | 8 + data/gitea/templates/repo/search_name.tmpl | 1 + .../templates/repo/settings/actions.tmpl | 11 + .../templates/repo/settings/branches.tmpl | 76 + .../repo/settings/collaboration.tmpl | 117 + .../templates/repo/settings/deploy_keys.tmpl | 86 + .../templates/repo/settings/githook_edit.tmpl | 27 + .../templates/repo/settings/githooks.tmpl | 23 + .../repo/settings/layout_footer.tmpl | 11 + .../templates/repo/settings/layout_head.tmpl | 14 + data/gitea/templates/repo/settings/lfs.tmpl | 53 + .../templates/repo/settings/lfs_file.tmpl | 55 + .../repo/settings/lfs_file_find.tmpl | 46 + .../templates/repo/settings/lfs_locks.tmpl | 56 + .../templates/repo/settings/lfs_pointers.tmpl | 56 + .../gitea/templates/repo/settings/navbar.tmpl | 53 + .../templates/repo/settings/options.tmpl | 1077 + .../repo/settings/protected_branch.tmpl | 271 + .../repo/settings/push_mirror_sync_modal.tmpl | 32 + .../templates/repo/settings/runner_edit.tmpl | 5 + .../templates/repo/settings/secrets.tmpl | 5 + data/gitea/templates/repo/settings/tags.tmpl | 126 + .../templates/repo/settings/webhook/base.tmpl | 5 + .../repo/settings/webhook/base_list.tmpl | 26 + .../repo/settings/webhook/delete_modal.tmpl | 10 + .../repo/settings/webhook/dingtalk.tmpl | 11 + .../repo/settings/webhook/discord.tmpl | 19 + .../repo/settings/webhook/feishu.tmpl | 12 + .../repo/settings/webhook/gitea.tmpl | 40 + .../templates/repo/settings/webhook/gogs.tmpl | 28 + .../repo/settings/webhook/history.tmpl | 92 + .../repo/settings/webhook/link_menu.tmpl | 50 + .../templates/repo/settings/webhook/list.tmpl | 4 + .../repo/settings/webhook/matrix.tmpl | 27 + .../repo/settings/webhook/msteams.tmpl | 11 + .../templates/repo/settings/webhook/new.tmpl | 7 + .../repo/settings/webhook/packagist.tmpl | 19 + .../repo/settings/webhook/settings.tmpl | 288 + .../repo/settings/webhook/slack.tmpl | 28 + .../repo/settings/webhook/telegram.tmpl | 19 + .../repo/settings/webhook/wechatwork.tmpl | 11 + data/gitea/templates/repo/shabox_badge.tmpl | 15 + data/gitea/templates/repo/star_unstar.tmpl | 13 + data/gitea/templates/repo/sub_menu.tmpl | 46 + data/gitea/templates/repo/tag/list.tmpl | 80 + .../templates/repo/unicode_escape_prompt.tmpl | 22 + data/gitea/templates/repo/upload.tmpl | 15 + data/gitea/templates/repo/user_cards.tmpl | 29 + data/gitea/templates/repo/view_file.tmpl | 151 + data/gitea/templates/repo/view_list.tmpl | 74 + data/gitea/templates/repo/watch_unwatch.tmpl | 13 + data/gitea/templates/repo/watchers.tmpl | 8 + data/gitea/templates/repo/wiki/new.tmpl | 45 + data/gitea/templates/repo/wiki/pages.tmpl | 31 + data/gitea/templates/repo/wiki/revision.tmpl | 40 + data/gitea/templates/repo/wiki/start.tmpl | 15 + data/gitea/templates/repo/wiki/view.tmpl | 115 + .../shared/actions/runner_badge.tmpl | 25 + .../templates/shared/actions/runner_edit.tmpl | 96 + .../templates/shared/actions/runner_list.tmpl | 95 + .../templates/shared/combomarkdowneditor.tmpl | 59 + data/gitea/templates/shared/filetoolarge.tmpl | 4 + data/gitea/templates/shared/issueicon.tmpl | 25 + data/gitea/templates/shared/issuelist.tmpl | 163 + .../gitea/templates/shared/misc/tabtitle.tmpl | 1 + data/gitea/templates/shared/repo_search.tmpl | 64 + .../gitea/templates/shared/search/button.tmpl | 3 + .../templates/shared/search/code/results.tmpl | 36 + .../templates/shared/search/code/search.tmpl | 22 + data/gitea/templates/shared/search/combo.tmpl | 8 + .../templates/shared/search/combo_fuzzy.tmpl | 10 + data/gitea/templates/shared/search/fuzzy.tmpl | 10 + data/gitea/templates/shared/search/input.tmpl | 4 + data/gitea/templates/shared/searchbottom.tmpl | 14 + data/gitea/templates/shared/searchfile.tmpl | 14 + .../templates/shared/secrets/add_list.tmpl | 81 + .../templates/shared/user/authorlink.tmpl | 1 + .../templates/shared/user/avatarlink.tmpl | 1 + .../shared/user/block_user_dialog.tmpl | 23 + .../templates/shared/user/blocked_users.tmpl | 83 + data/gitea/templates/shared/user/name.tmpl | 1 + .../gitea/templates/shared/user/namelink.tmpl | 1 + .../shared/user/org_profile_avatar.tmpl | 16 + .../shared/user/profile_big_avatar.tmpl | 143 + .../shared/variables/variable_list.tmpl | 92 + data/gitea/templates/shared/webhook/icon.tmpl | 27 + data/gitea/templates/status/404.tmpl | 10 + data/gitea/templates/status/500.tmpl | 68 + data/gitea/templates/swagger/ui.tmpl | 12 + data/gitea/templates/swagger/v1_json.tmpl | 25728 +++++++++++ data/gitea/templates/user/auth/activate.tmpl | 40 + .../templates/user/auth/activate_prompt.tmpl | 15 + data/gitea/templates/user/auth/captcha.tmpl | 30 + .../templates/user/auth/change_passwd.tmpl | 7 + .../user/auth/change_passwd_inner.tmpl | 22 + .../templates/user/auth/finalize_openid.tmpl | 47 + .../templates/user/auth/forgot_passwd.tmpl | 39 + data/gitea/templates/user/auth/grant.tmpl | 33 + .../templates/user/auth/grant_error.tmpl | 16 + .../templates/user/auth/link_account.tmpl | 31 + .../templates/user/auth/oidc_wellknown.tmpl | 49 + .../templates/user/auth/prohibit_login.tmpl | 16 + .../templates/user/auth/reset_passwd.tmpl | 65 + data/gitea/templates/user/auth/signin.tmpl | 10 + .../templates/user/auth/signin_inner.tmpl | 70 + .../templates/user/auth/signin_navbar.tmpl | 24 + .../templates/user/auth/signin_openid.tmpl | 36 + data/gitea/templates/user/auth/signup.tmpl | 8 + .../templates/user/auth/signup_inner.tmpl | 76 + .../user/auth/signup_openid_connect.tmpl | 36 + .../user/auth/signup_openid_navbar.tmpl | 12 + .../user/auth/signup_openid_register.tmpl | 37 + data/gitea/templates/user/auth/twofa.tmpl | 26 + .../templates/user/auth/twofa_scratch.tmpl | 25 + data/gitea/templates/user/auth/webauthn.tmpl | 25 + .../templates/user/auth/webauthn_error.tmpl | 13 + data/gitea/templates/user/code.tmpl | 24 + .../templates/user/dashboard/dashboard.tmpl | 13 + .../gitea/templates/user/dashboard/feeds.tmpl | 127 + .../templates/user/dashboard/issues.tmpl | 80 + .../templates/user/dashboard/milestones.tmpl | 154 + .../templates/user/dashboard/navbar.tmpl | 107 + .../templates/user/dashboard/repolist.tmpl | 59 + data/gitea/templates/user/heatmap.tmpl | 10 + .../user/notification/notification.tmpl | 3 + .../user/notification/notification_div.tmpl | 125 + .../notification_subscriptions.tmpl | 79 + .../gitea/templates/user/overview/header.tmpl | 50 + .../user/overview/package_versions.tmpl | 24 + .../templates/user/overview/packages.tmpl | 24 + data/gitea/templates/user/profile.tmpl | 39 + .../templates/user/settings/account.tmpl | 180 + .../templates/user/settings/actions.tmpl | 12 + .../templates/user/settings/appearance.tmpl | 157 + .../templates/user/settings/applications.tmpl | 115 + .../user/settings/applications_oauth2.tmpl | 6 + .../settings/applications_oauth2_edit.tmpl | 6 + .../applications_oauth2_edit_form.tmpl | 54 + .../settings/applications_oauth2_list.tmpl | 74 + .../user/settings/blocked_users.tmpl | 5 + .../user/settings/grants_oauth2.tmpl | 40 + .../templates/user/settings/hook_new.tmpl | 7 + data/gitea/templates/user/settings/hooks.tmpl | 5 + data/gitea/templates/user/settings/keys.tmpl | 11 + .../templates/user/settings/keys_gpg.tmpl | 123 + .../user/settings/keys_principal.tmpl | 69 + .../templates/user/settings/keys_ssh.tmpl | 111 + .../user/settings/layout_footer.tmpl | 11 + .../templates/user/settings/layout_head.tmpl | 13 + .../gitea/templates/user/settings/navbar.tmpl | 58 + .../templates/user/settings/organization.tmpl | 55 + .../templates/user/settings/packages.tmpl | 24 + .../settings/packages_cleanup_rules_edit.tmpl | 5 + .../packages_cleanup_rules_preview.tmpl | 5 + .../templates/user/settings/profile.tmpl | 134 + data/gitea/templates/user/settings/repos.tmpl | 130 + .../templates/user/settings/runner_edit.tmpl | 5 + .../user/settings/security/accountlinks.tmpl | 62 + .../user/settings/security/openid.tmpl | 63 + .../user/settings/security/security.tmpl | 11 + .../user/settings/security/twofa.tmpl | 37 + .../user/settings/security/twofa_enroll.tmpl | 25 + .../user/settings/security/webauthn.tmpl | 43 + data/gitea/templates/webhook/new.tmpl | 25 + docker-compose.yaml | 23 + 1077 files changed, 117733 insertions(+) create mode 100644 data/gitea/public/.well-known/security.txt create mode 100644 data/gitea/public/assets/css/asciinema-player.dd36a08e.css create mode 100644 data/gitea/public/assets/css/code-frequency-graph.55afbe7d.css create mode 100644 data/gitea/public/assets/css/colorpicker.ec78e358.css create mode 100644 data/gitea/public/assets/css/contributors-graph.66f42f73.css create mode 100644 data/gitea/public/assets/css/dropzone.5a752d14.css create mode 100644 data/gitea/public/assets/css/index.css create mode 100644 data/gitea/public/assets/css/katex.fb6ef55c.css create mode 100644 data/gitea/public/assets/css/monaco.a3a0a182.css create mode 100644 data/gitea/public/assets/css/recent-commits-graph.45c55234.css create mode 100644 data/gitea/public/assets/css/swagger.css create mode 100644 data/gitea/public/assets/css/theme-gitea-auto.css create mode 100644 data/gitea/public/assets/css/theme-gitea-dark-protanopia-deuteranopia.css create mode 100644 data/gitea/public/assets/css/theme-gitea-dark.css create mode 100644 data/gitea/public/assets/css/theme-gitea-light-protanopia-deuteranopia.css create mode 100644 data/gitea/public/assets/css/theme-gitea-light.css create mode 100644 data/gitea/public/assets/fonts/KaTeX_AMS-Regular.73ea273a.woff2 create mode 100644 data/gitea/public/assets/fonts/KaTeX_Caligraphic-Bold.a1abf90d.woff2 create mode 100644 data/gitea/public/assets/fonts/KaTeX_Caligraphic-Regular.d6484fce.woff2 create mode 100644 data/gitea/public/assets/fonts/KaTeX_Fraktur-Bold.931d67ea.woff2 create mode 100644 data/gitea/public/assets/fonts/KaTeX_Fraktur-Regular.172d3529.woff2 create mode 100644 data/gitea/public/assets/fonts/KaTeX_Main-Bold.39890742.woff2 create mode 100644 data/gitea/public/assets/fonts/KaTeX_Main-BoldItalic.20f389c4.woff2 create mode 100644 data/gitea/public/assets/fonts/KaTeX_Main-Italic.fe2176f7.woff2 create mode 100644 data/gitea/public/assets/fonts/KaTeX_Main-Regular.f650f111.woff2 create mode 100644 data/gitea/public/assets/fonts/KaTeX_Math-BoldItalic.dcbcbd93.woff2 create mode 100644 data/gitea/public/assets/fonts/KaTeX_Math-Italic.6d3d25f4.woff2 create mode 100644 data/gitea/public/assets/fonts/KaTeX_SansSerif-Bold.95591a92.woff2 create mode 100644 data/gitea/public/assets/fonts/KaTeX_SansSerif-Italic.7d393d38.woff2 create mode 100644 data/gitea/public/assets/fonts/KaTeX_SansSerif-Regular.cd5e231e.woff2 create mode 100644 data/gitea/public/assets/fonts/KaTeX_Script-Regular.c81d1b2a.woff2 create mode 100644 data/gitea/public/assets/fonts/KaTeX_Size1-Regular.6eec866c.woff2 create mode 100644 data/gitea/public/assets/fonts/KaTeX_Size2-Regular.2960900c.woff2 create mode 100644 data/gitea/public/assets/fonts/KaTeX_Size3-Regular.e1951519.woff2 create mode 100644 data/gitea/public/assets/fonts/KaTeX_Size4-Regular.e418bf25.woff2 create mode 100644 data/gitea/public/assets/fonts/KaTeX_Typewriter-Regular.c295e7f7.woff2 create mode 100644 data/gitea/public/assets/fonts/codicon.762fced4.ttf create mode 100644 data/gitea/public/assets/img/404.png create mode 100644 data/gitea/public/assets/img/500.png create mode 100644 data/gitea/public/assets/img/apple-touch-icon.png create mode 100644 data/gitea/public/assets/img/avatar_default.png create mode 100644 data/gitea/public/assets/img/checkmark.png create mode 100644 data/gitea/public/assets/img/dingtalk.ico create mode 100644 data/gitea/public/assets/img/discord.png create mode 100644 data/gitea/public/assets/img/emoji/codeberg.png create mode 100644 data/gitea/public/assets/img/emoji/git.png create mode 100644 data/gitea/public/assets/img/emoji/gitea.png create mode 100644 data/gitea/public/assets/img/emoji/github.png create mode 100644 data/gitea/public/assets/img/emoji/gitlab.png create mode 100644 data/gitea/public/assets/img/emoji/gogs.png create mode 100644 data/gitea/public/assets/img/failed.png create mode 100644 data/gitea/public/assets/img/favicon.png create mode 100644 data/gitea/public/assets/img/favicon.svg create mode 100644 data/gitea/public/assets/img/feishu.png create mode 100644 data/gitea/public/assets/img/gitea.svg create mode 100644 data/gitea/public/assets/img/gogs.ico create mode 100644 data/gitea/public/assets/img/loading.png create mode 100644 data/gitea/public/assets/img/logo.png create mode 100644 data/gitea/public/assets/img/logo.svg create mode 100644 data/gitea/public/assets/img/msteams.png create mode 100644 data/gitea/public/assets/img/openid-16x16.png create mode 100644 data/gitea/public/assets/img/packagist.png create mode 100644 data/gitea/public/assets/img/repo_default.png create mode 100644 data/gitea/public/assets/img/slack.png create mode 100644 data/gitea/public/assets/img/svg/fontawesome-openid.svg create mode 100644 data/gitea/public/assets/img/svg/fontawesome-save.svg create mode 100644 data/gitea/public/assets/img/svg/fontawesome-send.svg create mode 100644 data/gitea/public/assets/img/svg/fontawesome-windows.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-alpine.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-azuread.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-azureadv2.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-bitbucket.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-cargo.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-chef.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-codebase.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-composer.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-conan.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-conda.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-cran.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-debian.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-discord.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-double-chevron-left.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-double-chevron-right.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-dropbox.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-empty-checkbox.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-exclamation.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-facebook.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-git.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-gitbucket.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-gitea.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-gitlab.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-go.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-gogs.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-google.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-helm.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-jetbrains.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-join.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-lock-cog.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-lock.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-mastodon.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-matrix.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-maven.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-microsoftonline.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-nextcloud.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-npm.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-nuget.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-onedev.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-openid.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-pub.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-python.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-rpm.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-rubygems.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-split.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-swift.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-twitter.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-unlock.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-vagrant.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-vscode.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-vscodium.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-whitespace.svg create mode 100644 data/gitea/public/assets/img/svg/gitea-yandex.svg create mode 100644 data/gitea/public/assets/img/svg/material-invert-colors.svg create mode 100644 data/gitea/public/assets/img/svg/material-palette.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-accessibility-inset.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-accessibility.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-alert-fill.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-alert.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-apps.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-archive.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-arrow-both.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-arrow-down-left.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-arrow-down-right.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-arrow-down.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-arrow-left.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-arrow-right.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-arrow-switch.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-arrow-up-left.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-arrow-up-right.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-arrow-up.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-beaker.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-bell-fill.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-bell-slash.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-bell.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-blocked.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-bold.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-book.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-bookmark-slash.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-bookmark.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-briefcase.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-broadcast.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-browser.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-bug.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-cache.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-calendar.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-check-circle-fill.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-check-circle.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-check.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-checkbox.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-checklist.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-chevron-down.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-chevron-left.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-chevron-right.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-chevron-up.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-circle-slash.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-circle.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-clock-fill.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-clock.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-cloud-offline.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-cloud.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-code-of-conduct.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-code-review.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-code-square.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-code.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-codescan-checkmark.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-codescan.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-codespaces.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-columns.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-command-palette.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-comment-discussion.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-comment.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-container.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-copilot-error.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-copilot-warning.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-copilot.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-copy.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-cpu.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-credit-card.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-cross-reference.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-dash.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-database.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-dependabot.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-desktop-download.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-device-camera-video.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-device-camera.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-device-desktop.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-device-mobile.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-devices.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-diamond.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-diff-added.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-diff-ignored.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-diff-modified.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-diff-removed.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-diff-renamed.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-diff.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-discussion-closed.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-discussion-duplicate.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-discussion-outdated.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-dot-fill.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-dot.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-download.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-duplicate.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-ellipsis.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-eye-closed.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-eye.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-feed-discussion.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-feed-forked.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-feed-heart.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-feed-issue-closed.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-feed-issue-draft.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-feed-issue-open.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-feed-issue-reopen.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-feed-merged.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-feed-person.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-feed-plus.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-feed-public.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-feed-pull-request-closed.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-feed-pull-request-draft.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-feed-pull-request-open.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-feed-repo.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-feed-rocket.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-feed-star.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-feed-tag.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-feed-trophy.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-file-added.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-file-badge.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-file-binary.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-file-code.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-file-diff.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-file-directory-fill.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-file-directory-open-fill.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-file-directory-symlink.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-file-directory.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-file-moved.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-file-removed.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-file-submodule.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-file-symlink-file.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-file-zip.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-file.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-filter-remove.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-filter.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-fiscal-host.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-flame.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-fold-down.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-fold-up.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-fold.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-gear.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-gift.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-git-branch.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-git-commit.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-git-compare.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-git-merge-queue.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-git-merge.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-git-pull-request-closed.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-git-pull-request-draft.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-git-pull-request.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-globe.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-goal.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-grabber.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-graph.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-hash.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-heading.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-heart-fill.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-heart.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-history.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-home.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-horizontal-rule.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-hourglass.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-hubot.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-id-badge.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-image.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-inbox.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-infinity.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-info.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-issue-closed.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-issue-draft.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-issue-opened.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-issue-reopened.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-issue-tracked-by.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-issue-tracks.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-italic.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-iterations.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-kebab-horizontal.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-key-asterisk.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-key.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-law.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-light-bulb.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-link-external.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-link.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-list-ordered.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-list-unordered.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-location.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-lock.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-log.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-logo-gist.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-logo-github.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-mail.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-mark-github.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-markdown.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-megaphone.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-mention.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-meter.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-milestone.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-mirror.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-moon.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-mortar-board.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-move-to-bottom.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-move-to-end.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-move-to-start.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-move-to-top.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-multi-select.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-mute.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-no-entry.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-north-star.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-note.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-number.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-organization.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-package-dependencies.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-package-dependents.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-package.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-paintbrush.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-paper-airplane.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-paperclip.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-passkey-fill.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-paste.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-pencil.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-people.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-person-add.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-person-fill.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-person.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-pin-slash.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-pin.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-pivot-column.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-play.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-plug.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-plus-circle.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-plus.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-project-roadmap.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-project-symlink.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-project-template.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-project.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-pulse.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-question.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-quote.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-read.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-redo.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-rel-file-path.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-reply.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-repo-clone.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-repo-deleted.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-repo-forked.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-repo-locked.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-repo-pull.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-repo-push.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-repo-template.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-repo.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-report.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-rocket.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-rows.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-rss.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-ruby.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-screen-full.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-screen-normal.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-search.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-server.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-share-android.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-share.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-shield-check.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-shield-lock.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-shield-slash.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-shield-x.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-shield.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-sidebar-collapse.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-sidebar-expand.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-sign-in.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-sign-out.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-single-select.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-skip-fill.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-skip.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-sliders.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-smiley.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-sort-asc.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-sort-desc.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-sparkle-fill.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-sponsor-tiers.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-square-fill.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-square.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-squirrel.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-stack.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-star-fill.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-star.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-stop.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-stopwatch.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-strikethrough.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-sun.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-sync.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-tab-external.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-table.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-tag.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-tasklist.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-telescope-fill.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-telescope.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-terminal.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-three-bars.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-thumbsdown.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-thumbsup.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-tools.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-tracked-by-closed-completed.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-tracked-by-closed-not-planned.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-trash.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-triangle-down.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-triangle-left.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-triangle-right.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-triangle-up.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-trophy.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-typography.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-undo.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-unfold.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-unlink.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-unlock.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-unmute.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-unread.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-unverified.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-upload.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-verified.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-versions.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-video.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-webhook.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-workflow.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-x-circle-fill.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-x-circle.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-x.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-zap.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-zoom-in.svg create mode 100644 data/gitea/public/assets/img/svg/octicon-zoom-out.svg create mode 100644 data/gitea/public/assets/img/telegram.png create mode 100644 data/gitea/public/assets/img/wechatwork.png create mode 100644 data/gitea/public/assets/js/-------.e4740076.js create mode 100644 data/gitea/public/assets/js/-.2e273c97.js create mode 100644 data/gitea/public/assets/js/asciinema-player.4c143977.js create mode 100644 data/gitea/public/assets/js/citation-js-bibtex.53a6f177.js create mode 100644 data/gitea/public/assets/js/citation-js-core-citation-js-formats-citation-js-bibtex-citation-js-csl.f6949703.js create mode 100644 data/gitea/public/assets/js/citation-js-csl.fb93f9bb.js create mode 100644 data/gitea/public/assets/js/citation-js-formats.63828ec7.js create mode 100644 data/gitea/public/assets/js/code-frequency-graph.1d2f6f78.js create mode 100644 data/gitea/public/assets/js/colorpicker.de7eb406.js create mode 100644 data/gitea/public/assets/js/contributors-graph-code-frequency-graph-recent-commits-graph.eb309961.js create mode 100644 data/gitea/public/assets/js/contributors-graph.f652150c.js create mode 100644 data/gitea/public/assets/js/dropzone.6ba4ca5d.js create mode 100644 data/gitea/public/assets/js/easymde.0bb18d64.js create mode 100644 data/gitea/public/assets/js/eventsource.sharedworker.js create mode 100644 data/gitea/public/assets/js/index.js create mode 100644 data/gitea/public/assets/js/index.js.df4efb37.map create mode 100644 data/gitea/public/assets/js/katex-.bd7ddd30.js create mode 100644 data/gitea/public/assets/js/katex.6ad51582.js create mode 100644 data/gitea/public/assets/js/mcaptcha-vanilla-glue.53a504bd.js create mode 100644 data/gitea/public/assets/js/mermaid.212e9659.js create mode 100644 data/gitea/public/assets/js/monaco-css.583e8b81.worker.js create mode 100644 data/gitea/public/assets/js/monaco-editor.afbd84bf.worker.js create mode 100644 data/gitea/public/assets/js/monaco-html.0d595879.worker.js create mode 100644 data/gitea/public/assets/js/monaco-json.a6b1ee0c.worker.js create mode 100644 data/gitea/public/assets/js/monaco-language-abap.9122d2d4.js create mode 100644 data/gitea/public/assets/js/monaco-language-apex.610c28c9.js create mode 100644 data/gitea/public/assets/js/monaco-language-azcli.349a5eaa.js create mode 100644 data/gitea/public/assets/js/monaco-language-bat.2b9476f0.js create mode 100644 data/gitea/public/assets/js/monaco-language-bicep.3e66fac6.js create mode 100644 data/gitea/public/assets/js/monaco-language-cameligo.445ed0c7.js create mode 100644 data/gitea/public/assets/js/monaco-language-clojure.83dc0bbb.js create mode 100644 data/gitea/public/assets/js/monaco-language-coffee.387d6c21.js create mode 100644 data/gitea/public/assets/js/monaco-language-cpp.0c19424e.js create mode 100644 data/gitea/public/assets/js/monaco-language-csharp.b892b441.js create mode 100644 data/gitea/public/assets/js/monaco-language-csp.57371501.js create mode 100644 data/gitea/public/assets/js/monaco-language-css.a481ddf7.js create mode 100644 data/gitea/public/assets/js/monaco-language-cssmode.ba31beff.js create mode 100644 data/gitea/public/assets/js/monaco-language-cypher.dc7676b2.js create mode 100644 data/gitea/public/assets/js/monaco-language-dart.57075b92.js create mode 100644 data/gitea/public/assets/js/monaco-language-dockerfile.f5cfdb39.js create mode 100644 data/gitea/public/assets/js/monaco-language-ecl.3f530989.js create mode 100644 data/gitea/public/assets/js/monaco-language-elixir.230a049c.js create mode 100644 data/gitea/public/assets/js/monaco-language-flow9.305040be.js create mode 100644 data/gitea/public/assets/js/monaco-language-freemarker2.897fc90b.js create mode 100644 data/gitea/public/assets/js/monaco-language-fsharp.cec45f33.js create mode 100644 data/gitea/public/assets/js/monaco-language-go.94633690.js create mode 100644 data/gitea/public/assets/js/monaco-language-graphql.fead87e5.js create mode 100644 data/gitea/public/assets/js/monaco-language-handlebars.7bfbcb54.js create mode 100644 data/gitea/public/assets/js/monaco-language-hcl.9153a792.js create mode 100644 data/gitea/public/assets/js/monaco-language-html.c4cc0f74.js create mode 100644 data/gitea/public/assets/js/monaco-language-htmlmode.fc96be9e.js create mode 100644 data/gitea/public/assets/js/monaco-language-ini.d260907f.js create mode 100644 data/gitea/public/assets/js/monaco-language-java.3bfef3f1.js create mode 100644 data/gitea/public/assets/js/monaco-language-javascript.58403dc3.js create mode 100644 data/gitea/public/assets/js/monaco-language-jsonmode.d8d06c45.js create mode 100644 data/gitea/public/assets/js/monaco-language-julia.e8e36d82.js create mode 100644 data/gitea/public/assets/js/monaco-language-kotlin.f5a8b6c9.js create mode 100644 data/gitea/public/assets/js/monaco-language-less.e2ca09b9.js create mode 100644 data/gitea/public/assets/js/monaco-language-lexon.9b6bf990.js create mode 100644 data/gitea/public/assets/js/monaco-language-liquid.68495fcc.js create mode 100644 data/gitea/public/assets/js/monaco-language-lua.afaa0d63.js create mode 100644 data/gitea/public/assets/js/monaco-language-m3.310e9b80.js create mode 100644 data/gitea/public/assets/js/monaco-language-markdown.d877fedf.js create mode 100644 data/gitea/public/assets/js/monaco-language-mdx.92d3aecb.js create mode 100644 data/gitea/public/assets/js/monaco-language-mips.5c681def.js create mode 100644 data/gitea/public/assets/js/monaco-language-msdax.0817d48f.js create mode 100644 data/gitea/public/assets/js/monaco-language-mysql.03e98e9e.js create mode 100644 data/gitea/public/assets/js/monaco-language-objective-c.18b0cb16.js create mode 100644 data/gitea/public/assets/js/monaco-language-pascal.cad8a1ef.js create mode 100644 data/gitea/public/assets/js/monaco-language-pascaligo.a1fc02b4.js create mode 100644 data/gitea/public/assets/js/monaco-language-perl.223dd050.js create mode 100644 data/gitea/public/assets/js/monaco-language-pgsql.e8f7d3d9.js create mode 100644 data/gitea/public/assets/js/monaco-language-php.fa660fa0.js create mode 100644 data/gitea/public/assets/js/monaco-language-pla.bb335cb7.js create mode 100644 data/gitea/public/assets/js/monaco-language-postiats.0bd89243.js create mode 100644 data/gitea/public/assets/js/monaco-language-powerquery.e1cb673c.js create mode 100644 data/gitea/public/assets/js/monaco-language-powershell.634b742f.js create mode 100644 data/gitea/public/assets/js/monaco-language-protobuf.1f67a7e8.js create mode 100644 data/gitea/public/assets/js/monaco-language-pug.b925ebbc.js create mode 100644 data/gitea/public/assets/js/monaco-language-python.8ff02699.js create mode 100644 data/gitea/public/assets/js/monaco-language-qsharp.1dfd54e8.js create mode 100644 data/gitea/public/assets/js/monaco-language-r.4150abff.js create mode 100644 data/gitea/public/assets/js/monaco-language-razor.2bbd8573.js create mode 100644 data/gitea/public/assets/js/monaco-language-redis.50d71e38.js create mode 100644 data/gitea/public/assets/js/monaco-language-redshift.40ae621b.js create mode 100644 data/gitea/public/assets/js/monaco-language-restructuredtext.a5b7a10c.js create mode 100644 data/gitea/public/assets/js/monaco-language-ruby.b9af456d.js create mode 100644 data/gitea/public/assets/js/monaco-language-rust.08ceb3bd.js create mode 100644 data/gitea/public/assets/js/monaco-language-sb.eddcc78b.js create mode 100644 data/gitea/public/assets/js/monaco-language-scala.d747eadc.js create mode 100644 data/gitea/public/assets/js/monaco-language-scheme.5695e5f0.js create mode 100644 data/gitea/public/assets/js/monaco-language-scss.49341316.js create mode 100644 data/gitea/public/assets/js/monaco-language-shell.3c9a497d.js create mode 100644 data/gitea/public/assets/js/monaco-language-solidity.171a3cfd.js create mode 100644 data/gitea/public/assets/js/monaco-language-sophia.c504660c.js create mode 100644 data/gitea/public/assets/js/monaco-language-sparql.bb35ba95.js create mode 100644 data/gitea/public/assets/js/monaco-language-sql.3d1f27ff.js create mode 100644 data/gitea/public/assets/js/monaco-language-st.75edc68f.js create mode 100644 data/gitea/public/assets/js/monaco-language-swift.296f74df.js create mode 100644 data/gitea/public/assets/js/monaco-language-systemverilog.653c07e2.js create mode 100644 data/gitea/public/assets/js/monaco-language-tcl.26f77644.js create mode 100644 data/gitea/public/assets/js/monaco-language-tsmode.22f6dbcc.js create mode 100644 data/gitea/public/assets/js/monaco-language-twig.b3b1ea2d.js create mode 100644 data/gitea/public/assets/js/monaco-language-vb.a663f826.js create mode 100644 data/gitea/public/assets/js/monaco-language-wgsl.4e9ef98a.js create mode 100644 data/gitea/public/assets/js/monaco-language-xml.6f02f736.js create mode 100644 data/gitea/public/assets/js/monaco-language-yaml.a175e1de.js create mode 100644 data/gitea/public/assets/js/monaco-ts.54cae4d2.worker.js create mode 100644 data/gitea/public/assets/js/monaco.14c11225.js create mode 100644 data/gitea/public/assets/js/node_modules_mermaid_dist_classDiagram-30eddba6_js.c230a2f5.js create mode 100644 data/gitea/public/assets/js/node_modules_mermaid_dist_classDiagram-v2-f2df5561_js.b7b0fb7e.js create mode 100644 data/gitea/public/assets/js/node_modules_mermaid_dist_flowDiagram-v2-3b53844e_js.3dfd62f6.js create mode 100644 data/gitea/public/assets/js/node_modules_mermaid_dist_infoDiagram-bcd20f53_js.1ec64fb5.js create mode 100644 data/gitea/public/assets/js/node_modules_mermaid_dist_stateDiagram-0ff1cf1a_js.b851cca1.js create mode 100644 data/gitea/public/assets/js/node_modules_mermaid_dist_stateDiagram-v2-9a9d610d_js.51365024.js create mode 100644 data/gitea/public/assets/js/pdfobject.5b03fd4e.js create mode 100644 data/gitea/public/assets/js/recent-commits-graph.32429bd5.js create mode 100644 data/gitea/public/assets/js/scoped-access-token-selector.3fc6ff66.js create mode 100644 data/gitea/public/assets/js/sortablejs.deb655b2.js create mode 100644 data/gitea/public/assets/js/swagger.js create mode 100644 data/gitea/public/assets/js/theme-gitea-auto.js create mode 100644 data/gitea/public/assets/js/theme-gitea-dark-protanopia-deuteranopia.js create mode 100644 data/gitea/public/assets/js/theme-gitea-dark.js create mode 100644 data/gitea/public/assets/js/theme-gitea-light-protanopia-deuteranopia.js create mode 100644 data/gitea/public/assets/js/theme-gitea-light.js create mode 100644 data/gitea/public/assets/js/tribute.4863e12d.js create mode 100644 data/gitea/public/assets/js/vendors-node_modules_mermaid_dist_blockDiagram-91b80b7a_js.fba3be75.js create mode 100644 data/gitea/public/assets/js/vendors-node_modules_mermaid_dist_c4Diagram-b2a90758_js.b115d364.js create mode 100644 data/gitea/public/assets/js/vendors-node_modules_mermaid_dist_erDiagram-47591fe2_js.f90a83d1.js create mode 100644 data/gitea/public/assets/js/vendors-node_modules_mermaid_dist_flowDiagram-5540d9b9_js.c9dfd7f1.js create mode 100644 data/gitea/public/assets/js/vendors-node_modules_mermaid_dist_flowchart-elk-definition-5fe447d6_js.7f1b5b93.js create mode 100644 data/gitea/public/assets/js/vendors-node_modules_mermaid_dist_ganttDiagram-9a3bba1f_js.89decf95.js create mode 100644 data/gitea/public/assets/js/vendors-node_modules_mermaid_dist_gitGraphDiagram-96e6b4ee_js.11212bda.js create mode 100644 data/gitea/public/assets/js/vendors-node_modules_mermaid_dist_journeyDiagram-4fe6b3dc_js.42462367.js create mode 100644 data/gitea/public/assets/js/vendors-node_modules_mermaid_dist_mindmap-definition-f354de21_js.eab0b8bd.js create mode 100644 data/gitea/public/assets/js/vendors-node_modules_mermaid_dist_pieDiagram-79897490_js.25d40358.js create mode 100644 data/gitea/public/assets/js/vendors-node_modules_mermaid_dist_quadrantDiagram-62f64e94_js.84bd154b.js create mode 100644 data/gitea/public/assets/js/vendors-node_modules_mermaid_dist_requirementDiagram-05bf5f74_js.f38bab3a.js create mode 100644 data/gitea/public/assets/js/vendors-node_modules_mermaid_dist_sankeyDiagram-97764748_js.6f82a103.js create mode 100644 data/gitea/public/assets/js/vendors-node_modules_mermaid_dist_sequenceDiagram-acc0e65c_js.681b559c.js create mode 100644 data/gitea/public/assets/js/vendors-node_modules_mermaid_dist_timeline-definition-fea2a41d_js.617b37de.js create mode 100644 data/gitea/public/assets/js/vendors-node_modules_mermaid_dist_xychartDiagram-ab372869_js.d1abe2d7.js create mode 100644 data/gitea/public/assets/js/webcomponents.js create mode 100644 data/gitea/public/assets/licenses.txt create mode 100644 data/gitea/templates/admin/actions.tmpl create mode 100644 data/gitea/templates/admin/applications/list.tmpl create mode 100644 data/gitea/templates/admin/applications/oauth2_edit.tmpl create mode 100644 data/gitea/templates/admin/auth/edit.tmpl create mode 100644 data/gitea/templates/admin/auth/list.tmpl create mode 100644 data/gitea/templates/admin/auth/new.tmpl create mode 100644 data/gitea/templates/admin/auth/source/ldap.tmpl create mode 100644 data/gitea/templates/admin/auth/source/oauth.tmpl create mode 100644 data/gitea/templates/admin/auth/source/smtp.tmpl create mode 100644 data/gitea/templates/admin/auth/source/sspi.tmpl create mode 100644 data/gitea/templates/admin/config.tmpl create mode 100644 data/gitea/templates/admin/config_settings.tmpl create mode 100644 data/gitea/templates/admin/cron.tmpl create mode 100644 data/gitea/templates/admin/dashboard.tmpl create mode 100644 data/gitea/templates/admin/emails/list.tmpl create mode 100644 data/gitea/templates/admin/hook_new.tmpl create mode 100644 data/gitea/templates/admin/hooks.tmpl create mode 100644 data/gitea/templates/admin/layout_footer.tmpl create mode 100644 data/gitea/templates/admin/layout_head.tmpl create mode 100644 data/gitea/templates/admin/navbar.tmpl create mode 100644 data/gitea/templates/admin/notice.tmpl create mode 100644 data/gitea/templates/admin/org/list.tmpl create mode 100644 data/gitea/templates/admin/packages/list.tmpl create mode 100644 data/gitea/templates/admin/queue.tmpl create mode 100644 data/gitea/templates/admin/queue_manage.tmpl create mode 100644 data/gitea/templates/admin/repo/list.tmpl create mode 100644 data/gitea/templates/admin/repo/unadopted.tmpl create mode 100644 data/gitea/templates/admin/runners/edit.tmpl create mode 100644 data/gitea/templates/admin/self_check.tmpl create mode 100644 data/gitea/templates/admin/stacktrace-row.tmpl create mode 100644 data/gitea/templates/admin/stacktrace.tmpl create mode 100644 data/gitea/templates/admin/stats.tmpl create mode 100644 data/gitea/templates/admin/system_status.tmpl create mode 100644 data/gitea/templates/admin/user/edit.tmpl create mode 100644 data/gitea/templates/admin/user/list.tmpl create mode 100644 data/gitea/templates/admin/user/new.tmpl create mode 100644 data/gitea/templates/admin/user/view.tmpl create mode 100644 data/gitea/templates/admin/user/view_details.tmpl create mode 100644 data/gitea/templates/admin/user/view_emails.tmpl create mode 100644 data/gitea/templates/api/packages/pypi/simple.tmpl create mode 100644 data/gitea/templates/base/alert.tmpl create mode 100644 data/gitea/templates/base/alert_details.tmpl create mode 100644 data/gitea/templates/base/disable_form_autofill.tmpl create mode 100644 data/gitea/templates/base/footer.tmpl create mode 100644 data/gitea/templates/base/footer_content.tmpl create mode 100644 data/gitea/templates/base/head.tmpl create mode 100644 data/gitea/templates/base/head_navbar.tmpl create mode 100644 data/gitea/templates/base/head_opengraph.tmpl create mode 100644 data/gitea/templates/base/head_script.tmpl create mode 100644 data/gitea/templates/base/head_style.tmpl create mode 100644 data/gitea/templates/base/markup_codepreview.tmpl create mode 100644 data/gitea/templates/base/modal_actions_confirm.tmpl create mode 100644 data/gitea/templates/base/paginate.tmpl create mode 100644 data/gitea/templates/custom/body_inner_post.tmpl create mode 100644 data/gitea/templates/custom/body_inner_pre.tmpl create mode 100644 data/gitea/templates/custom/body_outer_post.tmpl create mode 100644 data/gitea/templates/custom/body_outer_pre.tmpl create mode 100644 data/gitea/templates/custom/extra_links.tmpl create mode 100644 data/gitea/templates/custom/extra_links_footer.tmpl create mode 100644 data/gitea/templates/custom/extra_tabs.tmpl create mode 100644 data/gitea/templates/custom/footer.tmpl create mode 100644 data/gitea/templates/custom/header.tmpl create mode 100644 data/gitea/templates/devtest/fetch-action.tmpl create mode 100644 data/gitea/templates/devtest/flex-list.tmpl create mode 100644 data/gitea/templates/devtest/fomantic-dropdown.tmpl create mode 100644 data/gitea/templates/devtest/fomantic-modal.tmpl create mode 100644 data/gitea/templates/devtest/gitea-ui.tmpl create mode 100644 data/gitea/templates/devtest/label.tmpl create mode 100644 data/gitea/templates/devtest/list.tmpl create mode 100644 data/gitea/templates/devtest/tmplerr-sub.tmpl create mode 100644 data/gitea/templates/devtest/tmplerr.tmpl create mode 100644 data/gitea/templates/explore/code.tmpl create mode 100644 data/gitea/templates/explore/navbar.tmpl create mode 100644 data/gitea/templates/explore/repo_list.tmpl create mode 100644 data/gitea/templates/explore/repos.tmpl create mode 100644 data/gitea/templates/explore/search.tmpl create mode 100644 data/gitea/templates/explore/user_list.tmpl create mode 100644 data/gitea/templates/explore/users.tmpl create mode 100644 data/gitea/templates/home.tmpl create mode 100644 data/gitea/templates/install.tmpl create mode 100644 data/gitea/templates/mail/auth/activate.tmpl create mode 100644 data/gitea/templates/mail/auth/activate_email.tmpl create mode 100644 data/gitea/templates/mail/auth/register_notify.tmpl create mode 100644 data/gitea/templates/mail/auth/reset_passwd.tmpl create mode 100644 data/gitea/templates/mail/issue/assigned.tmpl create mode 100644 data/gitea/templates/mail/issue/default.tmpl create mode 100644 data/gitea/templates/mail/notify/collaborator.tmpl create mode 100644 data/gitea/templates/mail/notify/repo_transfer.tmpl create mode 100644 data/gitea/templates/mail/release.tmpl create mode 100644 data/gitea/templates/mail/team_invite.tmpl create mode 100644 data/gitea/templates/org/create.tmpl create mode 100644 data/gitea/templates/org/follow_unfollow.tmpl create mode 100644 data/gitea/templates/org/header.tmpl create mode 100644 data/gitea/templates/org/home.tmpl create mode 100644 data/gitea/templates/org/member/members.tmpl create mode 100644 data/gitea/templates/org/menu.tmpl create mode 100644 data/gitea/templates/org/projects/list.tmpl create mode 100644 data/gitea/templates/org/projects/new.tmpl create mode 100644 data/gitea/templates/org/projects/view.tmpl create mode 100644 data/gitea/templates/org/settings/actions.tmpl create mode 100644 data/gitea/templates/org/settings/applications.tmpl create mode 100644 data/gitea/templates/org/settings/applications_oauth2_edit.tmpl create mode 100644 data/gitea/templates/org/settings/blocked_users.tmpl create mode 100644 data/gitea/templates/org/settings/delete.tmpl create mode 100644 data/gitea/templates/org/settings/hook_new.tmpl create mode 100644 data/gitea/templates/org/settings/hooks.tmpl create mode 100644 data/gitea/templates/org/settings/labels.tmpl create mode 100644 data/gitea/templates/org/settings/layout_footer.tmpl create mode 100644 data/gitea/templates/org/settings/layout_head.tmpl create mode 100644 data/gitea/templates/org/settings/navbar.tmpl create mode 100644 data/gitea/templates/org/settings/options.tmpl create mode 100644 data/gitea/templates/org/settings/packages.tmpl create mode 100644 data/gitea/templates/org/settings/packages_cleanup_rules_edit.tmpl create mode 100644 data/gitea/templates/org/settings/packages_cleanup_rules_preview.tmpl create mode 100644 data/gitea/templates/org/settings/runners_edit.tmpl create mode 100644 data/gitea/templates/org/team/invite.tmpl create mode 100644 data/gitea/templates/org/team/members.tmpl create mode 100644 data/gitea/templates/org/team/navbar.tmpl create mode 100644 data/gitea/templates/org/team/new.tmpl create mode 100644 data/gitea/templates/org/team/repositories.tmpl create mode 100644 data/gitea/templates/org/team/sidebar.tmpl create mode 100644 data/gitea/templates/org/team/teams.tmpl create mode 100644 data/gitea/templates/package/content/alpine.tmpl create mode 100644 data/gitea/templates/package/content/cargo.tmpl create mode 100644 data/gitea/templates/package/content/chef.tmpl create mode 100644 data/gitea/templates/package/content/composer.tmpl create mode 100644 data/gitea/templates/package/content/composer_dependencies.tmpl create mode 100644 data/gitea/templates/package/content/conan.tmpl create mode 100644 data/gitea/templates/package/content/conda.tmpl create mode 100644 data/gitea/templates/package/content/container.tmpl create mode 100644 data/gitea/templates/package/content/cran.tmpl create mode 100644 data/gitea/templates/package/content/debian.tmpl create mode 100644 data/gitea/templates/package/content/generic.tmpl create mode 100644 data/gitea/templates/package/content/go.tmpl create mode 100644 data/gitea/templates/package/content/helm.tmpl create mode 100644 data/gitea/templates/package/content/maven.tmpl create mode 100644 data/gitea/templates/package/content/npm.tmpl create mode 100644 data/gitea/templates/package/content/npm_dependencies.tmpl create mode 100644 data/gitea/templates/package/content/nuget.tmpl create mode 100644 data/gitea/templates/package/content/pub.tmpl create mode 100644 data/gitea/templates/package/content/pypi.tmpl create mode 100644 data/gitea/templates/package/content/rpm.tmpl create mode 100644 data/gitea/templates/package/content/rubygems.tmpl create mode 100644 data/gitea/templates/package/content/rubygems_dependencies.tmpl create mode 100644 data/gitea/templates/package/content/swift.tmpl create mode 100644 data/gitea/templates/package/content/vagrant.tmpl create mode 100644 data/gitea/templates/package/metadata/alpine.tmpl create mode 100644 data/gitea/templates/package/metadata/cargo.tmpl create mode 100644 data/gitea/templates/package/metadata/chef.tmpl create mode 100644 data/gitea/templates/package/metadata/composer.tmpl create mode 100644 data/gitea/templates/package/metadata/conan.tmpl create mode 100644 data/gitea/templates/package/metadata/conda.tmpl create mode 100644 data/gitea/templates/package/metadata/container.tmpl create mode 100644 data/gitea/templates/package/metadata/cran.tmpl create mode 100644 data/gitea/templates/package/metadata/debian.tmpl create mode 100644 data/gitea/templates/package/metadata/generic.tmpl create mode 100644 data/gitea/templates/package/metadata/helm.tmpl create mode 100644 data/gitea/templates/package/metadata/maven.tmpl create mode 100644 data/gitea/templates/package/metadata/npm.tmpl create mode 100644 data/gitea/templates/package/metadata/nuget.tmpl create mode 100644 data/gitea/templates/package/metadata/pub.tmpl create mode 100644 data/gitea/templates/package/metadata/pypi.tmpl create mode 100644 data/gitea/templates/package/metadata/rpm.tmpl create mode 100644 data/gitea/templates/package/metadata/rubygems.tmpl create mode 100644 data/gitea/templates/package/metadata/swift.tmpl create mode 100644 data/gitea/templates/package/metadata/vagrant.tmpl create mode 100644 data/gitea/templates/package/settings.tmpl create mode 100644 data/gitea/templates/package/shared/cargo.tmpl create mode 100644 data/gitea/templates/package/shared/cleanup_rules/edit.tmpl create mode 100644 data/gitea/templates/package/shared/cleanup_rules/list.tmpl create mode 100644 data/gitea/templates/package/shared/cleanup_rules/preview.tmpl create mode 100644 data/gitea/templates/package/shared/list.tmpl create mode 100644 data/gitea/templates/package/shared/versionlist.tmpl create mode 100644 data/gitea/templates/package/view.tmpl create mode 100644 data/gitea/templates/post-install.tmpl create mode 100644 data/gitea/templates/projects/list.tmpl create mode 100644 data/gitea/templates/projects/new.tmpl create mode 100644 data/gitea/templates/projects/view.tmpl create mode 100644 data/gitea/templates/repo/actions/list.tmpl create mode 100644 data/gitea/templates/repo/actions/no_workflows.tmpl create mode 100644 data/gitea/templates/repo/actions/runs_list.tmpl create mode 100644 data/gitea/templates/repo/actions/status.tmpl create mode 100644 data/gitea/templates/repo/actions/view.tmpl create mode 100644 data/gitea/templates/repo/activity.tmpl create mode 100644 data/gitea/templates/repo/blame.tmpl create mode 100644 data/gitea/templates/repo/branch/list.tmpl create mode 100644 data/gitea/templates/repo/branch_dropdown.tmpl create mode 100644 data/gitea/templates/repo/cite/cite_buttons.tmpl create mode 100644 data/gitea/templates/repo/cite/cite_modal.tmpl create mode 100644 data/gitea/templates/repo/clone_buttons.tmpl create mode 100644 data/gitea/templates/repo/clone_script.tmpl create mode 100644 data/gitea/templates/repo/code/recently_pushed_new_branches.tmpl create mode 100644 data/gitea/templates/repo/code_frequency.tmpl create mode 100644 data/gitea/templates/repo/commit_load_branches_and_tags.tmpl create mode 100644 data/gitea/templates/repo/commit_page.tmpl create mode 100644 data/gitea/templates/repo/commit_status.tmpl create mode 100644 data/gitea/templates/repo/commit_statuses.tmpl create mode 100644 data/gitea/templates/repo/commits.tmpl create mode 100644 data/gitea/templates/repo/commits_list.tmpl create mode 100644 data/gitea/templates/repo/commits_list_small.tmpl create mode 100644 data/gitea/templates/repo/commits_search_dropdown.tmpl create mode 100644 data/gitea/templates/repo/commits_table.tmpl create mode 100644 data/gitea/templates/repo/contributors.tmpl create mode 100644 data/gitea/templates/repo/create.tmpl create mode 100644 data/gitea/templates/repo/create_helper.tmpl create mode 100644 data/gitea/templates/repo/diff/blob_excerpt.tmpl create mode 100644 data/gitea/templates/repo/diff/box.tmpl create mode 100644 data/gitea/templates/repo/diff/comment_form.tmpl create mode 100644 data/gitea/templates/repo/diff/comment_form_datahandler.tmpl create mode 100644 data/gitea/templates/repo/diff/comments.tmpl create mode 100644 data/gitea/templates/repo/diff/compare.tmpl create mode 100644 data/gitea/templates/repo/diff/conversation.tmpl create mode 100644 data/gitea/templates/repo/diff/conversation_outdated.tmpl create mode 100644 data/gitea/templates/repo/diff/csv_diff.tmpl create mode 100644 data/gitea/templates/repo/diff/escape_title.tmpl create mode 100644 data/gitea/templates/repo/diff/image_diff.tmpl create mode 100644 data/gitea/templates/repo/diff/new_comment.tmpl create mode 100644 data/gitea/templates/repo/diff/new_review.tmpl create mode 100644 data/gitea/templates/repo/diff/options_dropdown.tmpl create mode 100644 data/gitea/templates/repo/diff/section_code.tmpl create mode 100644 data/gitea/templates/repo/diff/section_split.tmpl create mode 100644 data/gitea/templates/repo/diff/section_unified.tmpl create mode 100644 data/gitea/templates/repo/diff/stats.tmpl create mode 100644 data/gitea/templates/repo/diff/whitespace_dropdown.tmpl create mode 100644 data/gitea/templates/repo/editor/cherry_pick.tmpl create mode 100644 data/gitea/templates/repo/editor/commit_form.tmpl create mode 100644 data/gitea/templates/repo/editor/delete.tmpl create mode 100644 data/gitea/templates/repo/editor/diff_preview.tmpl create mode 100644 data/gitea/templates/repo/editor/edit.tmpl create mode 100644 data/gitea/templates/repo/editor/patch.tmpl create mode 100644 data/gitea/templates/repo/editor/upload.tmpl create mode 100644 data/gitea/templates/repo/empty.tmpl create mode 100644 data/gitea/templates/repo/file_info.tmpl create mode 100644 data/gitea/templates/repo/find/files.tmpl create mode 100644 data/gitea/templates/repo/forks.tmpl create mode 100644 data/gitea/templates/repo/graph.tmpl create mode 100644 data/gitea/templates/repo/graph/commits.tmpl create mode 100644 data/gitea/templates/repo/graph/div.tmpl create mode 100644 data/gitea/templates/repo/graph/svgcontainer.tmpl create mode 100644 data/gitea/templates/repo/header.tmpl create mode 100644 data/gitea/templates/repo/home.tmpl create mode 100644 data/gitea/templates/repo/icon.tmpl create mode 100644 data/gitea/templates/repo/issue/branch_selector_field.tmpl create mode 100644 data/gitea/templates/repo/issue/card.tmpl create mode 100644 data/gitea/templates/repo/issue/choose.tmpl create mode 100644 data/gitea/templates/repo/issue/comment_tab.tmpl create mode 100644 data/gitea/templates/repo/issue/fields/checkboxes.tmpl create mode 100644 data/gitea/templates/repo/issue/fields/dropdown.tmpl create mode 100644 data/gitea/templates/repo/issue/fields/header.tmpl create mode 100644 data/gitea/templates/repo/issue/fields/input.tmpl create mode 100644 data/gitea/templates/repo/issue/fields/markdown.tmpl create mode 100644 data/gitea/templates/repo/issue/fields/textarea.tmpl create mode 100644 data/gitea/templates/repo/issue/filter_actions.tmpl create mode 100644 data/gitea/templates/repo/issue/filter_list.tmpl create mode 100644 data/gitea/templates/repo/issue/filters.tmpl create mode 100644 data/gitea/templates/repo/issue/label_precolors.tmpl create mode 100644 data/gitea/templates/repo/issue/labels.tmpl create mode 100644 data/gitea/templates/repo/issue/labels/edit_delete_label.tmpl create mode 100644 data/gitea/templates/repo/issue/labels/label.tmpl create mode 100644 data/gitea/templates/repo/issue/labels/label_archived.tmpl create mode 100644 data/gitea/templates/repo/issue/labels/label_list.tmpl create mode 100644 data/gitea/templates/repo/issue/labels/label_load_template.tmpl create mode 100644 data/gitea/templates/repo/issue/labels/label_new.tmpl create mode 100644 data/gitea/templates/repo/issue/labels/labels_selector_field.tmpl create mode 100644 data/gitea/templates/repo/issue/labels/labels_sidebar.tmpl create mode 100644 data/gitea/templates/repo/issue/list.tmpl create mode 100644 data/gitea/templates/repo/issue/milestone/filter_list.tmpl create mode 100644 data/gitea/templates/repo/issue/milestone/select_menu.tmpl create mode 100644 data/gitea/templates/repo/issue/milestone_issues.tmpl create mode 100644 data/gitea/templates/repo/issue/milestone_new.tmpl create mode 100644 data/gitea/templates/repo/issue/milestones.tmpl create mode 100644 data/gitea/templates/repo/issue/navbar.tmpl create mode 100644 data/gitea/templates/repo/issue/new.tmpl create mode 100644 data/gitea/templates/repo/issue/new_form.tmpl create mode 100644 data/gitea/templates/repo/issue/openclose.tmpl create mode 100644 data/gitea/templates/repo/issue/search.tmpl create mode 100644 data/gitea/templates/repo/issue/view.tmpl create mode 100644 data/gitea/templates/repo/issue/view_content.tmpl create mode 100644 data/gitea/templates/repo/issue/view_content/add_reaction.tmpl create mode 100644 data/gitea/templates/repo/issue/view_content/attachments.tmpl create mode 100644 data/gitea/templates/repo/issue/view_content/comments.tmpl create mode 100644 data/gitea/templates/repo/issue/view_content/comments_authorlink.tmpl create mode 100644 data/gitea/templates/repo/issue/view_content/comments_delete_time.tmpl create mode 100644 data/gitea/templates/repo/issue/view_content/context_menu.tmpl create mode 100644 data/gitea/templates/repo/issue/view_content/conversation.tmpl create mode 100644 data/gitea/templates/repo/issue/view_content/pull.tmpl create mode 100644 data/gitea/templates/repo/issue/view_content/pull_merge_instruction.tmpl create mode 100644 data/gitea/templates/repo/issue/view_content/reactions.tmpl create mode 100644 data/gitea/templates/repo/issue/view_content/reference_issue_dialog.tmpl create mode 100644 data/gitea/templates/repo/issue/view_content/show_role.tmpl create mode 100644 data/gitea/templates/repo/issue/view_content/sidebar.tmpl create mode 100644 data/gitea/templates/repo/issue/view_content/update_branch_by_merge.tmpl create mode 100644 data/gitea/templates/repo/issue/view_content/watching.tmpl create mode 100644 data/gitea/templates/repo/issue/view_title.tmpl create mode 100644 data/gitea/templates/repo/latest_commit.tmpl create mode 100644 data/gitea/templates/repo/migrate/codebase.tmpl create mode 100644 data/gitea/templates/repo/migrate/git.tmpl create mode 100644 data/gitea/templates/repo/migrate/gitbucket.tmpl create mode 100644 data/gitea/templates/repo/migrate/gitea.tmpl create mode 100644 data/gitea/templates/repo/migrate/github.tmpl create mode 100644 data/gitea/templates/repo/migrate/gitlab.tmpl create mode 100644 data/gitea/templates/repo/migrate/gogs.tmpl create mode 100644 data/gitea/templates/repo/migrate/helper.tmpl create mode 100644 data/gitea/templates/repo/migrate/migrate.tmpl create mode 100644 data/gitea/templates/repo/migrate/migrating.tmpl create mode 100644 data/gitea/templates/repo/migrate/onedev.tmpl create mode 100644 data/gitea/templates/repo/migrate/options.tmpl create mode 100644 data/gitea/templates/repo/navbar.tmpl create mode 100644 data/gitea/templates/repo/packages.tmpl create mode 100644 data/gitea/templates/repo/projects/list.tmpl create mode 100644 data/gitea/templates/repo/projects/new.tmpl create mode 100644 data/gitea/templates/repo/projects/view.tmpl create mode 100644 data/gitea/templates/repo/pulls/commits.tmpl create mode 100644 data/gitea/templates/repo/pulls/files.tmpl create mode 100644 data/gitea/templates/repo/pulls/fork.tmpl create mode 100644 data/gitea/templates/repo/pulls/status.tmpl create mode 100644 data/gitea/templates/repo/pulls/tab_menu.tmpl create mode 100644 data/gitea/templates/repo/pulse.tmpl create mode 100644 data/gitea/templates/repo/recent_commits.tmpl create mode 100644 data/gitea/templates/repo/release/list.tmpl create mode 100644 data/gitea/templates/repo/release/new.tmpl create mode 100644 data/gitea/templates/repo/release_tag_header.tmpl create mode 100644 data/gitea/templates/repo/search.tmpl create mode 100644 data/gitea/templates/repo/search_name.tmpl create mode 100644 data/gitea/templates/repo/settings/actions.tmpl create mode 100644 data/gitea/templates/repo/settings/branches.tmpl create mode 100644 data/gitea/templates/repo/settings/collaboration.tmpl create mode 100644 data/gitea/templates/repo/settings/deploy_keys.tmpl create mode 100644 data/gitea/templates/repo/settings/githook_edit.tmpl create mode 100644 data/gitea/templates/repo/settings/githooks.tmpl create mode 100644 data/gitea/templates/repo/settings/layout_footer.tmpl create mode 100644 data/gitea/templates/repo/settings/layout_head.tmpl create mode 100644 data/gitea/templates/repo/settings/lfs.tmpl create mode 100644 data/gitea/templates/repo/settings/lfs_file.tmpl create mode 100644 data/gitea/templates/repo/settings/lfs_file_find.tmpl create mode 100644 data/gitea/templates/repo/settings/lfs_locks.tmpl create mode 100644 data/gitea/templates/repo/settings/lfs_pointers.tmpl create mode 100644 data/gitea/templates/repo/settings/navbar.tmpl create mode 100644 data/gitea/templates/repo/settings/options.tmpl create mode 100644 data/gitea/templates/repo/settings/protected_branch.tmpl create mode 100644 data/gitea/templates/repo/settings/push_mirror_sync_modal.tmpl create mode 100644 data/gitea/templates/repo/settings/runner_edit.tmpl create mode 100644 data/gitea/templates/repo/settings/secrets.tmpl create mode 100644 data/gitea/templates/repo/settings/tags.tmpl create mode 100644 data/gitea/templates/repo/settings/webhook/base.tmpl create mode 100644 data/gitea/templates/repo/settings/webhook/base_list.tmpl create mode 100644 data/gitea/templates/repo/settings/webhook/delete_modal.tmpl create mode 100644 data/gitea/templates/repo/settings/webhook/dingtalk.tmpl create mode 100644 data/gitea/templates/repo/settings/webhook/discord.tmpl create mode 100644 data/gitea/templates/repo/settings/webhook/feishu.tmpl create mode 100644 data/gitea/templates/repo/settings/webhook/gitea.tmpl create mode 100644 data/gitea/templates/repo/settings/webhook/gogs.tmpl create mode 100644 data/gitea/templates/repo/settings/webhook/history.tmpl create mode 100644 data/gitea/templates/repo/settings/webhook/link_menu.tmpl create mode 100644 data/gitea/templates/repo/settings/webhook/list.tmpl create mode 100644 data/gitea/templates/repo/settings/webhook/matrix.tmpl create mode 100644 data/gitea/templates/repo/settings/webhook/msteams.tmpl create mode 100644 data/gitea/templates/repo/settings/webhook/new.tmpl create mode 100644 data/gitea/templates/repo/settings/webhook/packagist.tmpl create mode 100644 data/gitea/templates/repo/settings/webhook/settings.tmpl create mode 100644 data/gitea/templates/repo/settings/webhook/slack.tmpl create mode 100644 data/gitea/templates/repo/settings/webhook/telegram.tmpl create mode 100644 data/gitea/templates/repo/settings/webhook/wechatwork.tmpl create mode 100644 data/gitea/templates/repo/shabox_badge.tmpl create mode 100644 data/gitea/templates/repo/star_unstar.tmpl create mode 100644 data/gitea/templates/repo/sub_menu.tmpl create mode 100644 data/gitea/templates/repo/tag/list.tmpl create mode 100644 data/gitea/templates/repo/unicode_escape_prompt.tmpl create mode 100644 data/gitea/templates/repo/upload.tmpl create mode 100644 data/gitea/templates/repo/user_cards.tmpl create mode 100644 data/gitea/templates/repo/view_file.tmpl create mode 100644 data/gitea/templates/repo/view_list.tmpl create mode 100644 data/gitea/templates/repo/watch_unwatch.tmpl create mode 100644 data/gitea/templates/repo/watchers.tmpl create mode 100644 data/gitea/templates/repo/wiki/new.tmpl create mode 100644 data/gitea/templates/repo/wiki/pages.tmpl create mode 100644 data/gitea/templates/repo/wiki/revision.tmpl create mode 100644 data/gitea/templates/repo/wiki/start.tmpl create mode 100644 data/gitea/templates/repo/wiki/view.tmpl create mode 100644 data/gitea/templates/shared/actions/runner_badge.tmpl create mode 100644 data/gitea/templates/shared/actions/runner_edit.tmpl create mode 100644 data/gitea/templates/shared/actions/runner_list.tmpl create mode 100644 data/gitea/templates/shared/combomarkdowneditor.tmpl create mode 100644 data/gitea/templates/shared/filetoolarge.tmpl create mode 100644 data/gitea/templates/shared/issueicon.tmpl create mode 100644 data/gitea/templates/shared/issuelist.tmpl create mode 100644 data/gitea/templates/shared/misc/tabtitle.tmpl create mode 100644 data/gitea/templates/shared/repo_search.tmpl create mode 100644 data/gitea/templates/shared/search/button.tmpl create mode 100644 data/gitea/templates/shared/search/code/results.tmpl create mode 100644 data/gitea/templates/shared/search/code/search.tmpl create mode 100644 data/gitea/templates/shared/search/combo.tmpl create mode 100644 data/gitea/templates/shared/search/combo_fuzzy.tmpl create mode 100644 data/gitea/templates/shared/search/fuzzy.tmpl create mode 100644 data/gitea/templates/shared/search/input.tmpl create mode 100644 data/gitea/templates/shared/searchbottom.tmpl create mode 100644 data/gitea/templates/shared/searchfile.tmpl create mode 100644 data/gitea/templates/shared/secrets/add_list.tmpl create mode 100644 data/gitea/templates/shared/user/authorlink.tmpl create mode 100644 data/gitea/templates/shared/user/avatarlink.tmpl create mode 100644 data/gitea/templates/shared/user/block_user_dialog.tmpl create mode 100644 data/gitea/templates/shared/user/blocked_users.tmpl create mode 100644 data/gitea/templates/shared/user/name.tmpl create mode 100644 data/gitea/templates/shared/user/namelink.tmpl create mode 100644 data/gitea/templates/shared/user/org_profile_avatar.tmpl create mode 100644 data/gitea/templates/shared/user/profile_big_avatar.tmpl create mode 100644 data/gitea/templates/shared/variables/variable_list.tmpl create mode 100644 data/gitea/templates/shared/webhook/icon.tmpl create mode 100644 data/gitea/templates/status/404.tmpl create mode 100644 data/gitea/templates/status/500.tmpl create mode 100644 data/gitea/templates/swagger/ui.tmpl create mode 100644 data/gitea/templates/swagger/v1_json.tmpl create mode 100644 data/gitea/templates/user/auth/activate.tmpl create mode 100644 data/gitea/templates/user/auth/activate_prompt.tmpl create mode 100644 data/gitea/templates/user/auth/captcha.tmpl create mode 100644 data/gitea/templates/user/auth/change_passwd.tmpl create mode 100644 data/gitea/templates/user/auth/change_passwd_inner.tmpl create mode 100644 data/gitea/templates/user/auth/finalize_openid.tmpl create mode 100644 data/gitea/templates/user/auth/forgot_passwd.tmpl create mode 100644 data/gitea/templates/user/auth/grant.tmpl create mode 100644 data/gitea/templates/user/auth/grant_error.tmpl create mode 100644 data/gitea/templates/user/auth/link_account.tmpl create mode 100644 data/gitea/templates/user/auth/oidc_wellknown.tmpl create mode 100644 data/gitea/templates/user/auth/prohibit_login.tmpl create mode 100644 data/gitea/templates/user/auth/reset_passwd.tmpl create mode 100644 data/gitea/templates/user/auth/signin.tmpl create mode 100644 data/gitea/templates/user/auth/signin_inner.tmpl create mode 100644 data/gitea/templates/user/auth/signin_navbar.tmpl create mode 100644 data/gitea/templates/user/auth/signin_openid.tmpl create mode 100644 data/gitea/templates/user/auth/signup.tmpl create mode 100644 data/gitea/templates/user/auth/signup_inner.tmpl create mode 100644 data/gitea/templates/user/auth/signup_openid_connect.tmpl create mode 100644 data/gitea/templates/user/auth/signup_openid_navbar.tmpl create mode 100644 data/gitea/templates/user/auth/signup_openid_register.tmpl create mode 100644 data/gitea/templates/user/auth/twofa.tmpl create mode 100644 data/gitea/templates/user/auth/twofa_scratch.tmpl create mode 100644 data/gitea/templates/user/auth/webauthn.tmpl create mode 100644 data/gitea/templates/user/auth/webauthn_error.tmpl create mode 100644 data/gitea/templates/user/code.tmpl create mode 100644 data/gitea/templates/user/dashboard/dashboard.tmpl create mode 100644 data/gitea/templates/user/dashboard/feeds.tmpl create mode 100644 data/gitea/templates/user/dashboard/issues.tmpl create mode 100644 data/gitea/templates/user/dashboard/milestones.tmpl create mode 100644 data/gitea/templates/user/dashboard/navbar.tmpl create mode 100644 data/gitea/templates/user/dashboard/repolist.tmpl create mode 100644 data/gitea/templates/user/heatmap.tmpl create mode 100644 data/gitea/templates/user/notification/notification.tmpl create mode 100644 data/gitea/templates/user/notification/notification_div.tmpl create mode 100644 data/gitea/templates/user/notification/notification_subscriptions.tmpl create mode 100644 data/gitea/templates/user/overview/header.tmpl create mode 100644 data/gitea/templates/user/overview/package_versions.tmpl create mode 100644 data/gitea/templates/user/overview/packages.tmpl create mode 100644 data/gitea/templates/user/profile.tmpl create mode 100644 data/gitea/templates/user/settings/account.tmpl create mode 100644 data/gitea/templates/user/settings/actions.tmpl create mode 100644 data/gitea/templates/user/settings/appearance.tmpl create mode 100644 data/gitea/templates/user/settings/applications.tmpl create mode 100644 data/gitea/templates/user/settings/applications_oauth2.tmpl create mode 100644 data/gitea/templates/user/settings/applications_oauth2_edit.tmpl create mode 100644 data/gitea/templates/user/settings/applications_oauth2_edit_form.tmpl create mode 100644 data/gitea/templates/user/settings/applications_oauth2_list.tmpl create mode 100644 data/gitea/templates/user/settings/blocked_users.tmpl create mode 100644 data/gitea/templates/user/settings/grants_oauth2.tmpl create mode 100644 data/gitea/templates/user/settings/hook_new.tmpl create mode 100644 data/gitea/templates/user/settings/hooks.tmpl create mode 100644 data/gitea/templates/user/settings/keys.tmpl create mode 100644 data/gitea/templates/user/settings/keys_gpg.tmpl create mode 100644 data/gitea/templates/user/settings/keys_principal.tmpl create mode 100644 data/gitea/templates/user/settings/keys_ssh.tmpl create mode 100644 data/gitea/templates/user/settings/layout_footer.tmpl create mode 100644 data/gitea/templates/user/settings/layout_head.tmpl create mode 100644 data/gitea/templates/user/settings/navbar.tmpl create mode 100644 data/gitea/templates/user/settings/organization.tmpl create mode 100644 data/gitea/templates/user/settings/packages.tmpl create mode 100644 data/gitea/templates/user/settings/packages_cleanup_rules_edit.tmpl create mode 100644 data/gitea/templates/user/settings/packages_cleanup_rules_preview.tmpl create mode 100644 data/gitea/templates/user/settings/profile.tmpl create mode 100644 data/gitea/templates/user/settings/repos.tmpl create mode 100644 data/gitea/templates/user/settings/runner_edit.tmpl create mode 100644 data/gitea/templates/user/settings/security/accountlinks.tmpl create mode 100644 data/gitea/templates/user/settings/security/openid.tmpl create mode 100644 data/gitea/templates/user/settings/security/security.tmpl create mode 100644 data/gitea/templates/user/settings/security/twofa.tmpl create mode 100644 data/gitea/templates/user/settings/security/twofa_enroll.tmpl create mode 100644 data/gitea/templates/user/settings/security/webauthn.tmpl create mode 100644 data/gitea/templates/webhook/new.tmpl create mode 100644 docker-compose.yaml diff --git a/data/gitea/public/.well-known/security.txt b/data/gitea/public/.well-known/security.txt new file mode 100644 index 0000000..2cae3cb --- /dev/null +++ b/data/gitea/public/.well-known/security.txt @@ -0,0 +1,6 @@ +# This site is running a Gitea instance. +# Gitea related security problems could be reported to Gitea community. +# Site related security problems should be reported to this site's admin. +Contact: https://github.com/go-gitea/gitea/blob/main/SECURITY.md +Policy: https://github.com/go-gitea/gitea/blob/main/SECURITY.md +Preferred-Languages: en diff --git a/data/gitea/public/assets/css/asciinema-player.dd36a08e.css b/data/gitea/public/assets/css/asciinema-player.dd36a08e.css new file mode 100644 index 0000000..3635392 --- /dev/null +++ b/data/gitea/public/assets/css/asciinema-player.dd36a08e.css @@ -0,0 +1 @@ +div.ap-wrapper{outline:none;height:100%;display:flex;justify-content:center}div.ap-wrapper .title-bar{display:none;top:-78px;transition:top .15s linear;position:absolute;left:0;right:0;box-sizing:content-box;font-size:20px;line-height:1em;padding:15px;font-family:sans-serif;color:#fff;background-color:#000c}div.ap-wrapper .title-bar img{vertical-align:middle;height:48px;margin-right:16px}div.ap-wrapper .title-bar a{color:#fff;text-decoration:underline}div.ap-wrapper .title-bar a:hover{text-decoration:none}div.ap-wrapper:fullscreen{background-color:#000;width:100%;align-items:center}div.ap-wrapper:fullscreen div.ap-player{position:static}div.ap-wrapper:fullscreen .title-bar{display:initial}div.ap-wrapper:fullscreen.hud .title-bar{top:0}div.ap-wrapper div.ap-player{text-align:left;display:inline-block;padding:0;position:relative;box-sizing:content-box;overflow:hidden;max-width:100%;border-radius:4px;font-size:15px;background-color:var(--term-color-background)}.ap-player{--term-color-foreground: #ffffff;--term-color-background: #000000;--term-color-0: var(--term-color-foreground);--term-color-1: var(--term-color-foreground);--term-color-2: var(--term-color-foreground);--term-color-3: var(--term-color-foreground);--term-color-4: var(--term-color-foreground);--term-color-5: var(--term-color-foreground);--term-color-6: var(--term-color-foreground);--term-color-7: var(--term-color-foreground);--term-color-8: var(--term-color-0);--term-color-9: var(--term-color-1);--term-color-10: var(--term-color-2);--term-color-11: var(--term-color-3);--term-color-12: var(--term-color-4);--term-color-13: var(--term-color-5);--term-color-14: var(--term-color-6);--term-color-15: var(--term-color-7)}.ap-player .fg-0{--fg: var(--term-color-0)}.ap-player .bg-0{--bg: var(--term-color-0)}.ap-player .fg-1{--fg: var(--term-color-1)}.ap-player .bg-1{--bg: var(--term-color-1)}.ap-player .fg-2{--fg: var(--term-color-2)}.ap-player .bg-2{--bg: var(--term-color-2)}.ap-player .fg-3{--fg: var(--term-color-3)}.ap-player .bg-3{--bg: var(--term-color-3)}.ap-player .fg-4{--fg: var(--term-color-4)}.ap-player .bg-4{--bg: var(--term-color-4)}.ap-player .fg-5{--fg: var(--term-color-5)}.ap-player .bg-5{--bg: var(--term-color-5)}.ap-player .fg-6{--fg: var(--term-color-6)}.ap-player .bg-6{--bg: var(--term-color-6)}.ap-player .fg-7{--fg: var(--term-color-7)}.ap-player .bg-7{--bg: var(--term-color-7)}.ap-player .fg-8{--fg: var(--term-color-8)}.ap-player .bg-8{--bg: var(--term-color-8)}.ap-player .fg-9{--fg: var(--term-color-9)}.ap-player .bg-9{--bg: var(--term-color-9)}.ap-player .fg-10{--fg: var(--term-color-10)}.ap-player .bg-10{--bg: var(--term-color-10)}.ap-player .fg-11{--fg: var(--term-color-11)}.ap-player .bg-11{--bg: var(--term-color-11)}.ap-player .fg-12{--fg: var(--term-color-12)}.ap-player .bg-12{--bg: var(--term-color-12)}.ap-player .fg-13{--fg: var(--term-color-13)}.ap-player .bg-13{--bg: var(--term-color-13)}.ap-player .fg-14{--fg: var(--term-color-14)}.ap-player .bg-14{--bg: var(--term-color-14)}.ap-player .fg-15{--fg: var(--term-color-15)}.ap-player .bg-15{--bg: var(--term-color-15)}.ap-player .fg-8,.ap-player .fg-9,.ap-player .fg-10,.ap-player .fg-11,.ap-player .fg-12,.ap-player .fg-13,.ap-player .fg-14,.ap-player .fg-15{font-weight:700}pre.ap-terminal{box-sizing:content-box;overflow:hidden;padding:0;margin:0;display:block;white-space:pre;word-wrap:normal;word-break:normal;border-radius:0;border-style:solid;cursor:text;border-width:.75em;color:var(--term-color-foreground);background-color:var(--term-color-background);border-color:var(--term-color-background);outline:none;font-family:Consolas,Menlo,Bitstream Vera Sans Mono,monospace,Powerline Symbols;font-variant-ligatures:none}pre.ap-terminal .ap-line{letter-spacing:normal;overflow:hidden}pre.ap-terminal .ap-line span{padding:0;display:inline-block;height:100%}pre.ap-terminal .ap-line{display:block;width:100%;position:relative}pre.ap-terminal .ap-line span{position:absolute;color:var(--fg);background-color:var(--bg)}pre.ap-terminal .ap-line .ap-inverse{color:var(--bg);background-color:var(--fg)}pre.ap-terminal .ap-line .cp-2580{border-top:calc(.5em * var(--term-line-height)) solid var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-2581{border-bottom:calc(.125em * var(--term-line-height)) solid var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-2582{border-bottom:calc(.25em * var(--term-line-height)) solid var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-2583{border-bottom:calc(.375em * var(--term-line-height)) solid var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-2584{border-bottom:calc(.5em * var(--term-line-height)) solid var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-2585{border-bottom:calc(.625em * var(--term-line-height)) solid var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-2586{border-bottom:calc(.75em * var(--term-line-height)) solid var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-2587{border-bottom:calc(.875em * var(--term-line-height)) solid var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-2588{background-color:var(--fg)}pre.ap-terminal .ap-line .cp-2589{border-left:.875ch solid var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-258a{border-left:.75ch solid var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-258b{border-left:.625ch solid var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-258c{border-left:.5ch solid var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-258d{border-left:.375ch solid var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-258e{border-left:.25ch solid var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-258f{border-left:.125ch solid var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-2590{border-right:.5ch solid var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-2591{background-color:color-mix(in srgb,var(--fg) 25%,var(--bg))}pre.ap-terminal .ap-line .cp-2592{background-color:color-mix(in srgb,var(--fg) 50%,var(--bg))}pre.ap-terminal .ap-line .cp-2593{background-color:color-mix(in srgb,var(--fg) 75%,var(--bg))}pre.ap-terminal .ap-line .cp-2594{border-top:calc(.125em * var(--term-line-height)) solid var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-2595{border-right:.125ch solid var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-2596{border-right:.5ch solid var(--bg);border-top:calc(.5em * var(--term-line-height)) solid var(--bg);background-color:var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-2597{border-left:.5ch solid var(--bg);border-top:calc(.5em * var(--term-line-height)) solid var(--bg);background-color:var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-2598{border-right:.5ch solid var(--bg);border-bottom:calc(.5em * var(--term-line-height)) solid var(--bg);background-color:var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-2599{border-left:.5ch solid var(--fg);border-bottom:calc(.5em * var(--term-line-height)) solid var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-259a{box-sizing:border-box}pre.ap-terminal .ap-line .cp-259a:before,pre.ap-terminal .ap-line .cp-259a:after{content:"";position:absolute;width:.5ch;height:calc(.5em * var(--term-line-height));background-color:var(--fg)}pre.ap-terminal .ap-line .cp-259a:before{top:0;left:0}pre.ap-terminal .ap-line .cp-259a:after{bottom:0;right:0}pre.ap-terminal .ap-line .cp-259b{border-left:.5ch solid var(--fg);border-top:calc(.5em * var(--term-line-height)) solid var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-259c{border-right:.5ch solid var(--fg);border-top:calc(.5em * var(--term-line-height)) solid var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-259d{border-left:.5ch solid var(--bg);border-bottom:calc(.5em * var(--term-line-height)) solid var(--bg);background-color:var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-259e{box-sizing:border-box}pre.ap-terminal .ap-line .cp-259e:before,pre.ap-terminal .ap-line .cp-259e:after{content:"";position:absolute;width:.5ch;height:calc(.5em * var(--term-line-height));background-color:var(--fg)}pre.ap-terminal .ap-line .cp-259e:before{top:0;right:0}pre.ap-terminal .ap-line .cp-259e:after{bottom:0;left:0}pre.ap-terminal .ap-line .cp-259f{border-right:.5ch solid var(--fg);border-bottom:calc(.5em * var(--term-line-height)) solid var(--fg);box-sizing:border-box}pre.ap-terminal .ap-line .cp-e0b0{border-left:1ch solid var(--fg);border-top:calc(.5em * var(--term-line-height)) solid transparent;border-bottom:calc(.5em * var(--term-line-height)) solid transparent;box-sizing:border-box}pre.ap-terminal .ap-line .cp-e0b2{border-right:1ch solid var(--fg);border-top:calc(.5em * var(--term-line-height)) solid transparent;border-bottom:calc(.5em * var(--term-line-height)) solid transparent;box-sizing:border-box}pre.ap-terminal.ap-cursor-on .ap-line .ap-cursor{color:var(--bg);background-color:var(--fg);border-radius:.05em}pre.ap-terminal.ap-cursor-on .ap-line .ap-cursor.ap-inverse{color:var(--fg);background-color:var(--bg)}pre.ap-terminal:not(.ap-blink) .ap-line .ap-blink{color:transparent}pre.ap-terminal .ap-bright{font-weight:700}pre.ap-terminal .ap-faint{opacity:.5}pre.ap-terminal .ap-underline{text-decoration:underline}pre.ap-terminal .ap-italic{font-style:italic}pre.ap-terminal .ap-strikethrough{text-decoration:line-through}.ap-line span{--fg: var(--term-color-foreground);--bg: var(--term-color-background)}div.ap-player div.ap-control-bar{width:100%;height:32px;display:flex;justify-content:space-between;align-items:stretch;background:linear-gradient(to bottom,#00000080,#000 25% 100%);color:#bbb;box-sizing:content-box;line-height:1;position:absolute;bottom:0;left:0;opacity:0;transition:opacity .15s linear;user-select:none;z-index:30}div.ap-player div.ap-control-bar *{box-sizing:inherit;font-size:0;font-family:Helvetica,Arial,sans-serif;font-weight:700}div.ap-control-bar svg.ap-icon path{fill:#bbb}div.ap-control-bar span.ap-playback-button{display:block;flex:0 0 auto;cursor:pointer;height:12px;width:12px;padding:10px}div.ap-control-bar span.ap-playback-button svg{height:12px;width:12px}div.ap-control-bar span.ap-timer{display:block;flex:0 0 auto;min-width:50px;margin:0 10px;height:100%;text-align:center;font-size:11px;line-height:34px;cursor:default}div.ap-control-bar span.ap-timer span{display:inline-block;font-size:inherit}div.ap-control-bar span.ap-timer .ap-time-remaining,div.ap-control-bar span.ap-timer:hover .ap-time-elapsed{display:none}div.ap-control-bar span.ap-timer:hover .ap-time-remaining{display:inline}div.ap-control-bar .ap-progressbar{display:block;flex:1 1 auto;height:100%;padding:0 10px}div.ap-control-bar .ap-progressbar .ap-bar{display:block;position:relative;cursor:default;height:100%;font-size:0}div.ap-control-bar .ap-progressbar .ap-bar .ap-gutter{display:block;position:absolute;top:15px;left:0;right:0;height:3px;background-color:#333}div.ap-control-bar .ap-progressbar .ap-bar .ap-gutter .ap-gutter-fill{display:inline-block;height:100%;background-color:#bbb;border-radius:3px;z-index:10}div.ap-control-bar.ap-seekable .ap-progressbar .ap-bar{cursor:pointer}div.ap-control-bar .ap-fullscreen-button{display:block;flex:0 0 auto;width:14px;height:14px;padding:9px;cursor:pointer}div.ap-control-bar .ap-fullscreen-button svg{width:14px;height:14px}div.ap-control-bar .ap-fullscreen-button svg:first-child{display:inline}div.ap-control-bar .ap-fullscreen-button svg:last-child{display:none}div.ap-wrapper.ap-hud .ap-control-bar{opacity:1}div.ap-wrapper:fullscreen .ap-fullscreen-button svg:first-child{display:none}div.ap-wrapper:fullscreen .ap-fullscreen-button svg:last-child{display:inline}span.ap-progressbar span.ap-marker-container{display:block;top:0;bottom:0;width:21px;position:absolute;margin-left:-10px;z-index:9}span.ap-marker-container span.ap-marker{display:block;inset:13px 7px 12px;background-color:#555;position:absolute;transition:top .1s,bottom .1s,left .1s,right .1s,background-color .1s;border-radius:50%}span.ap-marker-container span.ap-marker.ap-marker-past{background-color:#bbb}span.ap-marker-container span.ap-marker:hover,span.ap-marker-container:hover span.ap-marker{background-color:#bbb;inset:11px 5px 10px}span.ap-marker-container span.ap-marker-tooltip{visibility:hidden;background-color:#333;color:#bbb;text-align:center;padding:2px 8px 0;border-radius:4px;position:absolute;z-index:1;white-space:nowrap;font-size:11px;line-height:2em;bottom:100%;left:50%;transform:translate(-50%)}span.ap-marker-container:hover span.ap-marker-tooltip{visibility:visible}.ap-player .ap-overlay{z-index:10;background-repeat:no-repeat;background-position:center;position:absolute;inset:0;display:flex;justify-content:center;align-items:center}.ap-player .ap-overlay-start{cursor:pointer}.ap-player .ap-overlay-start .ap-play-button{font-size:0px;position:absolute;inset:0;text-align:center;color:#fff;height:80px;max-height:66%;margin:auto}.ap-player .ap-overlay-start .ap-play-button div{height:100%}.ap-player .ap-overlay-start .ap-play-button div span{height:100%;display:block}.ap-player .ap-overlay-start .ap-play-button div span svg{height:100%}.ap-player .ap-overlay-start .ap-play-button svg{filter:drop-shadow(0px 0px 5px rgba(0,0,0,.4))}.ap-player .ap-overlay-loading .ap-loader{width:48px;height:48px;border-radius:50%;display:inline-block;position:relative;border:10px solid;border-color:rgba(255,255,255,.3) rgba(255,255,255,.5) rgba(255,255,255,.7) #ffffff;border-color:color-mix(in srgb,var(--term-color-foreground) 30%,var(--term-color-background)) color-mix(in srgb,var(--term-color-foreground) 50%,var(--term-color-background)) color-mix(in srgb,var(--term-color-foreground) 70%,var(--term-color-background)) color-mix(in srgb,var(--term-color-foreground) 100%,var(--term-color-background));box-sizing:border-box;animation:ap-loader-rotation 1s linear infinite}.ap-player .ap-overlay-info{background-color:var(--term-color-background)}.ap-player .ap-overlay-info span{font-family:Consolas,Menlo,Bitstream Vera Sans Mono,monospace,Powerline Symbols;font-variant-ligatures:none;font-size:2em;color:var(--term-color-foreground)}.ap-player .ap-overlay-info span .ap-line{letter-spacing:normal;overflow:hidden}.ap-player .ap-overlay-info span .ap-line span{padding:0;display:inline-block;height:100%}.ap-player .ap-overlay-error span{font-size:8em}@keyframes ap-loader-rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ap-terminal .fg-16{--fg: #000000}.ap-terminal .bg-16{--bg: #000000}.ap-terminal .fg-17{--fg: #00005f}.ap-terminal .bg-17{--bg: #00005f}.ap-terminal .fg-18{--fg: #000087}.ap-terminal .bg-18{--bg: #000087}.ap-terminal .fg-19{--fg: #0000af}.ap-terminal .bg-19{--bg: #0000af}.ap-terminal .fg-20{--fg: #0000d7}.ap-terminal .bg-20{--bg: #0000d7}.ap-terminal .fg-21{--fg: #0000ff}.ap-terminal .bg-21{--bg: #0000ff}.ap-terminal .fg-22{--fg: #005f00}.ap-terminal .bg-22{--bg: #005f00}.ap-terminal .fg-23{--fg: #005f5f}.ap-terminal .bg-23{--bg: #005f5f}.ap-terminal .fg-24{--fg: #005f87}.ap-terminal .bg-24{--bg: #005f87}.ap-terminal .fg-25{--fg: #005faf}.ap-terminal .bg-25{--bg: #005faf}.ap-terminal .fg-26{--fg: #005fd7}.ap-terminal .bg-26{--bg: #005fd7}.ap-terminal .fg-27{--fg: #005fff}.ap-terminal .bg-27{--bg: #005fff}.ap-terminal .fg-28{--fg: #008700}.ap-terminal .bg-28{--bg: #008700}.ap-terminal .fg-29{--fg: #00875f}.ap-terminal .bg-29{--bg: #00875f}.ap-terminal .fg-30{--fg: #008787}.ap-terminal .bg-30{--bg: #008787}.ap-terminal .fg-31{--fg: #0087af}.ap-terminal .bg-31{--bg: #0087af}.ap-terminal .fg-32{--fg: #0087d7}.ap-terminal .bg-32{--bg: #0087d7}.ap-terminal .fg-33{--fg: #0087ff}.ap-terminal .bg-33{--bg: #0087ff}.ap-terminal .fg-34{--fg: #00af00}.ap-terminal .bg-34{--bg: #00af00}.ap-terminal .fg-35{--fg: #00af5f}.ap-terminal .bg-35{--bg: #00af5f}.ap-terminal .fg-36{--fg: #00af87}.ap-terminal .bg-36{--bg: #00af87}.ap-terminal .fg-37{--fg: #00afaf}.ap-terminal .bg-37{--bg: #00afaf}.ap-terminal .fg-38{--fg: #00afd7}.ap-terminal .bg-38{--bg: #00afd7}.ap-terminal .fg-39{--fg: #00afff}.ap-terminal .bg-39{--bg: #00afff}.ap-terminal .fg-40{--fg: #00d700}.ap-terminal .bg-40{--bg: #00d700}.ap-terminal .fg-41{--fg: #00d75f}.ap-terminal .bg-41{--bg: #00d75f}.ap-terminal .fg-42{--fg: #00d787}.ap-terminal .bg-42{--bg: #00d787}.ap-terminal .fg-43{--fg: #00d7af}.ap-terminal .bg-43{--bg: #00d7af}.ap-terminal .fg-44{--fg: #00d7d7}.ap-terminal .bg-44{--bg: #00d7d7}.ap-terminal .fg-45{--fg: #00d7ff}.ap-terminal .bg-45{--bg: #00d7ff}.ap-terminal .fg-46{--fg: #00ff00}.ap-terminal .bg-46{--bg: #00ff00}.ap-terminal .fg-47{--fg: #00ff5f}.ap-terminal .bg-47{--bg: #00ff5f}.ap-terminal .fg-48{--fg: #00ff87}.ap-terminal .bg-48{--bg: #00ff87}.ap-terminal .fg-49{--fg: #00ffaf}.ap-terminal .bg-49{--bg: #00ffaf}.ap-terminal .fg-50{--fg: #00ffd7}.ap-terminal .bg-50{--bg: #00ffd7}.ap-terminal .fg-51{--fg: #00ffff}.ap-terminal .bg-51{--bg: #00ffff}.ap-terminal .fg-52{--fg: #5f0000}.ap-terminal .bg-52{--bg: #5f0000}.ap-terminal .fg-53{--fg: #5f005f}.ap-terminal .bg-53{--bg: #5f005f}.ap-terminal .fg-54{--fg: #5f0087}.ap-terminal .bg-54{--bg: #5f0087}.ap-terminal .fg-55{--fg: #5f00af}.ap-terminal .bg-55{--bg: #5f00af}.ap-terminal .fg-56{--fg: #5f00d7}.ap-terminal .bg-56{--bg: #5f00d7}.ap-terminal .fg-57{--fg: #5f00ff}.ap-terminal .bg-57{--bg: #5f00ff}.ap-terminal .fg-58{--fg: #5f5f00}.ap-terminal .bg-58{--bg: #5f5f00}.ap-terminal .fg-59{--fg: #5f5f5f}.ap-terminal .bg-59{--bg: #5f5f5f}.ap-terminal .fg-60{--fg: #5f5f87}.ap-terminal .bg-60{--bg: #5f5f87}.ap-terminal .fg-61{--fg: #5f5faf}.ap-terminal .bg-61{--bg: #5f5faf}.ap-terminal .fg-62{--fg: #5f5fd7}.ap-terminal .bg-62{--bg: #5f5fd7}.ap-terminal .fg-63{--fg: #5f5fff}.ap-terminal .bg-63{--bg: #5f5fff}.ap-terminal .fg-64{--fg: #5f8700}.ap-terminal .bg-64{--bg: #5f8700}.ap-terminal .fg-65{--fg: #5f875f}.ap-terminal .bg-65{--bg: #5f875f}.ap-terminal .fg-66{--fg: #5f8787}.ap-terminal .bg-66{--bg: #5f8787}.ap-terminal .fg-67{--fg: #5f87af}.ap-terminal .bg-67{--bg: #5f87af}.ap-terminal .fg-68{--fg: #5f87d7}.ap-terminal .bg-68{--bg: #5f87d7}.ap-terminal .fg-69{--fg: #5f87ff}.ap-terminal .bg-69{--bg: #5f87ff}.ap-terminal .fg-70{--fg: #5faf00}.ap-terminal .bg-70{--bg: #5faf00}.ap-terminal .fg-71{--fg: #5faf5f}.ap-terminal .bg-71{--bg: #5faf5f}.ap-terminal .fg-72{--fg: #5faf87}.ap-terminal .bg-72{--bg: #5faf87}.ap-terminal .fg-73{--fg: #5fafaf}.ap-terminal .bg-73{--bg: #5fafaf}.ap-terminal .fg-74{--fg: #5fafd7}.ap-terminal .bg-74{--bg: #5fafd7}.ap-terminal .fg-75{--fg: #5fafff}.ap-terminal .bg-75{--bg: #5fafff}.ap-terminal .fg-76{--fg: #5fd700}.ap-terminal .bg-76{--bg: #5fd700}.ap-terminal .fg-77{--fg: #5fd75f}.ap-terminal .bg-77{--bg: #5fd75f}.ap-terminal .fg-78{--fg: #5fd787}.ap-terminal .bg-78{--bg: #5fd787}.ap-terminal .fg-79{--fg: #5fd7af}.ap-terminal .bg-79{--bg: #5fd7af}.ap-terminal .fg-80{--fg: #5fd7d7}.ap-terminal .bg-80{--bg: #5fd7d7}.ap-terminal .fg-81{--fg: #5fd7ff}.ap-terminal .bg-81{--bg: #5fd7ff}.ap-terminal .fg-82{--fg: #5fff00}.ap-terminal .bg-82{--bg: #5fff00}.ap-terminal .fg-83{--fg: #5fff5f}.ap-terminal .bg-83{--bg: #5fff5f}.ap-terminal .fg-84{--fg: #5fff87}.ap-terminal .bg-84{--bg: #5fff87}.ap-terminal .fg-85{--fg: #5fffaf}.ap-terminal .bg-85{--bg: #5fffaf}.ap-terminal .fg-86{--fg: #5fffd7}.ap-terminal .bg-86{--bg: #5fffd7}.ap-terminal .fg-87{--fg: #5fffff}.ap-terminal .bg-87{--bg: #5fffff}.ap-terminal .fg-88{--fg: #870000}.ap-terminal .bg-88{--bg: #870000}.ap-terminal .fg-89{--fg: #87005f}.ap-terminal .bg-89{--bg: #87005f}.ap-terminal .fg-90{--fg: #870087}.ap-terminal .bg-90{--bg: #870087}.ap-terminal .fg-91{--fg: #8700af}.ap-terminal .bg-91{--bg: #8700af}.ap-terminal .fg-92{--fg: #8700d7}.ap-terminal .bg-92{--bg: #8700d7}.ap-terminal .fg-93{--fg: #8700ff}.ap-terminal .bg-93{--bg: #8700ff}.ap-terminal .fg-94{--fg: #875f00}.ap-terminal .bg-94{--bg: #875f00}.ap-terminal .fg-95{--fg: #875f5f}.ap-terminal .bg-95{--bg: #875f5f}.ap-terminal .fg-96{--fg: #875f87}.ap-terminal .bg-96{--bg: #875f87}.ap-terminal .fg-97{--fg: #875faf}.ap-terminal .bg-97{--bg: #875faf}.ap-terminal .fg-98{--fg: #875fd7}.ap-terminal .bg-98{--bg: #875fd7}.ap-terminal .fg-99{--fg: #875fff}.ap-terminal .bg-99{--bg: #875fff}.ap-terminal .fg-100{--fg: #878700}.ap-terminal .bg-100{--bg: #878700}.ap-terminal .fg-101{--fg: #87875f}.ap-terminal .bg-101{--bg: #87875f}.ap-terminal .fg-102{--fg: #878787}.ap-terminal .bg-102{--bg: #878787}.ap-terminal .fg-103{--fg: #8787af}.ap-terminal .bg-103{--bg: #8787af}.ap-terminal .fg-104{--fg: #8787d7}.ap-terminal .bg-104{--bg: #8787d7}.ap-terminal .fg-105{--fg: #8787ff}.ap-terminal .bg-105{--bg: #8787ff}.ap-terminal .fg-106{--fg: #87af00}.ap-terminal .bg-106{--bg: #87af00}.ap-terminal .fg-107{--fg: #87af5f}.ap-terminal .bg-107{--bg: #87af5f}.ap-terminal .fg-108{--fg: #87af87}.ap-terminal .bg-108{--bg: #87af87}.ap-terminal .fg-109{--fg: #87afaf}.ap-terminal .bg-109{--bg: #87afaf}.ap-terminal .fg-110{--fg: #87afd7}.ap-terminal .bg-110{--bg: #87afd7}.ap-terminal .fg-111{--fg: #87afff}.ap-terminal .bg-111{--bg: #87afff}.ap-terminal .fg-112{--fg: #87d700}.ap-terminal .bg-112{--bg: #87d700}.ap-terminal .fg-113{--fg: #87d75f}.ap-terminal .bg-113{--bg: #87d75f}.ap-terminal .fg-114{--fg: #87d787}.ap-terminal .bg-114{--bg: #87d787}.ap-terminal .fg-115{--fg: #87d7af}.ap-terminal .bg-115{--bg: #87d7af}.ap-terminal .fg-116{--fg: #87d7d7}.ap-terminal .bg-116{--bg: #87d7d7}.ap-terminal .fg-117{--fg: #87d7ff}.ap-terminal .bg-117{--bg: #87d7ff}.ap-terminal .fg-118{--fg: #87ff00}.ap-terminal .bg-118{--bg: #87ff00}.ap-terminal .fg-119{--fg: #87ff5f}.ap-terminal .bg-119{--bg: #87ff5f}.ap-terminal .fg-120{--fg: #87ff87}.ap-terminal .bg-120{--bg: #87ff87}.ap-terminal .fg-121{--fg: #87ffaf}.ap-terminal .bg-121{--bg: #87ffaf}.ap-terminal .fg-122{--fg: #87ffd7}.ap-terminal .bg-122{--bg: #87ffd7}.ap-terminal .fg-123{--fg: #87ffff}.ap-terminal .bg-123{--bg: #87ffff}.ap-terminal .fg-124{--fg: #af0000}.ap-terminal .bg-124{--bg: #af0000}.ap-terminal .fg-125{--fg: #af005f}.ap-terminal .bg-125{--bg: #af005f}.ap-terminal .fg-126{--fg: #af0087}.ap-terminal .bg-126{--bg: #af0087}.ap-terminal .fg-127{--fg: #af00af}.ap-terminal .bg-127{--bg: #af00af}.ap-terminal .fg-128{--fg: #af00d7}.ap-terminal .bg-128{--bg: #af00d7}.ap-terminal .fg-129{--fg: #af00ff}.ap-terminal .bg-129{--bg: #af00ff}.ap-terminal .fg-130{--fg: #af5f00}.ap-terminal .bg-130{--bg: #af5f00}.ap-terminal .fg-131{--fg: #af5f5f}.ap-terminal .bg-131{--bg: #af5f5f}.ap-terminal .fg-132{--fg: #af5f87}.ap-terminal .bg-132{--bg: #af5f87}.ap-terminal .fg-133{--fg: #af5faf}.ap-terminal .bg-133{--bg: #af5faf}.ap-terminal .fg-134{--fg: #af5fd7}.ap-terminal .bg-134{--bg: #af5fd7}.ap-terminal .fg-135{--fg: #af5fff}.ap-terminal .bg-135{--bg: #af5fff}.ap-terminal .fg-136{--fg: #af8700}.ap-terminal .bg-136{--bg: #af8700}.ap-terminal .fg-137{--fg: #af875f}.ap-terminal .bg-137{--bg: #af875f}.ap-terminal .fg-138{--fg: #af8787}.ap-terminal .bg-138{--bg: #af8787}.ap-terminal .fg-139{--fg: #af87af}.ap-terminal .bg-139{--bg: #af87af}.ap-terminal .fg-140{--fg: #af87d7}.ap-terminal .bg-140{--bg: #af87d7}.ap-terminal .fg-141{--fg: #af87ff}.ap-terminal .bg-141{--bg: #af87ff}.ap-terminal .fg-142{--fg: #afaf00}.ap-terminal .bg-142{--bg: #afaf00}.ap-terminal .fg-143{--fg: #afaf5f}.ap-terminal .bg-143{--bg: #afaf5f}.ap-terminal .fg-144{--fg: #afaf87}.ap-terminal .bg-144{--bg: #afaf87}.ap-terminal .fg-145{--fg: #afafaf}.ap-terminal .bg-145{--bg: #afafaf}.ap-terminal .fg-146{--fg: #afafd7}.ap-terminal .bg-146{--bg: #afafd7}.ap-terminal .fg-147{--fg: #afafff}.ap-terminal .bg-147{--bg: #afafff}.ap-terminal .fg-148{--fg: #afd700}.ap-terminal .bg-148{--bg: #afd700}.ap-terminal .fg-149{--fg: #afd75f}.ap-terminal .bg-149{--bg: #afd75f}.ap-terminal .fg-150{--fg: #afd787}.ap-terminal .bg-150{--bg: #afd787}.ap-terminal .fg-151{--fg: #afd7af}.ap-terminal .bg-151{--bg: #afd7af}.ap-terminal .fg-152{--fg: #afd7d7}.ap-terminal .bg-152{--bg: #afd7d7}.ap-terminal .fg-153{--fg: #afd7ff}.ap-terminal .bg-153{--bg: #afd7ff}.ap-terminal .fg-154{--fg: #afff00}.ap-terminal .bg-154{--bg: #afff00}.ap-terminal .fg-155{--fg: #afff5f}.ap-terminal .bg-155{--bg: #afff5f}.ap-terminal .fg-156{--fg: #afff87}.ap-terminal .bg-156{--bg: #afff87}.ap-terminal .fg-157{--fg: #afffaf}.ap-terminal .bg-157{--bg: #afffaf}.ap-terminal .fg-158{--fg: #afffd7}.ap-terminal .bg-158{--bg: #afffd7}.ap-terminal .fg-159{--fg: #afffff}.ap-terminal .bg-159{--bg: #afffff}.ap-terminal .fg-160{--fg: #d70000}.ap-terminal .bg-160{--bg: #d70000}.ap-terminal .fg-161{--fg: #d7005f}.ap-terminal .bg-161{--bg: #d7005f}.ap-terminal .fg-162{--fg: #d70087}.ap-terminal .bg-162{--bg: #d70087}.ap-terminal .fg-163{--fg: #d700af}.ap-terminal .bg-163{--bg: #d700af}.ap-terminal .fg-164{--fg: #d700d7}.ap-terminal .bg-164{--bg: #d700d7}.ap-terminal .fg-165{--fg: #d700ff}.ap-terminal .bg-165{--bg: #d700ff}.ap-terminal .fg-166{--fg: #d75f00}.ap-terminal .bg-166{--bg: #d75f00}.ap-terminal .fg-167{--fg: #d75f5f}.ap-terminal .bg-167{--bg: #d75f5f}.ap-terminal .fg-168{--fg: #d75f87}.ap-terminal .bg-168{--bg: #d75f87}.ap-terminal .fg-169{--fg: #d75faf}.ap-terminal .bg-169{--bg: #d75faf}.ap-terminal .fg-170{--fg: #d75fd7}.ap-terminal .bg-170{--bg: #d75fd7}.ap-terminal .fg-171{--fg: #d75fff}.ap-terminal .bg-171{--bg: #d75fff}.ap-terminal .fg-172{--fg: #d78700}.ap-terminal .bg-172{--bg: #d78700}.ap-terminal .fg-173{--fg: #d7875f}.ap-terminal .bg-173{--bg: #d7875f}.ap-terminal .fg-174{--fg: #d78787}.ap-terminal .bg-174{--bg: #d78787}.ap-terminal .fg-175{--fg: #d787af}.ap-terminal .bg-175{--bg: #d787af}.ap-terminal .fg-176{--fg: #d787d7}.ap-terminal .bg-176{--bg: #d787d7}.ap-terminal .fg-177{--fg: #d787ff}.ap-terminal .bg-177{--bg: #d787ff}.ap-terminal .fg-178{--fg: #d7af00}.ap-terminal .bg-178{--bg: #d7af00}.ap-terminal .fg-179{--fg: #d7af5f}.ap-terminal .bg-179{--bg: #d7af5f}.ap-terminal .fg-180{--fg: #d7af87}.ap-terminal .bg-180{--bg: #d7af87}.ap-terminal .fg-181{--fg: #d7afaf}.ap-terminal .bg-181{--bg: #d7afaf}.ap-terminal .fg-182{--fg: #d7afd7}.ap-terminal .bg-182{--bg: #d7afd7}.ap-terminal .fg-183{--fg: #d7afff}.ap-terminal .bg-183{--bg: #d7afff}.ap-terminal .fg-184{--fg: #d7d700}.ap-terminal .bg-184{--bg: #d7d700}.ap-terminal .fg-185{--fg: #d7d75f}.ap-terminal .bg-185{--bg: #d7d75f}.ap-terminal .fg-186{--fg: #d7d787}.ap-terminal .bg-186{--bg: #d7d787}.ap-terminal .fg-187{--fg: #d7d7af}.ap-terminal .bg-187{--bg: #d7d7af}.ap-terminal .fg-188{--fg: #d7d7d7}.ap-terminal .bg-188{--bg: #d7d7d7}.ap-terminal .fg-189{--fg: #d7d7ff}.ap-terminal .bg-189{--bg: #d7d7ff}.ap-terminal .fg-190{--fg: #d7ff00}.ap-terminal .bg-190{--bg: #d7ff00}.ap-terminal .fg-191{--fg: #d7ff5f}.ap-terminal .bg-191{--bg: #d7ff5f}.ap-terminal .fg-192{--fg: #d7ff87}.ap-terminal .bg-192{--bg: #d7ff87}.ap-terminal .fg-193{--fg: #d7ffaf}.ap-terminal .bg-193{--bg: #d7ffaf}.ap-terminal .fg-194{--fg: #d7ffd7}.ap-terminal .bg-194{--bg: #d7ffd7}.ap-terminal .fg-195{--fg: #d7ffff}.ap-terminal .bg-195{--bg: #d7ffff}.ap-terminal .fg-196{--fg: #ff0000}.ap-terminal .bg-196{--bg: #ff0000}.ap-terminal .fg-197{--fg: #ff005f}.ap-terminal .bg-197{--bg: #ff005f}.ap-terminal .fg-198{--fg: #ff0087}.ap-terminal .bg-198{--bg: #ff0087}.ap-terminal .fg-199{--fg: #ff00af}.ap-terminal .bg-199{--bg: #ff00af}.ap-terminal .fg-200{--fg: #ff00d7}.ap-terminal .bg-200{--bg: #ff00d7}.ap-terminal .fg-201{--fg: #ff00ff}.ap-terminal .bg-201{--bg: #ff00ff}.ap-terminal .fg-202{--fg: #ff5f00}.ap-terminal .bg-202{--bg: #ff5f00}.ap-terminal .fg-203{--fg: #ff5f5f}.ap-terminal .bg-203{--bg: #ff5f5f}.ap-terminal .fg-204{--fg: #ff5f87}.ap-terminal .bg-204{--bg: #ff5f87}.ap-terminal .fg-205{--fg: #ff5faf}.ap-terminal .bg-205{--bg: #ff5faf}.ap-terminal .fg-206{--fg: #ff5fd7}.ap-terminal .bg-206{--bg: #ff5fd7}.ap-terminal .fg-207{--fg: #ff5fff}.ap-terminal .bg-207{--bg: #ff5fff}.ap-terminal .fg-208{--fg: #ff8700}.ap-terminal .bg-208{--bg: #ff8700}.ap-terminal .fg-209{--fg: #ff875f}.ap-terminal .bg-209{--bg: #ff875f}.ap-terminal .fg-210{--fg: #ff8787}.ap-terminal .bg-210{--bg: #ff8787}.ap-terminal .fg-211{--fg: #ff87af}.ap-terminal .bg-211{--bg: #ff87af}.ap-terminal .fg-212{--fg: #ff87d7}.ap-terminal .bg-212{--bg: #ff87d7}.ap-terminal .fg-213{--fg: #ff87ff}.ap-terminal .bg-213{--bg: #ff87ff}.ap-terminal .fg-214{--fg: #ffaf00}.ap-terminal .bg-214{--bg: #ffaf00}.ap-terminal .fg-215{--fg: #ffaf5f}.ap-terminal .bg-215{--bg: #ffaf5f}.ap-terminal .fg-216{--fg: #ffaf87}.ap-terminal .bg-216{--bg: #ffaf87}.ap-terminal .fg-217{--fg: #ffafaf}.ap-terminal .bg-217{--bg: #ffafaf}.ap-terminal .fg-218{--fg: #ffafd7}.ap-terminal .bg-218{--bg: #ffafd7}.ap-terminal .fg-219{--fg: #ffafff}.ap-terminal .bg-219{--bg: #ffafff}.ap-terminal .fg-220{--fg: #ffd700}.ap-terminal .bg-220{--bg: #ffd700}.ap-terminal .fg-221{--fg: #ffd75f}.ap-terminal .bg-221{--bg: #ffd75f}.ap-terminal .fg-222{--fg: #ffd787}.ap-terminal .bg-222{--bg: #ffd787}.ap-terminal .fg-223{--fg: #ffd7af}.ap-terminal .bg-223{--bg: #ffd7af}.ap-terminal .fg-224{--fg: #ffd7d7}.ap-terminal .bg-224{--bg: #ffd7d7}.ap-terminal .fg-225{--fg: #ffd7ff}.ap-terminal .bg-225{--bg: #ffd7ff}.ap-terminal .fg-226{--fg: #ffff00}.ap-terminal .bg-226{--bg: #ffff00}.ap-terminal .fg-227{--fg: #ffff5f}.ap-terminal .bg-227{--bg: #ffff5f}.ap-terminal .fg-228{--fg: #ffff87}.ap-terminal .bg-228{--bg: #ffff87}.ap-terminal .fg-229{--fg: #ffffaf}.ap-terminal .bg-229{--bg: #ffffaf}.ap-terminal .fg-230{--fg: #ffffd7}.ap-terminal .bg-230{--bg: #ffffd7}.ap-terminal .fg-231{--fg: #ffffff}.ap-terminal .bg-231{--bg: #ffffff}.ap-terminal .fg-232{--fg: #080808}.ap-terminal .bg-232{--bg: #080808}.ap-terminal .fg-233{--fg: #121212}.ap-terminal .bg-233{--bg: #121212}.ap-terminal .fg-234{--fg: #1c1c1c}.ap-terminal .bg-234{--bg: #1c1c1c}.ap-terminal .fg-235{--fg: #262626}.ap-terminal .bg-235{--bg: #262626}.ap-terminal .fg-236{--fg: #303030}.ap-terminal .bg-236{--bg: #303030}.ap-terminal .fg-237{--fg: #3a3a3a}.ap-terminal .bg-237{--bg: #3a3a3a}.ap-terminal .fg-238{--fg: #444444}.ap-terminal .bg-238{--bg: #444444}.ap-terminal .fg-239{--fg: #4e4e4e}.ap-terminal .bg-239{--bg: #4e4e4e}.ap-terminal .fg-240{--fg: #585858}.ap-terminal .bg-240{--bg: #585858}.ap-terminal .fg-241{--fg: #626262}.ap-terminal .bg-241{--bg: #626262}.ap-terminal .fg-242{--fg: #6c6c6c}.ap-terminal .bg-242{--bg: #6c6c6c}.ap-terminal .fg-243{--fg: #767676}.ap-terminal .bg-243{--bg: #767676}.ap-terminal .fg-244{--fg: #808080}.ap-terminal .bg-244{--bg: #808080}.ap-terminal .fg-245{--fg: #8a8a8a}.ap-terminal .bg-245{--bg: #8a8a8a}.ap-terminal .fg-246{--fg: #949494}.ap-terminal .bg-246{--bg: #949494}.ap-terminal .fg-247{--fg: #9e9e9e}.ap-terminal .bg-247{--bg: #9e9e9e}.ap-terminal .fg-248{--fg: #a8a8a8}.ap-terminal .bg-248{--bg: #a8a8a8}.ap-terminal .fg-249{--fg: #b2b2b2}.ap-terminal .bg-249{--bg: #b2b2b2}.ap-terminal .fg-250{--fg: #bcbcbc}.ap-terminal .bg-250{--bg: #bcbcbc}.ap-terminal .fg-251{--fg: #c6c6c6}.ap-terminal .bg-251{--bg: #c6c6c6}.ap-terminal .fg-252{--fg: #d0d0d0}.ap-terminal .bg-252{--bg: #d0d0d0}.ap-terminal .fg-253{--fg: #dadada}.ap-terminal .bg-253{--bg: #dadada}.ap-terminal .fg-254{--fg: #e4e4e4}.ap-terminal .bg-254{--bg: #e4e4e4}.ap-terminal .fg-255{--fg: #eeeeee}.ap-terminal .bg-255{--bg: #eeeeee}.asciinema-player-theme-asciinema{--term-color-foreground: #cccccc;--term-color-background: #121314;--term-color-0: hsl(0, 0%, 0%);--term-color-1: hsl(343, 70%, 55%);--term-color-2: hsl(103, 70%, 44%);--term-color-3: hsl(43, 70%, 55%);--term-color-4: hsl(193, 70%, 49.5%);--term-color-5: hsl(283, 70%, 60.5%);--term-color-6: hsl(163, 70%, 60.5%);--term-color-7: hsl(0, 0%, 85%);--term-color-8: hsl(0, 0%, 30%);--term-color-9: hsl(343, 70%, 55%);--term-color-10: hsl(103, 70%, 44%);--term-color-11: hsl(43, 70%, 55%);--term-color-12: hsl(193, 70%, 49.5%);--term-color-13: hsl(283, 70%, 60.5%);--term-color-14: hsl(163, 70%, 60.5%);--term-color-15: hsl(0, 0%, 100%)}.asciinema-player-theme-dracula{--term-color-foreground: #f8f8f2;--term-color-background: #282a36;--term-color-0: #21222c;--term-color-1: #ff5555;--term-color-2: #50fa7b;--term-color-3: #f1fa8c;--term-color-4: #bd93f9;--term-color-5: #ff79c6;--term-color-6: #8be9fd;--term-color-7: #f8f8f2;--term-color-8: #6272a4;--term-color-9: #ff6e6e;--term-color-10: #69ff94;--term-color-11: #ffffa5;--term-color-12: #d6acff;--term-color-13: #ff92df;--term-color-14: #a4ffff;--term-color-15: #ffffff}.asciinema-player-theme-monokai{--term-color-foreground: #f8f8f2;--term-color-background: #272822;--term-color-0: #272822;--term-color-1: #f92672;--term-color-2: #a6e22e;--term-color-3: #f4bf75;--term-color-4: #66d9ef;--term-color-5: #ae81ff;--term-color-6: #a1efe4;--term-color-7: #f8f8f2;--term-color-8: #75715e;--term-color-15: #f9f8f5}.asciinema-player-theme-nord{--term-color-foreground: #eceff4;--term-color-background: #2e3440;--term-color-0: #3b4252;--term-color-1: #bf616a;--term-color-2: #a3be8c;--term-color-3: #ebcb8b;--term-color-4: #81a1c1;--term-color-5: #b48ead;--term-color-6: #88c0d0;--term-color-7: #eceff4}.asciinema-player-theme-seti{--term-color-foreground: #cacecd;--term-color-background: #111213;--term-color-0: #323232;--term-color-1: #c22832;--term-color-2: #8ec43d;--term-color-3: #e0c64f;--term-color-4: #43a5d5;--term-color-5: #8b57b5;--term-color-6: #8ec43d;--term-color-7: #eeeeee;--term-color-15: #ffffff}.asciinema-player-theme-solarized-dark{--term-color-foreground: #839496;--term-color-background: #002b36;--term-color-0: #073642;--term-color-1: #dc322f;--term-color-2: #859900;--term-color-3: #b58900;--term-color-4: #268bd2;--term-color-5: #d33682;--term-color-6: #2aa198;--term-color-7: #eee8d5;--term-color-8: #002b36;--term-color-9: #cb4b16;--term-color-10: #586e75;--term-color-11: #657b83;--term-color-12: #839496;--term-color-13: #6c71c4;--term-color-14: #93a1a1;--term-color-15: #fdf6e3}.asciinema-player-theme-solarized-light{--term-color-foreground: #657b83;--term-color-background: #fdf6e3;--term-color-0: #073642;--term-color-1: #dc322f;--term-color-2: #859900;--term-color-3: #b58900;--term-color-4: #268bd2;--term-color-5: #d33682;--term-color-6: #2aa198;--term-color-7: #eee8d5;--term-color-8: #002b36;--term-color-9: #cb4b16;--term-color-10: #586e75;--term-color-11: #657c83;--term-color-12: #839496;--term-color-13: #6c71c4;--term-color-14: #93a1a1;--term-color-15: #fdf6e3}.asciinema-player-theme-solarized-light .ap-overlay-start .ap-play-button svg .ap-play-btn-fill{fill:var(--term-color-1)}.asciinema-player-theme-solarized-light .ap-overlay-start .ap-play-button svg .ap-play-btn-stroke{stroke:var(--term-color-1)}.asciinema-player-theme-tango{--term-color-foreground: #cccccc;--term-color-background: #121314;--term-color-0: #000000;--term-color-1: #cc0000;--term-color-2: #4e9a06;--term-color-3: #c4a000;--term-color-4: #3465a4;--term-color-5: #75507b;--term-color-6: #06989a;--term-color-7: #d3d7cf;--term-color-8: #555753;--term-color-9: #ef2929;--term-color-10: #8ae234;--term-color-11: #fce94f;--term-color-12: #729fcf;--term-color-13: #ad7fa8;--term-color-14: #34e2e2;--term-color-15: #eeeeec} diff --git a/data/gitea/public/assets/css/code-frequency-graph.55afbe7d.css b/data/gitea/public/assets/css/code-frequency-graph.55afbe7d.css new file mode 100644 index 0000000..0014ffa --- /dev/null +++ b/data/gitea/public/assets/css/code-frequency-graph.55afbe7d.css @@ -0,0 +1 @@ +.main-graph[data-v-8f699cd6]{height:440px} diff --git a/data/gitea/public/assets/css/colorpicker.ec78e358.css b/data/gitea/public/assets/css/colorpicker.ec78e358.css new file mode 100644 index 0000000..469db3c --- /dev/null +++ b/data/gitea/public/assets/css/colorpicker.ec78e358.css @@ -0,0 +1 @@ +.js-color-picker-input{display:flex;position:relative}.js-color-picker-input input{padding-top:8px!important;padding-bottom:8px!important;padding-left:32px!important}.js-color-picker-input .preview-square{position:absolute;aspect-ratio:1;height:16px;left:10px;top:50%;transform:translateY(-50%);border-radius:2px;background:repeating-linear-gradient(45deg,#aaa 25%,transparent 25%,transparent 75%,#aaa 75%,#aaa),repeating-linear-gradient(45deg,#aaa 25%,#fff 25% 75%,#aaa 75%,#aaa);background-position:0 0,4px 4px;background-size:8px 8px}.js-color-picker-input .preview-square:after{content:"";position:absolute;width:100%;height:100%;border-radius:inherit;background-color:currentcolor}hex-color-picker{width:180px;height:120px}hex-color-picker::part(hue-pointer),hex-color-picker::part(saturation-pointer){width:22px;height:22px}hex-color-picker::part(hue){flex-basis:16px} diff --git a/data/gitea/public/assets/css/contributors-graph.66f42f73.css b/data/gitea/public/assets/css/contributors-graph.66f42f73.css new file mode 100644 index 0000000..a286476 --- /dev/null +++ b/data/gitea/public/assets/css/contributors-graph.66f42f73.css @@ -0,0 +1 @@ +.main-graph[data-v-47958124]{height:260px;padding-top:2px}.contributor-grid[data-v-47958124]{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.contributor-grid[data-v-47958124]>*{min-width:0}@media (max-width: 991.98px){.contributor-grid[data-v-47958124]{grid-template-columns:repeat(1,1fr)}}.contributor-name[data-v-47958124]{margin-bottom:0} diff --git a/data/gitea/public/assets/css/dropzone.5a752d14.css b/data/gitea/public/assets/css/dropzone.5a752d14.css new file mode 100644 index 0000000..64e93a1 --- /dev/null +++ b/data/gitea/public/assets/css/dropzone.5a752d14.css @@ -0,0 +1 @@ +@keyframes passing-through{0%{opacity:0;transform:translateY(40px)}30%,70%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-40px)}}@keyframes slide-in{0%{opacity:0;transform:translateY(40px)}30%{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}10%{transform:scale(1.1)}20%{transform:scale(1)}}.dropzone,.dropzone *{box-sizing:border-box}.dropzone{min-height:150px;border:1px solid rgba(0,0,0,.8);border-radius:5px;padding:20px}.dropzone.dz-clickable{cursor:pointer}.dropzone.dz-clickable *{cursor:default}.dropzone.dz-clickable .dz-message,.dropzone.dz-clickable .dz-message *{cursor:pointer}.dropzone.dz-started .dz-message{display:none}.dropzone.dz-drag-hover{border-style:solid}.dropzone.dz-drag-hover .dz-message{opacity:.5}.dropzone .dz-message{text-align:center;margin:3em 0}.dropzone .dz-message .dz-button{background:none;color:inherit;border:none;padding:0;font:inherit;cursor:pointer;outline:inherit}.dropzone .dz-preview{position:relative;display:inline-block;vertical-align:top;margin:16px;min-height:100px}.dropzone .dz-preview:hover{z-index:1000}.dropzone .dz-preview.dz-file-preview .dz-image{border-radius:20px;background:#999;background:linear-gradient(to bottom,#eee,#ddd)}.dropzone .dz-preview.dz-file-preview .dz-details{opacity:1}.dropzone .dz-preview.dz-image-preview{background:#fff}.dropzone .dz-preview.dz-image-preview .dz-details{transition:opacity .2s linear}.dropzone .dz-preview .dz-remove{font-size:14px;text-align:center;display:block;cursor:pointer;border:none}.dropzone .dz-preview .dz-remove:hover{text-decoration:underline}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview .dz-details{z-index:20;position:absolute;top:0;left:0;opacity:0;font-size:13px;min-width:100%;max-width:100%;padding:2em 1em;text-align:center;color:#000000e6;line-height:150%}.dropzone .dz-preview .dz-details .dz-size{margin-bottom:1em;font-size:16px}.dropzone .dz-preview .dz-details .dz-filename{white-space:nowrap}.dropzone .dz-preview .dz-details .dz-filename:hover span{border:1px solid rgba(200,200,200,.8);background-color:#fffc}.dropzone .dz-preview .dz-details .dz-filename:not(:hover){overflow:hidden;text-overflow:ellipsis}.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span{border:1px solid transparent}.dropzone .dz-preview .dz-details .dz-filename span,.dropzone .dz-preview .dz-details .dz-size span{background-color:#fff6;padding:0 .4em;border-radius:3px}.dropzone .dz-preview:hover .dz-image img{transform:scale(1.05);filter:blur(8px)}.dropzone .dz-preview .dz-image{border-radius:20px;overflow:hidden;width:120px;height:120px;position:relative;display:block;z-index:10}.dropzone .dz-preview .dz-image img{display:block}.dropzone .dz-preview.dz-success .dz-success-mark{animation:passing-through 3s cubic-bezier(.77,0,.175,1)}.dropzone .dz-preview.dz-error .dz-error-mark{opacity:1;animation:slide-in 3s cubic-bezier(.77,0,.175,1)}.dropzone .dz-preview .dz-success-mark,.dropzone .dz-preview .dz-error-mark{pointer-events:none;opacity:0;z-index:500;position:absolute;display:block;top:50%;left:50%;margin-left:-27px;margin-top:-27px;background:#000c;border-radius:50%}.dropzone .dz-preview .dz-success-mark svg,.dropzone .dz-preview .dz-error-mark svg{display:block;width:54px;height:54px;fill:#fff}.dropzone .dz-preview.dz-processing .dz-progress{opacity:1;transition:all .2s linear}.dropzone .dz-preview.dz-complete .dz-progress{opacity:0;transition:opacity .4s ease-in}.dropzone .dz-preview:not(.dz-processing) .dz-progress{animation:pulse 6s ease infinite}.dropzone .dz-preview .dz-progress{opacity:1;z-index:1000;pointer-events:none;position:absolute;height:20px;top:50%;margin-top:-10px;left:15%;right:15%;border:3px solid rgba(0,0,0,.8);background:#000c;border-radius:10px;overflow:hidden}.dropzone .dz-preview .dz-progress .dz-upload{background:#fff;display:block;position:relative;height:100%;width:0;transition:width .3s ease-in-out;border-radius:17px}.dropzone .dz-preview.dz-error .dz-error-message{display:block}.dropzone .dz-preview.dz-error:hover .dz-error-message{opacity:1;pointer-events:auto}.dropzone .dz-preview .dz-error-message{pointer-events:none;z-index:1000;position:absolute;display:block;display:none;opacity:0;transition:opacity .3s ease;border-radius:8px;font-size:13px;top:130px;left:-10px;width:140px;background:#b10606;padding:.5em 1em;color:#fff}.dropzone .dz-preview .dz-error-message:after{content:"";position:absolute;top:-6px;left:64px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #b10606} diff --git a/data/gitea/public/assets/css/index.css b/data/gitea/public/assets/css/index.css new file mode 100644 index 0000000..7f481eb --- /dev/null +++ b/data/gitea/public/assets/css/index.css @@ -0,0 +1 @@ +ul[data-v-80805488]{list-style:none;margin:0;padding-left:0}ul li[data-v-80805488]{padding:0 10px}ul li[data-v-80805488]:not(:last-child){border-bottom:1px solid var(--color-secondary)}.repos-search[data-v-80805488]{padding-bottom:0!important}.repos-filter[data-v-80805488]{margin-top:0!important;border-bottom-width:0!important}.repos-filter .item[data-v-80805488]{padding-left:6px!important;padding-right:6px!important}.repo-list-link[data-v-80805488]{min-width:0;display:flex;align-items:center;flex:1;gap:.5rem}.repo-list-link .svg[data-v-80805488]{color:var(--color-text-light-2)}.repo-list-icon[data-v-80805488]{min-width:16px;margin-right:2px}.repo-list-icon.octicon-mirror[data-v-80805488]{width:14px;min-width:14px;margin-left:1px;margin-right:3px}.repo-owner-name-list li.active[data-v-80805488]{background:var(--color-hover)}a[data-v-9574f84c],a[data-v-9574f84c]:hover{text-decoration:none;color:var(--color-text)}.sub-items[data-v-9574f84c]{display:flex;flex-direction:column;gap:1px;margin-left:13px;border-left:1px solid var(--color-secondary)}.sub-items .item-file[data-v-9574f84c]{padding-left:18px}.item-file.selected[data-v-9574f84c]{color:var(--color-text);background:var(--color-active);border-radius:4px}.item-file.viewed[data-v-9574f84c]{color:var(--color-text-light-3)}.item-file[data-v-9574f84c],.item-directory[data-v-9574f84c]{display:flex;align-items:center;gap:.25em;padding:3px 6px}.item-file[data-v-9574f84c]:hover,.item-directory[data-v-9574f84c]:hover{color:var(--color-text);background:var(--color-hover);border-radius:4px;cursor:pointer}.diff-file-tree-items[data-v-3385ef54]{display:flex;flex-direction:column;gap:1px;margin-right:.5rem}.hovered[data-v-37badef1]:not(.selection){background-color:var(--color-small-accent)!important}.selection[data-v-37badef1]{background-color:var(--color-accent)!important}.info[data-v-37badef1]{display:inline-block;padding:7px 14px!important;line-height:1.4;width:100%}#diff-commit-selector-menu[data-v-37badef1]{margin-top:.25em;overflow-x:hidden;max-height:450px}#diff-commit-selector-menu .loading-indicator[data-v-37badef1]{height:200px;width:350px}#diff-commit-selector-menu .item[data-v-37badef1],#diff-commit-selector-menu .info[data-v-37badef1]{display:flex!important;flex-direction:row;line-height:1.4;padding:7px 14px!important;gap:.25em}#diff-commit-selector-menu .item[data-v-37badef1]:not(:first-child),#diff-commit-selector-menu .info[data-v-37badef1]:not(:first-child){border-top:1px solid var(--color-secondary)!important}#diff-commit-selector-menu .item[data-v-37badef1]:focus{color:var(--color-text);background:var(--color-hover)}#diff-commit-selector-menu .commit-list-summary[data-v-37badef1]{max-width:min(380px,96vw)}.ui.dropdown .menu.show[data-v-4cc25658]{display:block}.ui.checkbox label[data-v-4cc25658]{cursor:pointer}.ui.merge-button[data-v-4cc25658]{position:relative}.ui.merge-button .ui.dropdown[data-v-4cc25658]{position:static}.ui.merge-button>.ui.dropdown:last-child>.menu[data-v-4cc25658]:not(.left){left:0;right:auto}.ui.merge-button .ui.dropdown .menu>.item[data-v-4cc25658]{display:flex;align-items:stretch;padding:0!important}.action-text[data-v-4cc25658]{padding:.8rem;flex:1}.auto-merge-small[data-v-4cc25658]{width:40px;display:flex;align-items:center;justify-content:center;position:relative}.auto-merge-small .auto-merge-tip[data-v-4cc25658]{display:none;left:38px;top:-1px;bottom:-1px;position:absolute;align-items:center;color:var(--color-info-text);background-color:var(--color-info-bg);border:1px solid var(--color-info-border);border-left:none;padding-right:1rem}.auto-merge-small[data-v-4cc25658]:hover{color:var(--color-info-text);background-color:var(--color-info-bg);border:1px solid var(--color-info-border)}.auto-merge-small:hover .auto-merge-tip[data-v-4cc25658]{display:flex}.action-view-body[data-v-2e3e6354]{padding-top:12px;padding-bottom:12px;display:flex;gap:12px}.action-view-header[data-v-2e3e6354]{margin-top:8px}.action-info-summary[data-v-2e3e6354]{display:flex;align-items:center;justify-content:space-between;gap:8px}.action-info-summary-title[data-v-2e3e6354]{display:flex}.action-info-summary-title-text[data-v-2e3e6354]{font-size:20px;margin:0 0 0 8px;flex:1;overflow-wrap:anywhere}.action-commit-summary[data-v-2e3e6354]{display:flex;flex-wrap:wrap;gap:5px;margin-left:28px}@media (max-width: 767.98px){.action-commit-summary[data-v-2e3e6354]{margin-left:0;margin-top:8px}}.action-view-left[data-v-2e3e6354]{width:30%;max-width:400px;position:sticky;top:12px;max-height:100vh;overflow-y:auto;background:var(--color-body);z-index:2}@media (max-width: 767.98px){.action-view-left[data-v-2e3e6354]{position:static}}.job-artifacts-title[data-v-2e3e6354]{font-size:18px;margin-top:16px;padding:16px 10px 0 20px;border-top:1px solid var(--color-secondary)}.job-artifacts-item[data-v-2e3e6354]{margin:5px 0;padding:6px;display:flex;justify-content:space-between}.job-artifacts-list[data-v-2e3e6354]{padding-left:12px;list-style:none}.job-artifacts-icon[data-v-2e3e6354]{padding-right:3px}.job-brief-list[data-v-2e3e6354]{display:flex;flex-direction:column;gap:8px}.job-brief-item[data-v-2e3e6354]{padding:10px;border-radius:var(--border-radius);text-decoration:none;display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;color:var(--color-text)}.job-brief-item[data-v-2e3e6354]:hover{background-color:var(--color-hover)}.job-brief-item.selected[data-v-2e3e6354]{font-weight:var(--font-weight-bold);background-color:var(--color-active)}.job-brief-item[data-v-2e3e6354]:first-of-type{margin-top:0}.job-brief-item .job-brief-rerun[data-v-2e3e6354]{cursor:pointer;transition:transform .2s}.job-brief-item .job-brief-rerun[data-v-2e3e6354]:hover{transform:scale(1.3)}.job-brief-item .job-brief-item-left[data-v-2e3e6354]{display:flex;width:100%;min-width:0}.job-brief-item .job-brief-item-left span[data-v-2e3e6354]{display:flex;align-items:center}.job-brief-item .job-brief-item-left .job-brief-name[data-v-2e3e6354]{display:block;width:70%}.job-brief-item .job-brief-item-right[data-v-2e3e6354]{display:flex;align-items:center}.action-view-right[data-v-2e3e6354]{flex:1;color:var(--color-console-fg-subtle);max-height:100%;width:70%;display:flex;flex-direction:column;border:1px solid var(--color-console-border);border-radius:var(--border-radius);background:var(--color-console-bg);align-self:flex-start}.action-view-right .ui.button[data-v-2e3e6354],.action-view-right .ui.button[data-v-2e3e6354]:focus{background:transparent;color:var(--color-console-fg-subtle)}.action-view-right .ui.button[data-v-2e3e6354]:hover{background:var(--color-console-hover-bg);color:var(--color-console-fg)}.action-view-right .ui.button[data-v-2e3e6354]:active{background:var(--color-console-active-bg);color:var(--color-console-fg)}.action-view-right .ui.dropdown .menu[data-v-2e3e6354]{background:var(--color-console-menu-bg);border-color:var(--color-console-menu-border)}.action-view-right .ui.dropdown .menu>.item[data-v-2e3e6354]{color:var(--color-console-fg)}.action-view-right .ui.dropdown .menu>.item[data-v-2e3e6354]:hover{color:var(--color-console-fg);background:var(--color-console-hover-bg)}.action-view-right .ui.dropdown .menu>.item[data-v-2e3e6354]:active{color:var(--color-console-fg);background:var(--color-console-active-bg)}.action-view-right .ui.dropdown .menu>.divider[data-v-2e3e6354]{border-top-color:var(--color-console-menu-border)}.action-view-right .ui.pointing.dropdown>.menu[data-v-2e3e6354]:not(.hidden):after{background:var(--color-console-menu-bg);box-shadow:-1px -1px 0 0 var(--color-console-menu-border)}.job-info-header[data-v-2e3e6354]{display:flex;justify-content:space-between;align-items:center;padding:0 12px;position:sticky;top:0;height:60px;z-index:1;background:var(--color-console-bg);border-radius:3px}.job-info-header[data-v-2e3e6354]:has(+.job-step-container){border-radius:var(--border-radius) var(--border-radius) 0 0}.job-info-header .job-info-header-title[data-v-2e3e6354]{color:var(--color-console-fg);font-size:16px;margin:0}.job-info-header .job-info-header-detail[data-v-2e3e6354]{color:var(--color-console-fg-subtle);font-size:12px}.job-info-header-left[data-v-2e3e6354]{flex:1}.job-step-container[data-v-2e3e6354]{max-height:100%;border-radius:0 0 var(--border-radius) var(--border-radius);border-top:1px solid var(--color-console-border);z-index:0}.job-step-container .job-step-summary[data-v-2e3e6354]{padding:5px 10px;display:flex;align-items:center;border-radius:var(--border-radius)}.job-step-container .job-step-summary.step-expandable[data-v-2e3e6354]{cursor:pointer}.job-step-container .job-step-summary.step-expandable[data-v-2e3e6354]:hover{color:var(--color-console-fg);background:var(--color-console-hover-bg)}.job-step-container .job-step-summary .step-summary-msg[data-v-2e3e6354]{flex:1}.job-step-container .job-step-summary .step-summary-duration[data-v-2e3e6354]{margin-left:16px}.job-step-container .job-step-summary.selected[data-v-2e3e6354]{color:var(--color-console-fg);background-color:var(--color-console-active-bg);position:sticky;top:60px}@media (max-width: 767.98px){.action-view-body[data-v-2e3e6354]{flex-direction:column}.action-view-left[data-v-2e3e6354],.action-view-right[data-v-2e3e6354]{width:100%}.action-view-left[data-v-2e3e6354]{max-width:none}}.job-status-rotate{animation:job-status-rotate-keyframes 1s linear infinite}@keyframes job-status-rotate-keyframes{to{transform:rotate(-360deg)}}.job-step-section{margin:10px}.job-step-section .job-step-logs{font-family:var(--fonts-monospace);margin:8px 0;font-size:12px}.job-step-section .job-step-logs .job-log-line{display:flex}.job-log-line:hover,.job-log-line:target{background-color:var(--color-console-hover-bg)}.job-log-line:target{scroll-margin-top:95px}.job-log-line .line-num,.log-time-seconds{width:48px;color:var(--color-text-light-3);text-align:right;user-select:none}.job-log-line:target>.line-num{color:var(--color-primary);text-decoration:underline}.log-time-seconds{padding-right:2px}.job-log-line .log-time,.log-time-stamp{color:var(--color-text-light-3);margin-left:10px;white-space:nowrap}.job-step-section .job-step-logs .job-log-line .log-msg{flex:1;word-break:break-all;white-space:break-spaces;margin-left:10px;overflow-wrap:anywhere}.full.height>.action-view-right{width:100%;height:100%;padding:0;border-radius:0}.full.height>.action-view-right>.job-info-header{border-radius:0}.full.height>.action-view-right>.job-step-container{height:calc(100% - 60px);border-radius:0}.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:0 0}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:0 0}.cm-fat-cursor{caret-color:transparent}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;inset:-50px 0 0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error,.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:#ff96004d}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:0;position:relative;z-index:0}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none;outline:0}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:0 0!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:0 0;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;inset:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors,.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:0 0}.EasyMDEContainer{display:block}.CodeMirror-rtl pre{direction:rtl}.EasyMDEContainer.sided--no-fullscreen{display:flex;flex-direction:row;flex-wrap:wrap}.EasyMDEContainer .CodeMirror{box-sizing:border-box;height:auto;border:1px solid #ced4da;border-bottom-left-radius:4px;border-bottom-right-radius:4px;padding:10px;font:inherit;z-index:0;word-wrap:break-word}.EasyMDEContainer .CodeMirror-scroll{cursor:text}.EasyMDEContainer .CodeMirror-fullscreen{background:#fff;position:fixed!important;inset:50px 0 0;height:auto;z-index:8;border-right:none!important;border-bottom-right-radius:0!important}.EasyMDEContainer .CodeMirror-sided{width:50%!important}.EasyMDEContainer.sided--no-fullscreen .CodeMirror-sided{border-right:none!important;border-bottom-right-radius:0;position:relative;flex:1 1 auto}.EasyMDEContainer .CodeMirror-placeholder{opacity:.5}.EasyMDEContainer .CodeMirror-focused .CodeMirror-selected{background:#d9d9d9}.editor-toolbar{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;padding:9px 10px;border-top:1px solid #ced4da;border-left:1px solid #ced4da;border-right:1px solid #ced4da;border-top-left-radius:4px;border-top-right-radius:4px}.editor-toolbar.fullscreen{width:100%;height:50px;padding-top:10px;padding-bottom:10px;box-sizing:border-box;background:#fff;border:0;position:fixed;top:0;left:0;opacity:1;z-index:9}.editor-toolbar.fullscreen:before{width:20px;height:50px;background:-moz-linear-gradient(left,#fff 0,rgba(255,255,255,0) 100%);background:-webkit-gradient(linear,left top,right top,color-stop(0,#fff),color-stop(100%,rgba(255,255,255,0)));background:-webkit-linear-gradient(left,#fff 0,rgba(255,255,255,0) 100%);background:-o-linear-gradient(left,#fff 0,rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left,#fff 0,rgba(255,255,255,0) 100%);background:linear-gradient(to right,#fff 0,#fff0);position:fixed;top:0;left:0;margin:0;padding:0}.editor-toolbar.fullscreen:after{width:20px;height:50px;background:-moz-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);background:-webkit-gradient(linear,left top,right top,color-stop(0,rgba(255,255,255,0)),color-stop(100%,#fff));background:-webkit-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);background:-o-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);background:-ms-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);background:linear-gradient(to right,#fff0 0,#fff);position:fixed;top:0;right:0;margin:0;padding:0}.EasyMDEContainer.sided--no-fullscreen .editor-toolbar{width:100%}.editor-toolbar .easymde-dropdown,.editor-toolbar button{background:0 0;display:inline-block;text-align:center;text-decoration:none!important;height:30px;margin:0;padding:0;border:1px solid transparent;border-radius:3px;cursor:pointer}.editor-toolbar button{font-weight:700;min-width:30px;padding:0 6px;white-space:nowrap}.editor-toolbar button.active,.editor-toolbar button:hover{background:#fcfcfc;border-color:#95a5a6}.editor-toolbar i.separator{display:inline-block;width:0;border-left:1px solid #d9d9d9;border-right:1px solid #fff;color:transparent;text-indent:-10px;margin:0 6px}.editor-toolbar button:after{font-family:Arial,Helvetica Neue,Helvetica,sans-serif;font-size:65%;vertical-align:text-bottom;position:relative;top:2px}.editor-toolbar button.heading-1:after{content:"1"}.editor-toolbar button.heading-2:after{content:"2"}.editor-toolbar button.heading-3:after{content:"3"}.editor-toolbar button.heading-bigger:after{content:"\25b2"}.editor-toolbar button.heading-smaller:after{content:"\25bc"}.editor-toolbar.disabled-for-preview button:not(.no-disable){opacity:.6;pointer-events:none}@media only screen and (max-width:700px){.editor-toolbar i.no-mobile{display:none}}.editor-statusbar{padding:8px 10px;font-size:12px;color:#959694;text-align:right}.EasyMDEContainer.sided--no-fullscreen .editor-statusbar{width:100%}.editor-statusbar span{display:inline-block;min-width:4em;margin-left:1em}.editor-statusbar .lines:before{content:"lines: "}.editor-statusbar .words:before{content:"words: "}.editor-statusbar .characters:before{content:"characters: "}.editor-preview-full{position:absolute;width:100%;height:100%;top:0;left:0;z-index:7;overflow:auto;display:none;box-sizing:border-box}.editor-preview-side{position:fixed;bottom:0;width:50%;top:50px;right:0;z-index:9;overflow:auto;display:none;box-sizing:border-box;border:1px solid #ddd;word-wrap:break-word}.editor-preview-active-side{display:block}.EasyMDEContainer.sided--no-fullscreen .editor-preview-active-side{flex:1 1 auto;height:auto;position:static}.editor-preview-active{display:block}.editor-preview{padding:10px;background:#fafafa}.editor-preview>p{margin-top:0}.editor-preview pre{background:#eee;margin-bottom:10px}.editor-preview table td,.editor-preview table th{border:1px solid #ddd;padding:5px}.cm-s-easymde .cm-tag{color:#63a35c}.cm-s-easymde .cm-attribute{color:#795da3}.cm-s-easymde .cm-string{color:#183691}.cm-s-easymde .cm-header-1{font-size:calc(1.375rem + 1.5vw)}.cm-s-easymde .cm-header-2{font-size:calc(1.325rem + .9vw)}.cm-s-easymde .cm-header-3{font-size:calc(1.3rem + .6vw)}.cm-s-easymde .cm-header-4{font-size:calc(1.275rem + .3vw)}.cm-s-easymde .cm-header-5{font-size:1.25rem}.cm-s-easymde .cm-header-6{font-size:1rem}.cm-s-easymde .cm-header-1,.cm-s-easymde .cm-header-2,.cm-s-easymde .cm-header-3,.cm-s-easymde .cm-header-4,.cm-s-easymde .cm-header-5,.cm-s-easymde .cm-header-6{margin-bottom:.5rem;line-height:1.2}.cm-s-easymde .cm-comment{background:#0000000d;border-radius:2px}.cm-s-easymde .cm-link{color:#7f8c8d}.cm-s-easymde .cm-url{color:#aab2b3}.cm-s-easymde .cm-quote{color:#7f8c8d;font-style:italic}.editor-toolbar .easymde-dropdown{position:relative;background:linear-gradient(to bottom right,#fff 0 84%,#333 50% 100%);border-radius:0;border:1px solid #fff}.editor-toolbar .easymde-dropdown:hover{background:linear-gradient(to bottom right,#fff 0 84%,#333 50% 100%)}.easymde-dropdown-content{display:block;visibility:hidden;position:absolute;background-color:#f9f9f9;box-shadow:0 8px 16px #0003;padding:8px;z-index:2;top:30px}.easymde-dropdown:active .easymde-dropdown-content,.easymde-dropdown:focus .easymde-dropdown-content,.easymde-dropdown:focus-within .easymde-dropdown-content{visibility:visible}.easymde-dropdown-content button{display:block}span[data-img-src]:after{content:"";background-image:var(--bg-image);display:block;max-height:100%;max-width:100%;background-size:contain;height:0;padding-top:var(--height);width:var(--width);background-repeat:no-repeat}.CodeMirror .cm-spell-error:not(.cm-url):not(.cm-comment):not(.cm-tag):not(.cm-word){background:#ff000026}.dimmable:not(body){position:relative}.ui.dimmer{display:none;position:absolute;top:0!important;left:0!important;width:100%;height:100%;text-align:center;vertical-align:middle;padding:1em;background:#000000d9;opacity:0;line-height:1;animation-fill-mode:both;animation-duration:.5s;transition:background-color .5s linear;flex-direction:column;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:opacity;z-index:1000}.ui.dimmer>.content{-webkit-user-select:text;-moz-user-select:text;user-select:text;color:#fff}.ui.segment>.ui.dimmer:not(.page){border-radius:inherit}.animating.dimmable:not(body),.dimmed.dimmable:not(body){overflow:hidden}.dimmed.dimmable>.ui.animating.dimmer,.dimmed.dimmable>.ui.visible.dimmer,.ui.active.dimmer{display:flex;opacity:1}.ui.disabled.dimmer{width:0!important;height:0!important}.dimmed.dimmable>.ui.animating.legacy.dimmer,.dimmed.dimmable>.ui.visible.legacy.dimmer,.ui.active.legacy.dimmer{display:block}.ui[class*="top aligned"].dimmer{justify-content:flex-start}.ui[class*="bottom aligned"].dimmer{justify-content:flex-end}.ui.page.dimmer{position:fixed;transform-style:"";perspective:2000px;transform-origin:center center}.ui.page.dimmer.modals{-moz-perspective:none}body.animating.in.dimmable,body.dimmed.dimmable{overflow:hidden}body.dimmable>.dimmer{position:fixed}.blurring.dimmable>:not(.dimmer){filter:initial;transition:.8s filter ease}.blurring.dimmed.dimmable>:not(.dimmer):not(.popup){filter:blur(5px) grayscale(.7)}.blurring.dimmable>.dimmer{background:#0009}.blurring.dimmable>.inverted.dimmer{background:#fff9}.ui.dimmer>.top.aligned.content>*{vertical-align:top}.ui.dimmer>.bottom.aligned.content>*{vertical-align:bottom}.medium.medium.medium.medium.medium.dimmer{background:#000000a6}.light.light.light.light.light.dimmer{background:#00000073}.very.light.light.light.light.dimmer{background:#00000040}.ui.simple.dimmer{display:block;overflow:hidden;opacity:0;width:0;height:0;z-index:-100;background:#0000}.dimmed.dimmable>.ui.simple.dimmer{overflow:visible;opacity:1;width:100%;height:100%;background:#000000d9;z-index:1}.ui.simple.inverted.dimmer{background:#fff0}.dimmed.dimmable>.ui.simple.inverted.dimmer{background:#ffffffd9}.ui[class*="top dimmer"],.ui[class*="center dimmer"],.ui[class*="bottom dimmer"]{height:auto}.ui[class*="bottom dimmer"]{top:auto!important;bottom:0}.ui[class*="center dimmer"]{top:50%!important;transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}.ui.segment>.ui.ui[class*="top dimmer"]{border-bottom-left-radius:0;border-bottom-right-radius:0}.ui.segment>.ui.ui[class*="center dimmer"]{border-radius:0}.ui.segment>.ui.ui[class*="bottom dimmer"]{border-top-left-radius:0;border-top-right-radius:0}.ui[class*="center dimmer"].transition[class*="fade up"].in{animation-name:fadeInUpCenter}.ui[class*="center dimmer"].transition[class*="fade down"].in{animation-name:fadeInDownCenter}.ui[class*="center dimmer"].transition[class*="fade up"].out{animation-name:fadeOutUpCenter}.ui[class*="center dimmer"].transition[class*="fade down"].out{animation-name:fadeOutDownCenter}.ui[class*="center dimmer"].bounce.transition{animation-name:bounceCenter}@keyframes fadeInUpCenter{0%{opacity:0;transform:translateY(-40%);-webkit-transform:translateY(calc(-40% - .5px))}to{opacity:1;transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}}@keyframes fadeInDownCenter{0%{opacity:0;transform:translateY(-60%);-webkit-transform:translateY(calc(-60% - .5px))}to{opacity:1;transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}}@keyframes fadeOutUpCenter{0%{opacity:1;transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}to{opacity:0;transform:translateY(-45%);-webkit-transform:translateY(calc(-45% - .5px))}}@keyframes fadeOutDownCenter{0%{opacity:1;transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}to{opacity:0;transform:translateY(-55%);-webkit-transform:translateY(calc(-55% - .5px))}}@keyframes bounceCenter{0%,20%,50%,80%,to{transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}40%{transform:translateY(calc(-50% - 30px))}60%{transform:translateY(calc(-50% - 15px))}}.ui.dropdown{cursor:pointer;position:relative;display:inline-block;outline:none;text-align:left;transition:box-shadow .1s ease,width .1s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.ui.dropdown .menu{cursor:auto;position:absolute;display:none;outline:none;top:100%;min-width:-moz-max-content;min-width:max-content;margin:0;padding:0;background:#fff;font-size:1em;text-shadow:none;text-align:left;box-shadow:0 2px 3px #22242626;border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem;transition:opacity .1s ease;z-index:11;will-change:transform,opacity}.ui.dropdown .menu>*{white-space:nowrap}.ui.dropdown>input:not(.search):first-child,.ui.dropdown>select{display:none!important}.ui.dropdown:not(.labeled)>.dropdown.icon{position:relative;width:auto;font-size:.85714286em;margin:0 0 0 1em}.ui.dropdown .menu>.item .dropdown.icon{width:auto;float:right;margin:0 0 0 1em}.ui.dropdown .menu>.item .dropdown.icon+.text{margin-right:1em}.ui.dropdown>.text{display:inline-block;transition:none}.ui.dropdown .menu>.item{position:relative;cursor:pointer;display:block;border:none;height:auto;min-height:2.57142857rem;text-align:left;border-top:none;line-height:1em;font-size:1rem;color:#000000de;padding:.78571429rem 1.14285714rem!important;text-transform:none;font-weight:400;box-shadow:none;-webkit-touch-callout:none}.ui.dropdown .menu>.item:first-child{border-top-width:0}.ui.dropdown .menu>.item.vertical{display:flex;flex-direction:column-reverse}.ui.dropdown>.text>[class*="right floated"],.ui.dropdown .menu .item>[class*="right floated"]{float:right!important;margin-right:0!important;margin-left:1em!important}.ui.dropdown>.text>[class*="left floated"],.ui.dropdown .menu .item>[class*="left floated"]{float:left!important;margin-left:0!important;margin-right:1em!important}.ui.dropdown .menu .item>i.icon.floated,.ui.dropdown .menu .item>.flag.floated,.ui.dropdown .menu .item>.image.floated,.ui.dropdown .menu .item>img.floated{margin-top:0}.ui.dropdown .menu>.header{margin:1rem 0 .75rem;padding:0 1.14285714rem;font-weight:500;text-transform:uppercase}.ui.dropdown .menu>.header:not(.ui){color:#000000d9;font-size:.78571429em}.ui.dropdown .menu>.divider{border-top:1px solid rgba(34,36,38,.1);height:0;margin:.5em 0}.ui.dropdown .menu>.horizontal.divider{border-top:none}.ui.dropdown.dropdown .menu>.input{width:auto;display:flex;margin:1.14285714rem .78571429rem;min-width:10rem}.ui.dropdown .menu>.header+.input{margin-top:0}.ui.dropdown .menu>.input:not(.transparent) input{padding:.5em 1em}.ui.dropdown .menu>.input:not(.transparent) .button,.ui.dropdown .menu>.input:not(.transparent) i.icon,.ui.dropdown .menu>.input:not(.transparent) .label{padding-top:.5em;padding-bottom:.5em}.ui.dropdown>.text>.description,.ui.dropdown .menu>.item>.description{float:right;margin:0 0 0 1em;color:#0006}.ui.dropdown .menu>.item.vertical>.description{margin:0}.ui.dropdown .menu>.item.vertical>.text{margin-bottom:.25em}.ui.dropdown .menu>.message{padding:.78571429rem 1.14285714rem;font-weight:400}.ui.dropdown .menu>.message:not(.ui){color:#0006}.ui.dropdown .menu .menu{top:0;left:100%;right:auto;margin:0 -.5em!important;border-radius:.28571429rem!important;z-index:21!important}.ui.dropdown .menu .menu:after{display:none}.ui.dropdown>.text>i.icon,.ui.dropdown>.text>.label,.ui.dropdown>.text>.flag,.ui.dropdown>.text>img,.ui.dropdown>.text>.image{margin-top:0}.ui.dropdown .menu>.item>i.icon,.ui.dropdown .menu>.item>.label,.ui.dropdown .menu>.item>.flag,.ui.dropdown .menu>.item>.image,.ui.dropdown .menu>.item>img{margin-top:0}.ui.dropdown>.text>i.icon,.ui.dropdown>.text>.label,.ui.dropdown>.text>.flag,.ui.dropdown>.text>img,.ui.dropdown>.text>.image,.ui.dropdown .menu>.item>i.icon,.ui.dropdown .menu>.item>.label,.ui.dropdown .menu>.item>.flag,.ui.dropdown .menu>.item>.image,.ui.dropdown .menu>.item>img{margin-left:0;float:none;margin-right:.78571429rem}.ui.dropdown>.text>img,.ui.dropdown>.text>.image:not(.icon),.ui.dropdown .menu>.item>.image:not(.icon),.ui.dropdown .menu>.item>img{display:inline-block;vertical-align:top;width:auto;margin-top:-.5em;margin-bottom:-.5em;max-height:2em}.ui.dropdown .ui.menu>.item:before,.ui.menu .ui.dropdown .menu>.item:before{display:none}.ui.menu .ui.dropdown .menu .active.item{border-left:none}.ui.menu .right.menu .dropdown:last-child>.menu:not(.left),.ui.menu .right.dropdown.item>.menu:not(.left),.ui.buttons>.ui.dropdown:last-child>.menu:not(.left){left:auto;right:0}.ui.label.dropdown .menu{min-width:100%}.ui.dropdown.icon.button>.dropdown.icon{margin:0}.ui.button.dropdown .menu{min-width:100%}select.ui.dropdown{height:38px;padding:.5em;border:1px solid rgba(34,36,38,.15);visibility:visible}.ui.selection.dropdown{cursor:pointer;word-wrap:break-word;line-height:1em;white-space:normal;outline:0;transform:rotate(0);min-width:14em;min-height:2.71428571em;background:#fff;display:inline-block;padding:.78571429em 3.2em .78571429em 1em;color:#000000de;box-shadow:none;border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem;transition:box-shadow .1s ease,width .1s ease}.ui.selection.dropdown.visible,.ui.selection.dropdown.active{z-index:10}.ui.selection.dropdown>.search.icon,.ui.selection.dropdown>.delete.icon,.ui.selection.dropdown>.dropdown.icon{cursor:pointer;position:absolute;width:auto;height:auto;line-height:1.21428571em;top:.78571429em;right:1em;z-index:3;margin:-.78571429em;padding:.91666667em;opacity:.8;transition:opacity .1s ease}.ui.compact.selection.dropdown{min-width:0}.ui.selection.dropdown .menu{overflow-x:hidden;overflow-y:auto;backface-visibility:hidden;-webkit-overflow-scrolling:touch;border-top-width:0!important;width:auto;outline:none;margin:0 -1px;min-width:calc(100% + 2px);width:calc(100% + 2px);border-radius:0 0 .28571429rem .28571429rem;box-shadow:0 2px 3px #22242626;transition:opacity .1s ease}.ui.selection.dropdown .menu:after,.ui.selection.dropdown .menu:before{display:none}.ui.selection.dropdown .menu>.message{padding:.78571429rem 1.14285714rem}@media only screen and (max-width: 767.98px){.ui.selection.dropdown.short .menu{max-height:6.01071429rem}.ui.selection.dropdown[class*="very short"] .menu{max-height:4.00714286rem}.ui.selection.dropdown .menu{max-height:8.01428571rem}.ui.selection.dropdown.long .menu{max-height:16.02857143rem}.ui.selection.dropdown[class*="very long"] .menu{max-height:24.04285714rem}}@media only screen and (min-width: 768px){.ui.selection.dropdown.short .menu{max-height:8.01428571rem}.ui.selection.dropdown[class*="very short"] .menu{max-height:5.34285714rem}.ui.selection.dropdown .menu{max-height:10.68571429rem}.ui.selection.dropdown.long .menu{max-height:21.37142857rem}.ui.selection.dropdown[class*="very long"] .menu{max-height:32.05714286rem}}@media only screen and (min-width: 992px){.ui.selection.dropdown.short .menu{max-height:12.02142857rem}.ui.selection.dropdown[class*="very short"] .menu{max-height:8.01428571rem}.ui.selection.dropdown .menu{max-height:16.02857143rem}.ui.selection.dropdown.long .menu{max-height:32.05714286rem}.ui.selection.dropdown[class*="very long"] .menu{max-height:48.08571429rem}}@media only screen and (min-width: 1920px){.ui.selection.dropdown.short .menu{max-height:16.02857143rem}.ui.selection.dropdown[class*="very short"] .menu{max-height:10.68571429rem}.ui.selection.dropdown .menu{max-height:21.37142857rem}.ui.selection.dropdown.long .menu{max-height:42.74285714rem}.ui.selection.dropdown[class*="very long"] .menu{max-height:64.11428571rem}}.ui.selection.dropdown .menu>.item{border-top:1px solid #FAFAFA;padding:.78571429rem 1.14285714rem!important;white-space:normal;word-wrap:normal}.ui.selection.dropdown .menu>.hidden.addition.item{display:none}.ui.selection.dropdown:hover{border-color:#22242659;box-shadow:none}.ui.selection.active.dropdown,.ui.selection.active.dropdown .menu{border-color:#96c8da;box-shadow:0 2px 3px #22242626}.ui.selection.dropdown:focus{border-color:#96c8da;box-shadow:none}.ui.selection.dropdown:focus .menu{border-color:#96c8da;box-shadow:0 2px 3px #22242626}.ui.selection.visible.dropdown>.text:not(.default){font-weight:400;color:#000c}.ui.selection.active.dropdown:hover,.ui.selection.active.dropdown:hover .menu{border-color:#96c8da;box-shadow:0 2px 3px #22242626}.ui.active.selection.dropdown>.dropdown.icon,.ui.visible.selection.dropdown>.dropdown.icon{opacity:"";z-index:3}.ui.active.selection.dropdown{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.ui.active.empty.selection.dropdown{border-radius:.28571429rem!important;box-shadow:none!important}.ui.active.empty.selection.dropdown .menu{border:none!important;box-shadow:none!important}@supports (-webkit-touch-callout: none) or (-webkit-overflow-scrolling: touch) or (-moz-appearance:none){@media (-moz-touch-enabled),(pointer: coarse){.ui.dropdown .scrollhint.menu:not(.hidden):before{animation:scrollhint 2s ease 2;content:"";z-index:15;display:block;position:absolute;opacity:0;right:.25em;top:0;height:100%;border-right:.25em solid;border-left:0;-o-border-image:linear-gradient(to bottom,rgba(0,0,0,.75),rgba(0,0,0,0)) 1 100%;border-image:linear-gradient(to bottom,#000000bf,#0000) 1 100%}.ui.inverted.dropdown .scrollhint.menu:not(.hidden):before{-o-border-image:linear-gradient(to bottom,rgba(255,255,255,.75),rgba(255,255,255,0)) 1 100%;border-image:linear-gradient(to bottom,#ffffffbf,#fff0) 1 100%}@keyframes scrollhint{0%{opacity:1;top:100%}to{opacity:0;top:0}}}}.ui.search.dropdown{min-width:""}.ui.search.dropdown>input.search{background:none transparent!important;border:none!important;box-shadow:none!important;cursor:text;top:0;left:1px;width:100%;outline:none;-webkit-tap-highlight-color:rgba(255,255,255,0);padding:inherit}.ui.search.dropdown>input.search{position:absolute;z-index:2}.ui.search.dropdown>.text{cursor:text;position:relative;left:1px;z-index:auto}.ui.search.selection.dropdown>input.search{line-height:1.21428571em;padding:.67857143em 3.2em .67857143em 1em}.ui.search.selection.dropdown>span.sizer{line-height:1.21428571em;padding:.67857143em 3.2em .67857143em 1em;display:none;white-space:pre}.ui.search.dropdown.active>input.search,.ui.search.dropdown.visible>input.search{cursor:auto}.ui.search.dropdown.active>.text,.ui.search.dropdown.visible>.text{pointer-events:none}.ui.active.search.dropdown input.search:focus+.text i.icon,.ui.active.search.dropdown input.search:focus+.text .flag{opacity:var(--opacity-disabled)}.ui.active.search.dropdown input.search:focus+.text{color:#737373de!important}.ui.search.dropdown.button>span.sizer{display:none}.ui.search.dropdown .menu{overflow-x:hidden;overflow-y:auto;backface-visibility:hidden;-webkit-overflow-scrolling:touch}@media only screen and (max-width: 767.98px){.ui.search.dropdown .menu{max-height:8.01428571rem}}@media only screen and (min-width: 768px){.ui.search.dropdown .menu{max-height:10.68571429rem}}@media only screen and (min-width: 992px){.ui.search.dropdown .menu{max-height:16.02857143rem}}@media only screen and (min-width: 1920px){.ui.search.dropdown .menu{max-height:21.37142857rem}}.ui.dropdown>.remove.icon{cursor:pointer;font-size:.85714286em;margin:-.78571429em;padding:.91666667em;right:3em;top:.78571429em;position:absolute;opacity:.6;z-index:3}.ui.clearable.dropdown .text,.ui.clearable.dropdown a:last-of-type{margin-right:1.5em}.ui.dropdown select.noselection~.remove.icon,.ui.dropdown input[value=""]~.remove.icon,.ui.dropdown input:not([value])~.remove.icon,.ui.dropdown.loading>.remove.icon{display:none}.ui.ui.multiple.dropdown{padding:.22619048em 3.2em .22619048em .35714286em}.ui.multiple.dropdown .menu{cursor:auto}.ui.multiple.dropdown>.label{display:inline-block;white-space:normal;font-size:1em;padding:.35714286em .78571429em;margin:.14285714rem .28571429rem .14285714rem 0;box-shadow:0 0 0 1px #22242626 inset}.ui.multiple.dropdown .dropdown.icon{margin:"";padding:""}.ui.multiple.dropdown>.text{position:static;padding:0;max-width:100%;margin:.45238095em 0 .45238095em .64285714em;line-height:1.21428571em}.ui.multiple.dropdown>.text.default{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui.multiple.dropdown>.label~input.search{margin-left:.14285714em!important}.ui.multiple.dropdown>.label~.text{display:none}.ui.multiple.dropdown>.label:not(.image)>img:not(.centered){margin-right:.78571429rem}.ui.multiple.dropdown>.label:not(.image)>img.ui:not(.avatar){margin-bottom:.39285714rem}.ui.multiple.dropdown>.image.label img{margin:-.35714286em .78571429em -.35714286em -.78571429em;height:1.71428571em}.ui.multiple.search.dropdown,.ui.multiple.search.dropdown>input.search{cursor:text}.ui.multiple.search.dropdown>.text{display:inline-block;position:absolute;top:0;left:0;padding:inherit;margin:.45238095em 0 .45238095em .64285714em;line-height:1.21428571em}.ui.multiple.search.dropdown>.label~.text{display:none}.ui.multiple.search.dropdown>input.search{position:static;padding:0;max-width:100%;margin:.45238095em 0 .45238095em .64285714em;width:2.2em;line-height:1.21428571em}.ui.multiple.search.dropdown.button{min-width:14em}.ui.inline.dropdown{cursor:pointer;display:inline-block;color:inherit}.ui.inline.dropdown .dropdown.icon{margin:0 .21428571em;vertical-align:baseline}.ui.inline.dropdown>.text{font-weight:500}.ui.inline.dropdown .menu{cursor:auto;margin-top:.21428571em;border-radius:.28571429rem}.ui.dropdown .menu .active.item{background:transparent;font-weight:500;color:#000000f2;box-shadow:none;z-index:12}.ui.dropdown .menu>.item:hover{background:#0000000d;color:#000000f2;z-index:13}.ui.dropdown:not(.button)>.default.text,.ui.default.dropdown:not(.button)>.text{color:#bfbfbfde}.ui.dropdown:not(.button)>input:focus~.default.text,.ui.default.dropdown:not(.button)>input:focus~.text{color:#737373de}.ui.loading.dropdown>i.icon{height:1em!important}.ui.loading.selection.dropdown>i.icon{padding:1.5em 1.28571429em!important}.ui.loading.dropdown>i.icon:before{position:absolute;content:"";top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.loading.dropdown>i.icon:after{position:absolute;content:"";top:50%;left:50%;box-shadow:0 0 0 1px transparent;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;animation:loader .6s infinite linear;border:.2em solid #767676;border-radius:500rem}.ui.loading.dropdown.button>i.icon:before,.ui.loading.dropdown.button>i.icon:after{display:none}.ui.loading.dropdown>.text{transition:none}.ui.dropdown .loading.menu{display:block;visibility:hidden;z-index:-1}.ui.dropdown>.loading.menu{left:0!important;right:auto!important}.ui.dropdown>.menu .loading.menu{left:100%!important;right:auto!important}.ui.dropdown.selected,.ui.dropdown .menu .selected.item{background:#00000008;color:#000000f2}.ui.dropdown>.filtered.text{visibility:hidden}.ui.dropdown .filtered.item{display:none!important}.ui.dropdown.error,.ui.dropdown.error>.text,.ui.dropdown.error>.default.text{color:#9f3a38}.ui.selection.dropdown.error{background:#fff6f6;border-color:#e0b4b4}.ui.selection.dropdown.error:hover{border-color:#e0b4b4}.ui.multiple.selection.error.dropdown>.label{border-color:#e0b4b4}.ui.dropdown.error>.menu,.ui.dropdown.error>.menu .menu{border-color:#e0b4b4}.ui.dropdown.error>.menu>.item{color:#9f3a38}.ui.dropdown.error>.menu>.item:hover{background-color:#fbe7e7}.ui.dropdown.error>.menu .active.item{background-color:#fdcfcf}.ui.dropdown.info,.ui.dropdown.info>.text,.ui.dropdown.info>.default.text{color:#276f86}.ui.selection.dropdown.info{background:#f8ffff;border-color:#a9d5de}.ui.selection.dropdown.info:hover{border-color:#a9d5de}.ui.multiple.selection.info.dropdown>.label{border-color:#a9d5de}.ui.dropdown.info>.menu,.ui.dropdown.info>.menu .menu{border-color:#a9d5de}.ui.dropdown.info>.menu>.item{color:#276f86}.ui.dropdown.info>.menu>.item:hover{background-color:#e9f2fb}.ui.dropdown.info>.menu .active.item{background-color:#cef1fd}.ui.dropdown.success,.ui.dropdown.success>.text,.ui.dropdown.success>.default.text{color:#2c662d}.ui.selection.dropdown.success{background:#fcfff5;border-color:#a3c293}.ui.selection.dropdown.success:hover{border-color:#a3c293}.ui.multiple.selection.success.dropdown>.label{border-color:#a3c293}.ui.dropdown.success>.menu,.ui.dropdown.success>.menu .menu{border-color:#a3c293}.ui.dropdown.success>.menu>.item{color:#2c662d}.ui.dropdown.success>.menu>.item:hover{background-color:#e9fbe9}.ui.dropdown.success>.menu .active.item{background-color:#dafdce}.ui.dropdown.warning,.ui.dropdown.warning>.text,.ui.dropdown.warning>.default.text{color:#573a08}.ui.selection.dropdown.warning{background:#fffaf3;border-color:#c9ba9b}.ui.selection.dropdown.warning:hover{border-color:#c9ba9b}.ui.multiple.selection.warning.dropdown>.label{border-color:#c9ba9b}.ui.dropdown.warning>.menu,.ui.dropdown.warning>.menu .menu{border-color:#c9ba9b}.ui.dropdown.warning>.menu>.item{color:#573a08}.ui.dropdown.warning>.menu>.item:hover{background-color:#fbfbe9}.ui.dropdown.warning>.menu .active.item{background-color:#fdfdce}.ui.dropdown>.clear.dropdown.icon{opacity:.8;transition:opacity .1s ease}.ui.dropdown>.clear.dropdown.icon:hover{opacity:1}.ui.disabled.dropdown,.ui.dropdown .menu>.disabled.item{cursor:default;pointer-events:none;opacity:var(--opacity-disabled)}.ui.dropdown .menu{left:0}.ui.dropdown .right.menu>.menu,.ui.dropdown .menu .right.menu{left:100%!important;right:auto!important;border-radius:.28571429rem!important}.ui.dropdown>.left.menu{left:auto!important;right:0!important}.ui.dropdown>.left.menu .menu,.ui.dropdown .menu .left.menu{left:auto;right:100%;margin:0 -.5em 0 0!important;border-radius:.28571429rem!important}.ui.dropdown .item .left.dropdown.icon,.ui.dropdown .left.menu .item .dropdown.icon{width:auto;float:left;margin:0}.ui.dropdown .item .left.dropdown.icon+.text,.ui.dropdown .left.menu .item .dropdown.icon+.text{margin-left:1em;margin-right:0}.ui.upward.dropdown>.menu{top:auto;bottom:100%;box-shadow:0 0 3px #00000014;border-radius:.28571429rem .28571429rem 0 0}.ui.dropdown .upward.menu{top:auto!important;bottom:0!important}.ui.simple.upward.active.dropdown,.ui.simple.upward.dropdown:hover{border-radius:.28571429rem .28571429rem 0 0!important}.ui.upward.dropdown.button:not(.pointing):not(.floating).active{border-radius:.28571429rem .28571429rem 0 0}.ui.upward.selection.dropdown .menu{border-top-width:1px!important;border-bottom-width:0!important;box-shadow:0 -2px 3px #00000014}.ui.upward.selection.dropdown:hover{box-shadow:0 0 2px #0000000d}.ui.active.upward.selection.dropdown{border-radius:0 0 .28571429rem .28571429rem!important}.ui.upward.selection.dropdown.visible{box-shadow:0 0 3px #00000014;border-radius:0 0 .28571429rem .28571429rem!important}.ui.upward.active.selection.dropdown:hover{box-shadow:0 0 3px #0000000d}.ui.upward.active.selection.dropdown:hover .menu{box-shadow:0 -2px 3px #00000014}.ui.scrolling.dropdown .menu,.ui.dropdown .scrolling.menu{overflow-x:hidden;overflow-y:auto}.ui.scrolling.dropdown .menu{overflow-x:hidden;overflow-y:auto;backface-visibility:hidden;-webkit-overflow-scrolling:touch;min-width:100%!important;width:auto!important}.ui.dropdown .scrolling.menu{position:static;overflow-y:auto;border:none;box-shadow:none!important;border-radius:0!important;margin:0!important;min-width:100%!important;width:auto!important;border-top:1px solid rgba(34,36,38,.15)}.ui.scrolling.dropdown .menu .item.item.item,.ui.dropdown .scrolling.menu>.item.item.item{border-top:none}.ui.scrolling.dropdown .menu .item:first-child,.ui.dropdown .scrolling.menu .item:first-child{border-top:none}.ui.dropdown>.animating.menu .scrolling.menu,.ui.dropdown>.visible.menu .scrolling.menu{display:block}@media all and (-ms-high-contrast: none){.ui.scrolling.dropdown .menu,.ui.dropdown .scrolling.menu{min-width:calc(100% - 17px)}}@media only screen and (max-width: 767.98px){.ui.scrolling.dropdown .menu,.ui.dropdown .scrolling.menu{max-height:10.28571429rem}}@media only screen and (min-width: 768px){.ui.scrolling.dropdown .menu,.ui.dropdown .scrolling.menu{max-height:15.42857143rem}}@media only screen and (min-width: 992px){.ui.scrolling.dropdown .menu,.ui.dropdown .scrolling.menu{max-height:20.57142857rem}}@media only screen and (min-width: 1920px){.ui.scrolling.dropdown .menu,.ui.dropdown .scrolling.menu{max-height:20.57142857rem}}.ui.column.dropdown>.menu{flex-wrap:wrap}.ui.dropdown[class*="two column"]>.menu>.item{width:50%}.ui.dropdown[class*="three column"]>.menu>.item{width:33%}.ui.dropdown[class*="four column"]>.menu>.item{width:25%}.ui.dropdown[class*="five column"]>.menu>.item{width:20%}.ui.simple.dropdown .menu:before,.ui.simple.dropdown .menu:after{display:none}.ui.simple.dropdown .menu{position:absolute;display:-ms-inline-flexbox!important;display:block;overflow:hidden;top:-9999px;opacity:0;width:0;height:0;transition:opacity .1s ease;margin-top:0!important}.ui.simple.active.dropdown,.ui.simple.dropdown:hover{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.ui.simple.active.dropdown>.menu,.ui.simple.dropdown:hover>.menu{overflow:visible;width:auto;height:auto;top:100%;opacity:1}.ui.simple.dropdown>.menu>.item:active>.menu,.ui.simple.dropdown .menu .item:hover>.menu{overflow:visible;width:auto;height:auto;top:0!important;left:100%;opacity:1}.ui.simple.dropdown>.menu>.item:active>.left.menu,.ui.simple.dropdown .menu .item:hover>.left.menu,.right.menu .ui.simple.dropdown>.menu>.item:active>.menu:not(.right),.right.menu .ui.simple.dropdown>.menu .item:hover>.menu:not(.right){left:auto;right:100%}.ui.simple.disabled.dropdown:hover .menu{display:none;height:0;width:0;overflow:hidden}.ui.simple.visible.dropdown>.menu{display:block}.ui.simple.scrolling.active.dropdown>.menu,.ui.simple.scrolling.dropdown:hover>.menu{overflow-x:hidden;overflow-y:auto}.ui.fluid.dropdown{display:block;width:100%!important;min-width:0}.ui.fluid.dropdown>.dropdown.icon{float:right}.ui.floating.dropdown .menu{left:0;right:auto;box-shadow:0 2px 4px #2224261f,0 2px 10px #22242626!important;border-radius:.28571429rem!important}.ui.floating.dropdown>.menu{border-radius:.28571429rem!important}.ui:not(.upward).floating.dropdown>.menu{margin-top:.5em}.ui.upward.floating.dropdown>.menu{margin-bottom:.5em}.ui.pointing.dropdown>.menu{top:100%;margin-top:.78571429rem;border-radius:.28571429rem}.ui.pointing.dropdown>.menu:not(.hidden):after{display:block;position:absolute;pointer-events:none;content:"";visibility:visible;transform:rotate(45deg);width:.5em;height:.5em;box-shadow:-1px -1px #22242626;background:#fff;z-index:2;top:-.25em;left:50%;margin:0 0 0 -.25em}.ui.top.left.pointing.dropdown>.menu{inset:100% auto auto 0;margin:1em 0 0}.ui.top.left.pointing.dropdown>.menu:after{top:-.25em;left:1em;right:auto;margin:0;transform:rotate(45deg)}.ui.top.right.pointing.dropdown>.menu{inset:100% 0 auto auto;margin:1em 0 0}.ui.top.pointing.dropdown>.left.menu:after,.ui.top.right.pointing.dropdown>.menu:after{top:-.25em;left:auto!important;right:1em!important;margin:0;transform:rotate(45deg)}.ui.left.pointing.dropdown>.menu{top:0;left:100%;right:auto;margin:0 0 0 1em}.ui.left.pointing.dropdown>.menu:after{top:1em;left:-.25em;margin:0;transform:rotate(-45deg)}.ui.left:not(.top):not(.bottom).pointing.dropdown>.left.menu{left:auto!important;right:100%!important;margin:0 1em 0 0}.ui.left:not(.top):not(.bottom).pointing.dropdown>.left.menu:after{top:1em;left:auto;right:-.25em;margin:0;transform:rotate(135deg)}.ui.right.pointing.dropdown>.menu{top:0;left:auto;right:100%;margin:0 1em 0 0}.ui.right.pointing.dropdown>.menu:after{top:1em;left:auto;right:-.25em;margin:0;transform:rotate(135deg)}.ui.bottom.pointing.dropdown>.menu{inset:auto auto 100% 0;margin:0 0 1em}.ui.bottom.pointing.dropdown>.menu:after{top:auto;bottom:-.25em;right:auto;margin:0;transform:rotate(-135deg)}.ui.bottom.pointing.dropdown>.menu .menu{top:auto!important;bottom:0!important}.ui.bottom.left.pointing.dropdown>.menu{left:0;right:auto}.ui.bottom.left.pointing.dropdown>.menu:after{left:1em;right:auto}.ui.bottom.right.pointing.dropdown>.menu{right:0;left:auto}.ui.bottom.right.pointing.dropdown>.menu:after{left:auto;right:1em}.ui.pointing.upward.dropdown .menu,.ui.top.pointing.upward.dropdown .menu{top:auto!important;bottom:100%!important;margin:0 0 .78571429rem;border-radius:.28571429rem}.ui.pointing.upward.dropdown .menu:after,.ui.top.pointing.upward.dropdown .menu:after{top:100%!important;bottom:auto!important;box-shadow:1px 1px #22242626;margin:-.25em 0 0}.ui.right.pointing.upward.dropdown:not(.top):not(.bottom) .menu{top:auto!important;bottom:0!important;margin:0 1em 0 0}.ui.right.pointing.upward.dropdown:not(.top):not(.bottom) .menu:after{top:auto!important;bottom:0!important;margin:0 0 1em;box-shadow:-1px -1px #22242626}.ui.left.pointing.upward.dropdown:not(.top):not(.bottom) .menu{top:auto!important;bottom:0!important;margin:0 0 0 1em}.ui.left.pointing.upward.dropdown:not(.top):not(.bottom) .menu:after{top:auto!important;bottom:0!important;margin:0 0 1em;box-shadow:-1px -1px #22242626}.ui.dropdown,.ui.dropdown .menu>.item{font-size:1rem}.ui.mini.dropdown,.ui.mini.dropdown .menu>.item{font-size:.78571429rem}.ui.tiny.dropdown,.ui.tiny.dropdown .menu>.item{font-size:.85714286rem}.ui.small.dropdown,.ui.small.dropdown .menu>.item{font-size:.92857143rem}.ui.large.dropdown,.ui.large.dropdown .menu>.item{font-size:1.14285714rem}.ui.big.dropdown,.ui.big.dropdown .menu>.item{font-size:1.28571429rem}.ui.huge.dropdown,.ui.huge.dropdown .menu>.item{font-size:1.42857143rem}.ui.massive.dropdown,.ui.massive.dropdown .menu>.item{font-size:1.71428571rem}@font-face{font-family:Dropdown;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfuIIAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zjo82LgAAAFwAAABVGhlYWQAQ88bAAACxAAAADZoaGVhAwcB6QAAAvwAAAAkaG10eAS4ABIAAAMgAAAAIGxvY2EBNgDeAAADQAAAABJtYXhwAAoAFgAAA1QAAAAgbmFtZVcZpu4AAAN0AAABRXBvc3QAAwAAAAAEvAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDX//3//wAB/+MPLQADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAIABJQElABMAABM0NzY3BTYXFhUUDwEGJwYvASY1AAUGBwEACAUGBoAFCAcGgAUBEgcGBQEBAQcECQYHfwYBAQZ/BwYAAQAAAG4BJQESABMAADc0PwE2MzIfARYVFAcGIyEiJyY1AAWABgcIBYAGBgUI/wAHBgWABwaABQWABgcHBgUFBgcAAAABABIASQC3AW4AEwAANzQ/ATYXNhcWHQEUBwYnBi8BJjUSBoAFCAcFBgYFBwgFgAbbBwZ/BwEBBwQJ/wgEBwEBB38GBgAAAAABAAAASQClAW4AEwAANxE0NzYzMh8BFhUUDwEGIyInJjUABQYHCAWABgaABQgHBgVbAQAIBQYGgAUIBwWABgYFBwAAAAEAAAABAADZuaKOXw889QALAgAAAAAA0ABHWAAAAADQAEdYAAAAAAElAW4AAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAASUAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAABAAAAASUAAAElAAAAtwASALcAAAAAAAAACgAUAB4AQgBkAIgAqgAAAAEAAAAIABQAAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAOAAAAAQAAAAAAAgAOAEcAAQAAAAAAAwAOACQAAQAAAAAABAAOAFUAAQAAAAAABQAWAA4AAQAAAAAABgAHADIAAQAAAAAACgA0AGMAAwABBAkAAQAOAAAAAwABBAkAAgAOAEcAAwABBAkAAwAOACQAAwABBAkABAAOAFUAAwABBAkABQAWAA4AAwABBAkABgAOADkAAwABBAkACgA0AGMAaQBjAG8AbQBvAG8AbgBWAGUAcgBzAGkAbwBuACAAMQAuADAAaQBjAG8AbQBvAG8Abmljb21vb24AaQBjAG8AbQBvAG8AbgBSAGUAZwB1AGwAYQByAGkAYwBvAG0AbwBvAG4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) format("truetype"),url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAAVwAAoAAAAABSgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAdkAAAHZLDXE/09TLzIAAALQAAAAYAAAAGAIIweQY21hcAAAAzAAAABMAAAATA9+4ghnYXNwAAADfAAAAAgAAAAIAAAAEGhlYWQAAAOEAAAANgAAADYAQ88baGhlYQAAA7wAAAAkAAAAJAMHAelobXR4AAAD4AAAACAAAAAgBLgAEm1heHAAAAQAAAAABgAAAAYACFAAbmFtZQAABAgAAAFFAAABRVcZpu5wb3N0AAAFUAAAACAAAAAgAAMAAAEABAQAAQEBCGljb21vb24AAQIAAQA6+BwC+BsD+BgEHgoAGVP/i4seCgAZU/+LiwwHi2v4lPh0BR0AAACIDx0AAACNER0AAAAJHQAAAdASAAkBAQgPERMWGyAlKmljb21vb25pY29tb29udTB1MXUyMHVGMEQ3dUYwRDh1RjBEOXVGMERBAAACAYkABgAIAgABAAQABwAKAA0AVgCfAOgBL/yUDvyUDvyUDvuUDvtvi/emFYuQjZCOjo+Pj42Qiwj3lIsFkIuQiY6Hj4iNhouGi4aJh4eHCPsU+xQFiIiGiYaLhouHjYeOCPsU9xQFiI+Jj4uQCA77b4v3FBWLkI2Pjo8I9xT3FAWPjo+NkIuQi5CJjogI9xT7FAWPh42Hi4aLhomHh4eIiIaJhosI+5SLBYaLh42HjoiPiY+LkAgO+92d928Vi5CNkI+OCPcU9xQFjo+QjZCLkIuPiY6Hj4iNhouGCIv7lAWLhomHh4iIh4eJhouGi4aNiI8I+xT3FAWHjomPi5AIDvvdi+YVi/eUBYuQjZCOjo+Pj42Qi5CLkImOhwj3FPsUBY+IjYaLhouGiYeHiAj7FPsUBYiHhomGi4aLh42Hj4iOiY+LkAgO+JQU+JQViwwKAAAAAAMCAAGQAAUAAAFMAWYAAABHAUwBZgAAAPUAGQCEAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA8NoB4P/g/+AB4AAgAAAAAQAAAAAAAAAAAAAAIAAAAAAAAgAAAAMAAAAUAAMAAQAAABQABAA4AAAACgAIAAIAAgABACDw2v/9//8AAAAAACDw1//9//8AAf/jDy0AAwABAAAAAAAAAAAAAAABAAH//wAPAAEAAAABAAA5emozXw889QALAgAAAAAA0ABHWAAAAADQAEdYAAAAAAElAW4AAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAASUAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAABAAAAASUAAAElAAAAtwASALcAAAAAUAAACAAAAAAADgCuAAEAAAAAAAEADgAAAAEAAAAAAAIADgBHAAEAAAAAAAMADgAkAAEAAAAAAAQADgBVAAEAAAAAAAUAFgAOAAEAAAAAAAYABwAyAAEAAAAAAAoANABjAAMAAQQJAAEADgAAAAMAAQQJAAIADgBHAAMAAQQJAAMADgAkAAMAAQQJAAQADgBVAAMAAQQJAAUAFgAOAAMAAQQJAAYADgA5AAMAAQQJAAoANABjAGkAYwBvAG0AbwBvAG4AVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG0AbwBvAG5pY29tb29uAGkAYwBvAG0AbwBvAG4AUgBlAGcAdQBsAGEAcgBpAGMAbwBtAG8AbwBuAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format("woff");font-weight:400;font-style:normal}.ui.dropdown>.dropdown.icon{font-family:Dropdown;line-height:1;height:1em;width:1.23em;backface-visibility:hidden;font-weight:400;font-style:normal;text-align:center;width:auto}.ui.dropdown>.dropdown.icon:before{content:"\f0d7"}.ui.dropdown .menu .item .dropdown.icon:before{content:"\f0da"}.ui.dropdown .item .left.dropdown.icon:before,.ui.dropdown .left.menu .item .dropdown.icon:before{content:"\f0d9"}.ui.vertical.menu .dropdown.item>.dropdown.icon:before{content:"\f0da"}.ui.form{position:relative;max-width:100%}.ui.form>p{margin:1em 0}.ui.form .field{clear:both;margin:0 0 1em}.ui.form .fields .fields,.ui.form .field:last-child,.ui.form .fields:last-child .field{margin-bottom:0}.ui.form .fields .field{clear:both;margin:0}.ui.form .field>label{display:block;margin:0 0 .28571429rem;color:#000000de;font-size:.92857143em;font-weight:500;text-transform:none}.ui.form textarea,.ui.form input:not([type]),.ui.form input[type=date],.ui.form input[type=datetime-local],.ui.form input[type=email],.ui.form input[type=number],.ui.form input[type=password],.ui.form input[type=search],.ui.form input[type=tel],.ui.form input[type=time],.ui.form input[type=text],.ui.form input[type=file],.ui.form input[type=url]{width:100%;vertical-align:top}.ui.form ::-webkit-datetime-edit,.ui.form ::-webkit-inner-spin-button{height:1.21428571em}.ui.form input:not([type]),.ui.form input[type=date],.ui.form input[type=datetime-local],.ui.form input[type=email],.ui.form input[type=number],.ui.form input[type=password],.ui.form input[type=search],.ui.form input[type=tel],.ui.form input[type=time],.ui.form input[type=text],.ui.form input[type=file],.ui.form input[type=url]{font-family:var(--fonts-regular);margin:0;outline:none;-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,255,255,0);line-height:1.21428571em;padding:.67857143em 1em;font-size:1em;background:#fff;border:1px solid rgba(34,36,38,.15);color:#000000de;border-radius:.28571429rem;box-shadow:0 0 0 0 transparent inset;transition:color .1s ease,border-color .1s ease}.ui.input textarea,.ui.form textarea{margin:0;-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,255,255,0);padding:.78571429em 1em;background:#fff;border:1px solid rgba(34,36,38,.15);outline:none;color:#000000de;border-radius:.28571429rem;box-shadow:0 0 0 0 transparent inset;transition:color .1s ease,border-color .1s ease;font-size:1em;font-family:var(--fonts-regular);line-height:1.2857;resize:vertical}.ui.form textarea:not([rows]){height:12em;min-height:8em;max-height:24em}.ui.form textarea,.ui.form input[type=checkbox]{vertical-align:top}.ui.form .fields:not(.grouped):not(.inline) .field:not(:only-child) label+.ui.ui.checkbox{margin-top:.7em}.ui.form .fields:not(.grouped):not(.inline) .field:not(:only-child) .ui.checkbox{margin-top:2.41428571em}.ui.form .fields:not(.grouped):not(.inline) .field:not(:only-child) .ui.toggle.checkbox{margin-top:2.21428571em}.ui.form .fields:not(.grouped):not(.inline) .field:not(:only-child) .ui.slider.checkbox{margin-top:2.61428571em}.ui.ui.form .field .fields .field:not(:only-child) .ui.checkbox{margin-top:.6em}.ui.ui.form .field .fields .field:not(:only-child) .ui.toggle.checkbox{margin-top:.5em}.ui.ui.form .field .fields .field:not(:only-child) .ui.slider.checkbox{margin-top:.7em}.ui.form input.attached{width:auto}.ui.form select{display:block;height:auto;width:100%;background:#fff;border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem;box-shadow:0 0 0 0 transparent inset;padding:.62em 1em;color:#000000de;transition:color .1s ease,border-color .1s ease}.ui.form .field>.selection.dropdown{min-width:auto;width:100%}.ui.form .field>.selection.dropdown>.dropdown.icon{float:right}.ui.form .inline.fields .field>.selection.dropdown,.ui.form .inline.field>.selection.dropdown{width:auto}.ui.form .inline.fields .field>.selection.dropdown>.dropdown.icon,.ui.form .inline.field>.selection.dropdown>.dropdown.icon{float:none}.ui.form .field .ui.input,.ui.form .fields .field .ui.input,.ui.form .wide.field .ui.input{width:100%}.ui.form .inline.fields .field:not(.wide) .ui.input,.ui.form .inline.field:not(.wide) .ui.input{width:auto;vertical-align:middle}.ui.form .fields .field .ui.input input,.ui.form .field .ui.input input{width:auto}.ui.form .ten.fields .ui.input input,.ui.form .nine.fields .ui.input input,.ui.form .eight.fields .ui.input input,.ui.form .seven.fields .ui.input input,.ui.form .six.fields .ui.input input,.ui.form .five.fields .ui.input input,.ui.form .four.fields .ui.input input,.ui.form .three.fields .ui.input input,.ui.form .two.fields .ui.input input,.ui.form .wide.field .ui.input input{flex:1 0 auto;width:0}.ui.form .error.message,.ui.form .error.message:empty{display:none}.ui.form .info.message,.ui.form .info.message:empty{display:none}.ui.form .success.message,.ui.form .success.message:empty{display:none}.ui.form .warning.message,.ui.form .warning.message:empty{display:none}.ui.form .message:first-child{margin-top:0}.ui.form .field .prompt.label{white-space:normal;background:#fff!important;border:1px solid #E0B4B4!important;color:#9f3a38!important}.ui.form .inline.fields .field .prompt,.ui.form .inline.field .prompt{vertical-align:top;margin:-.25em 0 -.5em .5em}.ui.form .inline.fields .field .prompt:before,.ui.form .inline.field .prompt:before{border-width:0 0 1px 1px;inset:50% auto auto 0}.ui.form .field.field input:-webkit-autofill{box-shadow:0 0 0 100px ivory inset!important;border-color:#e5dfa1!important}.ui.form .field.field input:-webkit-autofill:focus{box-shadow:0 0 0 100px ivory inset!important;border-color:#d5c315!important}.ui.form ::-webkit-input-placeholder{color:#bfbfbfde}.ui.form :-ms-input-placeholder{color:#bfbfbfde!important}.ui.form ::-moz-placeholder{color:#bfbfbfde}.ui.form :focus::-webkit-input-placeholder{color:#737373de}.ui.form :focus:-ms-input-placeholder{color:#737373de!important}.ui.form :focus::-moz-placeholder{color:#737373de}.ui.form input:not([type]):focus,.ui.form input[type=date]:focus,.ui.form input[type=datetime-local]:focus,.ui.form input[type=email]:focus,.ui.form input[type=number]:focus,.ui.form input[type=password]:focus,.ui.form input[type=search]:focus,.ui.form input[type=tel]:focus,.ui.form input[type=time]:focus,.ui.form input[type=text]:focus,.ui.form input[type=file]:focus,.ui.form input[type=url]:focus{color:#000000f2;border-color:#85b7d9;border-radius:.28571429rem;background:#fff;box-shadow:0 0 #22242659 inset}.ui.form .ui.action.input:not([class*="left action"]) input:not([type]):focus,.ui.form .ui.action.input:not([class*="left action"]) input[type=date]:focus,.ui.form .ui.action.input:not([class*="left action"]) input[type=datetime-local]:focus,.ui.form .ui.action.input:not([class*="left action"]) input[type=email]:focus,.ui.form .ui.action.input:not([class*="left action"]) input[type=number]:focus,.ui.form .ui.action.input:not([class*="left action"]) input[type=password]:focus,.ui.form .ui.action.input:not([class*="left action"]) input[type=search]:focus,.ui.form .ui.action.input:not([class*="left action"]) input[type=tel]:focus,.ui.form .ui.action.input:not([class*="left action"]) input[type=time]:focus,.ui.form .ui.action.input:not([class*="left action"]) input[type=text]:focus,.ui.form .ui.action.input:not([class*="left action"]) input[type=file]:focus,.ui.form .ui.action.input:not([class*="left action"]) input[type=url]:focus{border-top-right-radius:0;border-bottom-right-radius:0}.ui.form .ui[class*="left action"].input input:not([type]),.ui.form .ui[class*="left action"].input input[type=date],.ui.form .ui[class*="left action"].input input[type=datetime-local],.ui.form .ui[class*="left action"].input input[type=email],.ui.form .ui[class*="left action"].input input[type=number],.ui.form .ui[class*="left action"].input input[type=password],.ui.form .ui[class*="left action"].input input[type=search],.ui.form .ui[class*="left action"].input input[type=tel],.ui.form .ui[class*="left action"].input input[type=time],.ui.form .ui[class*="left action"].input input[type=text],.ui.form .ui[class*="left action"].input input[type=file],.ui.form .ui[class*="left action"].input input[type=url]{border-bottom-left-radius:0;border-top-left-radius:0}.ui.form textarea:focus{color:#000000f2;border-color:#85b7d9;border-radius:.28571429rem;background:#fff;box-shadow:0 0 #22242659 inset;-webkit-appearance:none}.ui.form.error .error.message:not(:empty){display:block}.ui.form.error .compact.error.message:not(:empty){display:inline-block}.ui.form.error .icon.error.message:not(:empty){display:flex}.ui.form .fields.error .error.message:not(:empty),.ui.form .field.error .error.message:not(:empty){display:block}.ui.form .fields.error .compact.error.message:not(:empty),.ui.form .field.error .compact.error.message:not(:empty){display:inline-block}.ui.form .fields.error .icon.error.message:not(:empty),.ui.form .field.error .icon.error.message:not(:empty){display:flex}.ui.ui.form .fields.error .field label,.ui.ui.form .field.error label,.ui.ui.form .fields.error .field .input,.ui.ui.form .field.error .input{color:#9f3a38}.ui.form .fields.error .field .corner.label,.ui.form .field.error .corner.label{border-color:#9f3a38;color:#fff}.ui.form .fields.error .field textarea,.ui.form .fields.error .field select,.ui.form .fields.error .field input:not([type]),.ui.form .fields.error .field input[type=date],.ui.form .fields.error .field input[type=datetime-local],.ui.form .fields.error .field input[type=email],.ui.form .fields.error .field input[type=number],.ui.form .fields.error .field input[type=password],.ui.form .fields.error .field input[type=search],.ui.form .fields.error .field input[type=tel],.ui.form .fields.error .field input[type=time],.ui.form .fields.error .field input[type=text],.ui.form .fields.error .field input[type=file],.ui.form .fields.error .field input[type=url],.ui.form .field.error textarea,.ui.form .field.error select,.ui.form .field.error input:not([type]),.ui.form .field.error input[type=date],.ui.form .field.error input[type=datetime-local],.ui.form .field.error input[type=email],.ui.form .field.error input[type=number],.ui.form .field.error input[type=password],.ui.form .field.error input[type=search],.ui.form .field.error input[type=tel],.ui.form .field.error input[type=time],.ui.form .field.error input[type=text],.ui.form .field.error input[type=file],.ui.form .field.error input[type=url]{color:#9f3a38;background:#fff6f6;border-color:#e0b4b4;border-radius:"";box-shadow:none}.ui.form .field.error textarea:focus,.ui.form .field.error select:focus,.ui.form .field.error input:not([type]):focus,.ui.form .field.error input[type=date]:focus,.ui.form .field.error input[type=datetime-local]:focus,.ui.form .field.error input[type=email]:focus,.ui.form .field.error input[type=number]:focus,.ui.form .field.error input[type=password]:focus,.ui.form .field.error input[type=search]:focus,.ui.form .field.error input[type=tel]:focus,.ui.form .field.error input[type=time]:focus,.ui.form .field.error input[type=text]:focus,.ui.form .field.error input[type=file]:focus,.ui.form .field.error input[type=url]:focus{background:#fff6f6;border-color:#e0b4b4;color:#9f3a38;box-shadow:none}.ui.form .field.error select{-webkit-appearance:menulist-button}.ui.form .field.error .transparent.input input,.ui.form .field.error .transparent.input textarea,.ui.form .field.error input.transparent,.ui.form .field.error textarea.transparent{background-color:#fff6f6!important;color:#9f3a38!important}.ui.form .error.error input:-webkit-autofill{box-shadow:0 0 0 100px #fffaf0 inset!important;border-color:#e0b4b4!important}.ui.form .error ::-webkit-input-placeholder{color:#e7bdbc}.ui.form .error :-ms-input-placeholder{color:#e7bdbc!important}.ui.form .error ::-moz-placeholder{color:#e7bdbc}.ui.form .error :focus::-webkit-input-placeholder{color:#da9796}.ui.form .error :focus:-ms-input-placeholder{color:#da9796!important}.ui.form .error :focus::-moz-placeholder{color:#da9796}.ui.form .fields.error .field .ui.dropdown,.ui.form .fields.error .field .ui.dropdown .item,.ui.form .field.error .ui.dropdown,.ui.form .field.error .ui.dropdown .text,.ui.form .field.error .ui.dropdown .item{background:#fff6f6;color:#9f3a38}.ui.form .fields.error .field .ui.dropdown,.ui.form .field.error .ui.dropdown,.ui.form .fields.error .field .ui.dropdown:hover,.ui.form .field.error .ui.dropdown:hover{border-color:#e0b4b4!important}.ui.form .fields.error .field .ui.dropdown:hover .menu,.ui.form .field.error .ui.dropdown:hover .menu{border-color:#e0b4b4}.ui.form .fields.error .field .ui.multiple.selection.dropdown>.label,.ui.form .field.error .ui.multiple.selection.dropdown>.label{background-color:#eacbcb;color:#9f3a38}.ui.form .fields.error .field .ui.dropdown .menu .item:hover,.ui.form .field.error .ui.dropdown .menu .item:hover,.ui.form .fields.error .field .ui.dropdown .menu .selected.item,.ui.form .field.error .ui.dropdown .menu .selected.item{background-color:#fbe7e7}.ui.form .fields.error .field .ui.dropdown .menu .active.item,.ui.form .field.error .ui.dropdown .menu .active.item{background-color:#fdcfcf!important}.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label,.ui.form .field.error .checkbox:not(.toggle):not(.slider) label,.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box,.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box{color:#9f3a38}.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label:before,.ui.form .field.error .checkbox:not(.toggle):not(.slider) label:before,.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box:before,.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box:before{background:#fff6f6;border-color:#e0b4b4}.ui.form .fields.error .field .checkbox label:after,.ui.form .field.error .checkbox label:after,.ui.form .fields.error .field .checkbox .box:after,.ui.form .field.error .checkbox .box:after{color:#9f3a38}.ui.form.info .info.message:not(:empty){display:block}.ui.form.info .compact.info.message:not(:empty){display:inline-block}.ui.form.info .icon.info.message:not(:empty){display:flex}.ui.form .fields.info .info.message:not(:empty),.ui.form .field.info .info.message:not(:empty){display:block}.ui.form .fields.info .compact.info.message:not(:empty),.ui.form .field.info .compact.info.message:not(:empty){display:inline-block}.ui.form .fields.info .icon.info.message:not(:empty),.ui.form .field.info .icon.info.message:not(:empty){display:flex}.ui.ui.form .fields.info .field label,.ui.ui.form .field.info label,.ui.ui.form .fields.info .field .input,.ui.ui.form .field.info .input{color:#276f86}.ui.form .fields.info .field .corner.label,.ui.form .field.info .corner.label{border-color:#276f86;color:#fff}.ui.form .fields.info .field textarea,.ui.form .fields.info .field select,.ui.form .fields.info .field input:not([type]),.ui.form .fields.info .field input[type=date],.ui.form .fields.info .field input[type=datetime-local],.ui.form .fields.info .field input[type=email],.ui.form .fields.info .field input[type=number],.ui.form .fields.info .field input[type=password],.ui.form .fields.info .field input[type=search],.ui.form .fields.info .field input[type=tel],.ui.form .fields.info .field input[type=time],.ui.form .fields.info .field input[type=text],.ui.form .fields.info .field input[type=file],.ui.form .fields.info .field input[type=url],.ui.form .field.info textarea,.ui.form .field.info select,.ui.form .field.info input:not([type]),.ui.form .field.info input[type=date],.ui.form .field.info input[type=datetime-local],.ui.form .field.info input[type=email],.ui.form .field.info input[type=number],.ui.form .field.info input[type=password],.ui.form .field.info input[type=search],.ui.form .field.info input[type=tel],.ui.form .field.info input[type=time],.ui.form .field.info input[type=text],.ui.form .field.info input[type=file],.ui.form .field.info input[type=url]{color:#276f86;background:#f8ffff;border-color:#a9d5de;border-radius:"";box-shadow:none}.ui.form .field.info textarea:focus,.ui.form .field.info select:focus,.ui.form .field.info input:not([type]):focus,.ui.form .field.info input[type=date]:focus,.ui.form .field.info input[type=datetime-local]:focus,.ui.form .field.info input[type=email]:focus,.ui.form .field.info input[type=number]:focus,.ui.form .field.info input[type=password]:focus,.ui.form .field.info input[type=search]:focus,.ui.form .field.info input[type=tel]:focus,.ui.form .field.info input[type=time]:focus,.ui.form .field.info input[type=text]:focus,.ui.form .field.info input[type=file]:focus,.ui.form .field.info input[type=url]:focus{background:#f8ffff;border-color:#a9d5de;color:#276f86;box-shadow:none}.ui.form .field.info select{-webkit-appearance:menulist-button}.ui.form .field.info .transparent.input input,.ui.form .field.info .transparent.input textarea,.ui.form .field.info input.transparent,.ui.form .field.info textarea.transparent{background-color:#f8ffff!important;color:#276f86!important}.ui.form .info.info input:-webkit-autofill{box-shadow:0 0 0 100px #f0faff inset!important;border-color:#b3e0e0!important}.ui.form .info ::-webkit-input-placeholder{color:#98cfe1}.ui.form .info :-ms-input-placeholder{color:#98cfe1!important}.ui.form .info ::-moz-placeholder{color:#98cfe1}.ui.form .info :focus::-webkit-input-placeholder{color:#70bdd6}.ui.form .info :focus:-ms-input-placeholder{color:#70bdd6!important}.ui.form .info :focus::-moz-placeholder{color:#70bdd6}.ui.form .fields.info .field .ui.dropdown,.ui.form .fields.info .field .ui.dropdown .item,.ui.form .field.info .ui.dropdown,.ui.form .field.info .ui.dropdown .text,.ui.form .field.info .ui.dropdown .item{background:#f8ffff;color:#276f86}.ui.form .fields.info .field .ui.dropdown,.ui.form .field.info .ui.dropdown,.ui.form .fields.info .field .ui.dropdown:hover,.ui.form .field.info .ui.dropdown:hover{border-color:#a9d5de!important}.ui.form .fields.info .field .ui.dropdown:hover .menu,.ui.form .field.info .ui.dropdown:hover .menu{border-color:#a9d5de}.ui.form .fields.info .field .ui.multiple.selection.dropdown>.label,.ui.form .field.info .ui.multiple.selection.dropdown>.label{background-color:#cce3ea;color:#276f86}.ui.form .fields.info .field .ui.dropdown .menu .item:hover,.ui.form .field.info .ui.dropdown .menu .item:hover,.ui.form .fields.info .field .ui.dropdown .menu .selected.item,.ui.form .field.info .ui.dropdown .menu .selected.item{background-color:#e9f2fb}.ui.form .fields.info .field .ui.dropdown .menu .active.item,.ui.form .field.info .ui.dropdown .menu .active.item{background-color:#cef1fd!important}.ui.form .fields.info .field .checkbox:not(.toggle):not(.slider) label,.ui.form .field.info .checkbox:not(.toggle):not(.slider) label,.ui.form .fields.info .field .checkbox:not(.toggle):not(.slider) .box,.ui.form .field.info .checkbox:not(.toggle):not(.slider) .box{color:#276f86}.ui.form .fields.info .field .checkbox:not(.toggle):not(.slider) label:before,.ui.form .field.info .checkbox:not(.toggle):not(.slider) label:before,.ui.form .fields.info .field .checkbox:not(.toggle):not(.slider) .box:before,.ui.form .field.info .checkbox:not(.toggle):not(.slider) .box:before{background:#f8ffff;border-color:#a9d5de}.ui.form .fields.info .field .checkbox label:after,.ui.form .field.info .checkbox label:after,.ui.form .fields.info .field .checkbox .box:after,.ui.form .field.info .checkbox .box:after{color:#276f86}.ui.form.success .success.message:not(:empty){display:block}.ui.form.success .compact.success.message:not(:empty){display:inline-block}.ui.form.success .icon.success.message:not(:empty){display:flex}.ui.form .fields.success .success.message:not(:empty),.ui.form .field.success .success.message:not(:empty){display:block}.ui.form .fields.success .compact.success.message:not(:empty),.ui.form .field.success .compact.success.message:not(:empty){display:inline-block}.ui.form .fields.success .icon.success.message:not(:empty),.ui.form .field.success .icon.success.message:not(:empty){display:flex}.ui.ui.form .fields.success .field label,.ui.ui.form .field.success label,.ui.ui.form .fields.success .field .input,.ui.ui.form .field.success .input{color:#2c662d}.ui.form .fields.success .field .corner.label,.ui.form .field.success .corner.label{border-color:#2c662d;color:#fff}.ui.form .fields.success .field textarea,.ui.form .fields.success .field select,.ui.form .fields.success .field input:not([type]),.ui.form .fields.success .field input[type=date],.ui.form .fields.success .field input[type=datetime-local],.ui.form .fields.success .field input[type=email],.ui.form .fields.success .field input[type=number],.ui.form .fields.success .field input[type=password],.ui.form .fields.success .field input[type=search],.ui.form .fields.success .field input[type=tel],.ui.form .fields.success .field input[type=time],.ui.form .fields.success .field input[type=text],.ui.form .fields.success .field input[type=file],.ui.form .fields.success .field input[type=url],.ui.form .field.success textarea,.ui.form .field.success select,.ui.form .field.success input:not([type]),.ui.form .field.success input[type=date],.ui.form .field.success input[type=datetime-local],.ui.form .field.success input[type=email],.ui.form .field.success input[type=number],.ui.form .field.success input[type=password],.ui.form .field.success input[type=search],.ui.form .field.success input[type=tel],.ui.form .field.success input[type=time],.ui.form .field.success input[type=text],.ui.form .field.success input[type=file],.ui.form .field.success input[type=url]{color:#2c662d;background:#fcfff5;border-color:#a3c293;border-radius:"";box-shadow:none}.ui.form .field.success textarea:focus,.ui.form .field.success select:focus,.ui.form .field.success input:not([type]):focus,.ui.form .field.success input[type=date]:focus,.ui.form .field.success input[type=datetime-local]:focus,.ui.form .field.success input[type=email]:focus,.ui.form .field.success input[type=number]:focus,.ui.form .field.success input[type=password]:focus,.ui.form .field.success input[type=search]:focus,.ui.form .field.success input[type=tel]:focus,.ui.form .field.success input[type=time]:focus,.ui.form .field.success input[type=text]:focus,.ui.form .field.success input[type=file]:focus,.ui.form .field.success input[type=url]:focus{background:#fcfff5;border-color:#a3c293;color:#2c662d;box-shadow:none}.ui.form .field.success select{-webkit-appearance:menulist-button}.ui.form .field.success .transparent.input input,.ui.form .field.success .transparent.input textarea,.ui.form .field.success input.transparent,.ui.form .field.success textarea.transparent{background-color:#fcfff5!important;color:#2c662d!important}.ui.form .success.success input:-webkit-autofill{box-shadow:0 0 0 100px #f0fff0 inset!important;border-color:#bee0b3!important}.ui.form .success ::-webkit-input-placeholder{color:#8fcf90}.ui.form .success :-ms-input-placeholder{color:#8fcf90!important}.ui.form .success ::-moz-placeholder{color:#8fcf90}.ui.form .success :focus::-webkit-input-placeholder{color:#6cbf6d}.ui.form .success :focus:-ms-input-placeholder{color:#6cbf6d!important}.ui.form .success :focus::-moz-placeholder{color:#6cbf6d}.ui.form .fields.success .field .ui.dropdown,.ui.form .fields.success .field .ui.dropdown .item,.ui.form .field.success .ui.dropdown,.ui.form .field.success .ui.dropdown .text,.ui.form .field.success .ui.dropdown .item{background:#fcfff5;color:#2c662d}.ui.form .fields.success .field .ui.dropdown,.ui.form .field.success .ui.dropdown,.ui.form .fields.success .field .ui.dropdown:hover,.ui.form .field.success .ui.dropdown:hover{border-color:#a3c293!important}.ui.form .fields.success .field .ui.dropdown:hover .menu,.ui.form .field.success .ui.dropdown:hover .menu{border-color:#a3c293}.ui.form .fields.success .field .ui.multiple.selection.dropdown>.label,.ui.form .field.success .ui.multiple.selection.dropdown>.label{background-color:#cceacc;color:#2c662d}.ui.form .fields.success .field .ui.dropdown .menu .item:hover,.ui.form .field.success .ui.dropdown .menu .item:hover,.ui.form .fields.success .field .ui.dropdown .menu .selected.item,.ui.form .field.success .ui.dropdown .menu .selected.item{background-color:#e9fbe9}.ui.form .fields.success .field .ui.dropdown .menu .active.item,.ui.form .field.success .ui.dropdown .menu .active.item{background-color:#dafdce!important}.ui.form .fields.success .field .checkbox:not(.toggle):not(.slider) label,.ui.form .field.success .checkbox:not(.toggle):not(.slider) label,.ui.form .fields.success .field .checkbox:not(.toggle):not(.slider) .box,.ui.form .field.success .checkbox:not(.toggle):not(.slider) .box{color:#2c662d}.ui.form .fields.success .field .checkbox:not(.toggle):not(.slider) label:before,.ui.form .field.success .checkbox:not(.toggle):not(.slider) label:before,.ui.form .fields.success .field .checkbox:not(.toggle):not(.slider) .box:before,.ui.form .field.success .checkbox:not(.toggle):not(.slider) .box:before{background:#fcfff5;border-color:#a3c293}.ui.form .fields.success .field .checkbox label:after,.ui.form .field.success .checkbox label:after,.ui.form .fields.success .field .checkbox .box:after,.ui.form .field.success .checkbox .box:after{color:#2c662d}.ui.form.warning .warning.message:not(:empty){display:block}.ui.form.warning .compact.warning.message:not(:empty){display:inline-block}.ui.form.warning .icon.warning.message:not(:empty){display:flex}.ui.form .fields.warning .warning.message:not(:empty),.ui.form .field.warning .warning.message:not(:empty){display:block}.ui.form .fields.warning .compact.warning.message:not(:empty),.ui.form .field.warning .compact.warning.message:not(:empty){display:inline-block}.ui.form .fields.warning .icon.warning.message:not(:empty),.ui.form .field.warning .icon.warning.message:not(:empty){display:flex}.ui.ui.form .fields.warning .field label,.ui.ui.form .field.warning label,.ui.ui.form .fields.warning .field .input,.ui.ui.form .field.warning .input{color:#573a08}.ui.form .fields.warning .field .corner.label,.ui.form .field.warning .corner.label{border-color:#573a08;color:#fff}.ui.form .fields.warning .field textarea,.ui.form .fields.warning .field select,.ui.form .fields.warning .field input:not([type]),.ui.form .fields.warning .field input[type=date],.ui.form .fields.warning .field input[type=datetime-local],.ui.form .fields.warning .field input[type=email],.ui.form .fields.warning .field input[type=number],.ui.form .fields.warning .field input[type=password],.ui.form .fields.warning .field input[type=search],.ui.form .fields.warning .field input[type=tel],.ui.form .fields.warning .field input[type=time],.ui.form .fields.warning .field input[type=text],.ui.form .fields.warning .field input[type=file],.ui.form .fields.warning .field input[type=url],.ui.form .field.warning textarea,.ui.form .field.warning select,.ui.form .field.warning input:not([type]),.ui.form .field.warning input[type=date],.ui.form .field.warning input[type=datetime-local],.ui.form .field.warning input[type=email],.ui.form .field.warning input[type=number],.ui.form .field.warning input[type=password],.ui.form .field.warning input[type=search],.ui.form .field.warning input[type=tel],.ui.form .field.warning input[type=time],.ui.form .field.warning input[type=text],.ui.form .field.warning input[type=file],.ui.form .field.warning input[type=url]{color:#573a08;background:#fffaf3;border-color:#c9ba9b;border-radius:"";box-shadow:none}.ui.form .field.warning textarea:focus,.ui.form .field.warning select:focus,.ui.form .field.warning input:not([type]):focus,.ui.form .field.warning input[type=date]:focus,.ui.form .field.warning input[type=datetime-local]:focus,.ui.form .field.warning input[type=email]:focus,.ui.form .field.warning input[type=number]:focus,.ui.form .field.warning input[type=password]:focus,.ui.form .field.warning input[type=search]:focus,.ui.form .field.warning input[type=tel]:focus,.ui.form .field.warning input[type=time]:focus,.ui.form .field.warning input[type=text]:focus,.ui.form .field.warning input[type=file]:focus,.ui.form .field.warning input[type=url]:focus{background:#fffaf3;border-color:#c9ba9b;color:#573a08;box-shadow:none}.ui.form .field.warning select{-webkit-appearance:menulist-button}.ui.form .field.warning .transparent.input input,.ui.form .field.warning .transparent.input textarea,.ui.form .field.warning input.transparent,.ui.form .field.warning textarea.transparent{background-color:#fffaf3!important;color:#573a08!important}.ui.form .warning.warning input:-webkit-autofill{box-shadow:0 0 0 100px #ffffe0 inset!important;border-color:#e0e0b3!important}.ui.form .warning ::-webkit-input-placeholder{color:#edad3e}.ui.form .warning :-ms-input-placeholder{color:#edad3e!important}.ui.form .warning ::-moz-placeholder{color:#edad3e}.ui.form .warning :focus::-webkit-input-placeholder{color:#e39715}.ui.form .warning :focus:-ms-input-placeholder{color:#e39715!important}.ui.form .warning :focus::-moz-placeholder{color:#e39715}.ui.form .fields.warning .field .ui.dropdown,.ui.form .fields.warning .field .ui.dropdown .item,.ui.form .field.warning .ui.dropdown,.ui.form .field.warning .ui.dropdown .text,.ui.form .field.warning .ui.dropdown .item{background:#fffaf3;color:#573a08}.ui.form .fields.warning .field .ui.dropdown,.ui.form .field.warning .ui.dropdown,.ui.form .fields.warning .field .ui.dropdown:hover,.ui.form .field.warning .ui.dropdown:hover{border-color:#c9ba9b!important}.ui.form .fields.warning .field .ui.dropdown:hover .menu,.ui.form .field.warning .ui.dropdown:hover .menu{border-color:#c9ba9b}.ui.form .fields.warning .field .ui.multiple.selection.dropdown>.label,.ui.form .field.warning .ui.multiple.selection.dropdown>.label{background-color:#eaeacc;color:#573a08}.ui.form .fields.warning .field .ui.dropdown .menu .item:hover,.ui.form .field.warning .ui.dropdown .menu .item:hover,.ui.form .fields.warning .field .ui.dropdown .menu .selected.item,.ui.form .field.warning .ui.dropdown .menu .selected.item{background-color:#fbfbe9}.ui.form .fields.warning .field .ui.dropdown .menu .active.item,.ui.form .field.warning .ui.dropdown .menu .active.item{background-color:#fdfdce!important}.ui.form .fields.warning .field .checkbox:not(.toggle):not(.slider) label,.ui.form .field.warning .checkbox:not(.toggle):not(.slider) label,.ui.form .fields.warning .field .checkbox:not(.toggle):not(.slider) .box,.ui.form .field.warning .checkbox:not(.toggle):not(.slider) .box{color:#573a08}.ui.form .fields.warning .field .checkbox:not(.toggle):not(.slider) label:before,.ui.form .field.warning .checkbox:not(.toggle):not(.slider) label:before,.ui.form .fields.warning .field .checkbox:not(.toggle):not(.slider) .box:before,.ui.form .field.warning .checkbox:not(.toggle):not(.slider) .box:before{background:#fffaf3;border-color:#c9ba9b}.ui.form .fields.warning .field .checkbox label:after,.ui.form .field.warning .checkbox label:after,.ui.form .fields.warning .field .checkbox .box:after,.ui.form .field.warning .checkbox .box:after{color:#573a08}.ui.form .disabled.fields .field,.ui.form .disabled.field,.ui.form .field :disabled{pointer-events:none;opacity:var(--opacity-disabled)}.ui.form .field.disabled>label,.ui.form .fields.disabled>label{opacity:var(--opacity-disabled)}.ui.form .field.disabled :disabled{opacity:1}.ui.loading.form{position:relative;cursor:default;pointer-events:none}.ui.loading.form:before{position:absolute;content:"";top:0;left:0;background:#fffc;width:100%;height:100%;z-index:100}.ui.loading.form.segments:before{border-radius:.28571429rem}.ui.loading.form:after{position:absolute;content:"";top:50%;left:50%;margin:-1.5em 0 0 -1.5em;width:3em;height:3em;animation:loader .6s infinite linear;border:.2em solid #767676;border-radius:500rem;box-shadow:0 0 0 1px transparent;visibility:visible;z-index:101}.ui.form .required.fields:not(.grouped)>.field>label:after,.ui.form .required.fields.grouped>label:after,.ui.form .required.field>label:after,.ui.form .required.fields:not(.grouped)>.field>.checkbox:after,.ui.form .required.field>.checkbox:after,.ui.form label.required:after{margin:-.2em 0 0 .2em;content:"*";color:#db2828}.ui.form .required.fields:not(.grouped)>.field>label:after,.ui.form .required.fields.grouped>label:after,.ui.form .required.field>label:after,.ui.form label.required:after{display:inline-block;vertical-align:top}.ui.form .required.fields:not(.grouped)>.field>.checkbox:after,.ui.form .required.field>.checkbox:after{position:absolute;top:0;left:100%}.ui.form .grouped.fields{display:block;margin:0 0 1em}.ui.form .grouped.fields:last-child{margin-bottom:0}.ui.form .grouped.fields>label{margin:0 0 .28571429rem;color:#000000de;font-size:.92857143em;font-weight:500;text-transform:none}.ui.form .grouped.fields .field,.ui.form .grouped.inline.fields .field{display:block;margin:.5em 0;padding:0}.ui.form .grouped.inline.fields .ui.checkbox{margin-bottom:.4em}.ui.form .fields{display:flex;flex-direction:row;margin:0 -.5em 1em}.ui.form .fields>.field{flex:0 1 auto;padding-left:.5em;padding-right:.5em}.ui.form .fields>.field:first-child{border-left:none;box-shadow:none}.ui.form .two.fields>.fields,.ui.form .two.fields>.field{width:50%}.ui.form .three.fields>.fields,.ui.form .three.fields>.field{width:33.33333333%}.ui.form .four.fields>.fields,.ui.form .four.fields>.field{width:25%}.ui.form .five.fields>.fields,.ui.form .five.fields>.field{width:20%}.ui.form .six.fields>.fields,.ui.form .six.fields>.field{width:16.66666667%}.ui.form .seven.fields>.fields,.ui.form .seven.fields>.field{width:14.28571429%}.ui.form .eight.fields>.fields,.ui.form .eight.fields>.field{width:12.5%}.ui.form .nine.fields>.fields,.ui.form .nine.fields>.field{width:11.11111111%}.ui.form .ten.fields>.fields,.ui.form .ten.fields>.field{width:10%}@media only screen and (max-width: 767.98px){.ui.form .fields{flex-wrap:wrap;margin-bottom:0}.ui.form:not(.unstackable) .fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .fields:not(.unstackable)>.field{width:100%;margin:0 0 1em}}.ui.form .fields .wide.field{width:6.25%;padding-left:.5em;padding-right:.5em}.ui.form .one.wide.field{width:6.25%}.ui.form .two.wide.field{width:12.5%}.ui.form .three.wide.field{width:18.75%}.ui.form .four.wide.field{width:25%}.ui.form .five.wide.field{width:31.25%}.ui.form .six.wide.field{width:37.5%}.ui.form .seven.wide.field{width:43.75%}.ui.form .eight.wide.field{width:50%}.ui.form .nine.wide.field{width:56.25%}.ui.form .ten.wide.field{width:62.5%}.ui.form .eleven.wide.field{width:68.75%}.ui.form .twelve.wide.field{width:75%}.ui.form .thirteen.wide.field{width:81.25%}.ui.form .fourteen.wide.field{width:87.5%}.ui.form .fifteen.wide.field{width:93.75%}.ui.form .sixteen.wide.field{width:100%}.ui[class*="equal width"].form .fields>.field,.ui.form [class*="equal width"].fields>.field{width:100%;flex:1 1 auto}.ui.form .inline.fields{margin:0 0 1em;align-items:center}.ui.form .inline.fields .field{margin:0;padding:0 1em 0 0}.ui.form .inline.fields>label,.ui.form .inline.fields .field>label,.ui.form .inline.fields .field>p,.ui.form .inline.field>label,.ui.form .inline.field>p{display:inline-block;width:auto;margin-top:0;margin-bottom:0;vertical-align:baseline;font-size:.92857143em;font-weight:500;color:#000000de;text-transform:none}.ui.form .inline.fields>label{margin:.035714em 1em 0 0}.ui.form .inline.fields .field>input,.ui.form .inline.fields .field>select,.ui.form .inline.field>input,.ui.form .inline.field>select{display:inline-block;width:auto;margin-top:0;margin-bottom:0;vertical-align:middle;font-size:1em}.ui.form .inline.fields .field .calendar:not(.popup),.ui.form .inline.field .calendar:not(.popup){display:inline-block}.ui.form .inline.fields .field .calendar:not(.popup)>.input>input,.ui.form .inline.field .calendar:not(.popup)>.input>input{width:13.11em}.ui.form .inline.fields .field>:first-child,.ui.form .inline.field>:first-child{margin:0 .85714286em 0 0}.ui.form .inline.fields .field>:only-child,.ui.form .inline.field>:only-child{margin:0}.ui.form .inline.fields .wide.field{display:flex;align-items:center}.ui.form .inline.fields .wide.field>input,.ui.form .inline.fields .wide.field>select{width:100%}.ui.form,.ui.form .field .dropdown,.ui.form .field .dropdown .menu>.item{font-size:1rem}.ui.mini.form,.ui.mini.form .field .dropdown,.ui.mini.form .field .dropdown .menu>.item{font-size:.78571429rem}.ui.tiny.form,.ui.tiny.form .field .dropdown,.ui.tiny.form .field .dropdown .menu>.item{font-size:.85714286rem}.ui.small.form,.ui.small.form .field .dropdown,.ui.small.form .field .dropdown .menu>.item{font-size:.92857143rem}.ui.large.form,.ui.large.form .field .dropdown,.ui.large.form .field .dropdown .menu>.item{font-size:1.14285714rem}.ui.big.form,.ui.big.form .field .dropdown,.ui.big.form .field .dropdown .menu>.item{font-size:1.28571429rem}.ui.huge.form,.ui.huge.form .field .dropdown,.ui.huge.form .field .dropdown .menu>.item{font-size:1.42857143rem}.ui.massive.form,.ui.massive.form .field .dropdown,.ui.massive.form .field .dropdown .menu>.item{font-size:1.71428571rem}.ui.modal{position:absolute;display:none;z-index:1001;text-align:left;background:#fff;border:none;box-shadow:1px 3px 3px #0003,1px 3px 15px 2px #0003;transform-origin:50% 25%;flex:0 0 auto;border-radius:.28571429rem;-webkit-user-select:text;-moz-user-select:text;user-select:text;will-change:top,left,margin,transform,opacity}.ui.modal>:first-child:not(.icon):not(.dimmer),.ui.modal>i.icon:first-child+*,.ui.modal>.dimmer:first-child+*:not(.icon),.ui.modal>.dimmer:first-child+i.icon+*{border-top-left-radius:.28571429rem;border-top-right-radius:.28571429rem}.ui.modal>:last-child{border-bottom-left-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.modal>.ui.dimmer{border-radius:inherit}.ui.modal>.close{cursor:pointer;position:absolute;top:-2.5rem;right:-2.5rem;z-index:1;opacity:.8;font-size:1.25em;color:#fff;width:2.25rem;height:2.25rem;padding:.625rem 0 0}.ui.modal>.close:hover{opacity:1}.ui.modal>.header{display:block;font-family:var(--fonts-regular);background:#fff;margin:0;padding:1.25rem 1.5rem;box-shadow:none;color:#000000d9;border-bottom:1px solid rgba(34,36,38,.15)}.ui.modal>.header:not(.ui){font-size:1.42857143rem;line-height:1.28571429em;font-weight:500}.ui.modal>.content{display:block;width:100%;font-size:1em;line-height:1.4;padding:1.5rem;background:#fff}.ui.modal>.image.content{display:flex;flex-direction:row}.ui.modal>.content>.image{display:block;flex:0 1 auto;width:"";align-self:start;max-width:100%}.ui.modal>[class*="top aligned"]{align-self:start}.ui.modal>[class*="middle aligned"]{align-self:center}.ui.modal>[class*=stretched]{align-self:stretch}.ui.modal>.content>.description{display:block;flex:1 0 auto;min-width:0;align-self:start}.ui.modal>.content>i.icon+.description,.ui.modal>.content>.image+.description{flex:0 1 auto;min-width:"";width:auto;padding-left:2em}.ui.modal>.content>.image>i.icon{margin:0;opacity:1;width:auto;line-height:1;font-size:8rem}.ui.modal>.actions{background:#f9fafb;padding:1rem;border-top:1px solid rgba(34,36,38,.15);text-align:right}.ui.modal .actions>.button:not(.fluid){margin-left:.75em}.ui.basic.modal>.actions{border-top:none}@media only screen and (max-width: 767.98px){.ui.modal:not(.fullscreen){width:95%;margin:0}}@media only screen and (min-width: 768px){.ui.modal:not(.fullscreen){width:88%;margin:0}}@media only screen and (min-width: 992px){.ui.modal:not(.fullscreen){width:850px;margin:0}}@media only screen and (min-width: 1200px){.ui.modal:not(.fullscreen){width:900px;margin:0}}@media only screen and (min-width: 1920px){.ui.modal:not(.fullscreen){width:950px;margin:0}}@media only screen and (max-width: 991.98px){.ui.modal>.header{padding-right:2.25rem}.ui.modal>.close{top:1.0535rem;right:1rem;color:#000000de}}@media only screen and (max-width: 767.98px){.ui.modal>.header{padding:.75rem 2.25rem .75rem 1rem!important}.ui.overlay.fullscreen.modal>.content.content.content{min-height:calc(100vh - 8.1rem)}.ui.overlay.fullscreen.modal>.scrolling.content.content.content{max-height:calc(100vh - 8.1rem)}.ui.modal>.content{display:block;padding:1rem!important}.ui.modal>.close{top:.5rem!important;right:.5rem!important}.ui.modal .image.content{flex-direction:column}.ui.modal>.content>.image{display:block;max-width:100%;margin:0 auto!important;text-align:center;padding:0 0 1rem!important}.ui.modal>.content>.image>i.icon{font-size:5rem;text-align:center}.ui.modal>.content>.description{display:block;width:100%!important;margin:0!important;padding:1rem 0!important;box-shadow:none}.ui.modal>.actions{padding:1rem 1rem 0rem!important}.ui.modal .actions>.buttons,.ui.modal .actions>.button{margin-bottom:1rem}}.ui.inverted.dimmer>.ui.modal{box-shadow:1px 3px 10px 2px #0003}.ui.basic.modal{background-color:transparent;border:none;border-radius:0;box-shadow:none!important;color:#fff}.ui.basic.modal>.header,.ui.basic.modal>.content,.ui.basic.modal>.actions{background-color:transparent}.ui.basic.modal>.header{color:#fff;border-bottom:none}.ui.basic.modal>.close{top:1rem;right:1.5rem;color:#fff}.ui.inverted.dimmer>.basic.modal{color:#000000de}.ui.inverted.dimmer>.ui.basic.modal>.header{color:#000000d9}.ui.legacy.legacy.modal,.ui.legacy.legacy.page.dimmer>.ui.modal{left:50%!important}.ui.legacy.legacy.modal:not(.aligned),.ui.legacy.legacy.page.dimmer>.ui.modal:not(.aligned){top:50%}.ui.legacy.legacy.page.dimmer>.ui.scrolling.modal:not(.aligned),.ui.page.dimmer>.ui.scrolling.legacy.legacy.modal:not(.aligned),.ui.top.aligned.legacy.legacy.page.dimmer>.ui.modal:not(.aligned),.ui.top.aligned.dimmer>.ui.legacy.legacy.modal:not(.aligned){top:auto}.ui.legacy.overlay.fullscreen.modal{margin-top:-2rem!important}.ui.loading.modal{display:block;visibility:hidden;z-index:-1}.ui.active.modal{display:block}.modals.dimmer .ui.top.aligned.modal{top:5vh}.modals.dimmer .ui.bottom.aligned.modal{bottom:5vh}@media only screen and (max-width: 767.98px){.modals.dimmer .ui.top.aligned.modal{top:1rem}.modals.dimmer .ui.bottom.aligned.modal{bottom:1rem}}.scrolling.dimmable.dimmed{overflow:hidden}.scrolling.dimmable>.dimmer{justify-content:flex-start;position:fixed}.scrolling.dimmable.dimmed>.dimmer{overflow:auto;-webkit-overflow-scrolling:touch}.modals.dimmer .ui.scrolling.modal:not(.fullscreen){margin:2rem auto}.modals.dimmer .ui.scrolling.modal:not([class*="overlay fullscreen"]):after{content:"\a0";position:absolute;height:2rem}.scrolling.undetached.dimmable.dimmed{overflow:auto;-webkit-overflow-scrolling:touch}.scrolling.undetached.dimmable.dimmed>.dimmer{overflow:hidden}.scrolling.undetached.dimmable .ui.scrolling.modal:not(.fullscreen){position:absolute;left:50%}.ui.modal>.scrolling.content{max-height:calc(80vh - 10rem);overflow:auto}.ui.overlay.fullscreen.modal>.content{min-height:calc(100vh - 9.1rem)}.ui.overlay.fullscreen.modal>.scrolling.content{max-height:calc(100vh - 9.1rem)}.ui.fullscreen.modal{width:95%;left:2.5%;margin:1em auto}.ui.overlay.fullscreen.modal{width:100%;left:0;margin:0 auto;top:0;border-radius:0}.ui.modal>.close.inside+.header,.ui.fullscreen.modal>.header{padding-right:2.25rem}.ui.modal>.close.inside,.ui.fullscreen.modal>.close{top:1.0535rem;right:1rem;color:#000000de}.ui.basic.fullscreen.modal>.close{color:#fff}.ui.modal{font-size:1rem}.ui.mini.modal>.header:not(.ui){font-size:1.3em}@media only screen and (max-width: 767.98px){.ui.mini.modal{width:95%;margin:0}}@media only screen and (min-width: 768px){.ui.mini.modal{width:35.2%;margin:0}}@media only screen and (min-width: 992px){.ui.mini.modal{width:340px;margin:0}}@media only screen and (min-width: 1200px){.ui.mini.modal{width:360px;margin:0}}@media only screen and (min-width: 1920px){.ui.mini.modal{width:380px;margin:0}}.ui.tiny.modal>.header:not(.ui){font-size:1.3em}@media only screen and (max-width: 767.98px){.ui.tiny.modal{width:95%;margin:0}}@media only screen and (min-width: 768px){.ui.tiny.modal{width:52.8%;margin:0}}@media only screen and (min-width: 992px){.ui.tiny.modal{width:510px;margin:0}}@media only screen and (min-width: 1200px){.ui.tiny.modal{width:540px;margin:0}}@media only screen and (min-width: 1920px){.ui.tiny.modal{width:570px;margin:0}}.ui.small.modal>.header:not(.ui){font-size:1.3em}@media only screen and (max-width: 767.98px){.ui.small.modal{width:95%;margin:0}}@media only screen and (min-width: 768px){.ui.small.modal{width:70.4%;margin:0}}@media only screen and (min-width: 992px){.ui.small.modal{width:680px;margin:0}}@media only screen and (min-width: 1200px){.ui.small.modal{width:720px;margin:0}}@media only screen and (min-width: 1920px){.ui.small.modal{width:760px;margin:0}}.ui.large.modal>.header:not(.ui){font-size:1.6em}@media only screen and (max-width: 767.98px){.ui.large.modal{width:95%;margin:0}}@media only screen and (min-width: 768px){.ui.large.modal{width:88%;margin:0}}@media only screen and (min-width: 992px){.ui.large.modal{width:1020px;margin:0}}@media only screen and (min-width: 1200px){.ui.large.modal{width:1080px;margin:0}}@media only screen and (min-width: 1920px){.ui.large.modal{width:1140px;margin:0}}.ui.big.modal>.header:not(.ui){font-size:1.6em}@media only screen and (max-width: 767.98px){.ui.big.modal{width:95%;margin:0}}@media only screen and (min-width: 768px){.ui.big.modal{width:88%;margin:0}}@media only screen and (min-width: 992px){.ui.big.modal{width:1190px;margin:0}}@media only screen and (min-width: 1200px){.ui.big.modal{width:1260px;margin:0}}@media only screen and (min-width: 1920px){.ui.big.modal{width:1330px;margin:0}}.ui.huge.modal>.header:not(.ui){font-size:1.6em}@media only screen and (max-width: 767.98px){.ui.huge.modal{width:95%;margin:0}}@media only screen and (min-width: 768px){.ui.huge.modal{width:88%;margin:0}}@media only screen and (min-width: 992px){.ui.huge.modal{width:1360px;margin:0}}@media only screen and (min-width: 1200px){.ui.huge.modal{width:1440px;margin:0}}@media only screen and (min-width: 1920px){.ui.huge.modal{width:1520px;margin:0}}.ui.massive.modal>.header:not(.ui){font-size:1.8em}@media only screen and (max-width: 767.98px){.ui.massive.modal{width:95%;margin:0}}@media only screen and (min-width: 768px){.ui.massive.modal{width:88%;margin:0}}@media only screen and (min-width: 992px){.ui.massive.modal{width:1530px;margin:0}}@media only screen and (min-width: 1200px){.ui.massive.modal{width:1620px;margin:0}}@media only screen and (min-width: 1920px){.ui.massive.modal{width:1710px;margin:0}}.ui.search{position:relative}.ui.search>.prompt{margin:0;outline:none;-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,255,255,0);text-shadow:none;font-style:normal;font-weight:400;line-height:1.21428571em;padding:.67857143em 1em;font-size:1em;background:#fff;border:1px solid rgba(34,36,38,.15);color:#000000de;box-shadow:0 0 0 0 transparent inset;transition:background-color .1s ease,color .1s ease,box-shadow .1s ease,border-color .1s ease}.ui.search .prompt{border-radius:500rem}.ui.search .prompt~.search.icon{cursor:pointer}.ui.search>.results{display:none;position:absolute;top:100%;left:0;transform-origin:center top;white-space:normal;text-align:left;text-transform:none;background:#fff;margin-top:.5em;width:18em;border-radius:.28571429rem;box-shadow:0 2px 4px #2224261f,0 2px 10px #22242626;border:1px solid #D4D4D5;z-index:998}.ui.search>.results>:first-child{border-radius:.28571429rem .28571429rem 0 0}.ui.search>.results>:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.search>.results .result{cursor:pointer;display:block;overflow:hidden;font-size:1em;padding:.85714286em 1.14285714em;color:#000000de;line-height:1.33;border-bottom:1px solid rgba(34,36,38,.1)}.ui.search>.results .result:last-child{border-bottom:none!important}.ui.search>.results .result .image{float:right;overflow:hidden;background:none;width:5em;height:3em;border-radius:.25em}.ui.search>.results .result .image img{display:block;width:auto;height:100%}.ui.search>.results .result .image+.content{margin:0 6em 0 0}.ui.search>.results .result .title{margin:-.14285714em 0 0;font-family:var(--fonts-regular);font-weight:500;font-size:1em;color:#000000d9}.ui.search>.results .result .description{margin-top:0;font-size:.92857143em;color:#0006}.ui.search>.results .result .price{float:right;color:#21ba45}.ui.search>.results>.message{padding:1em}.ui.search>.results>.message .header{font-family:var(--fonts-regular);font-size:1rem;font-weight:500;color:#000000de}.ui.search>.results>.message .description{margin-top:.25rem;font-size:1em;color:#000000de}.ui.search>.results>.action{display:block;border-top:none;background:#f3f4f5;padding:.92857143em 1em;color:#000000de;font-weight:500;text-align:center}.ui.search>.prompt:focus{border-color:#22242659;background:#fff;color:#000000f2}.ui.loading.search .input>i.icon:before{position:absolute;content:"";top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.loading.search .input>i.icon:after{position:absolute;content:"";top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;animation:loader .6s infinite linear;border:.2em solid #767676;border-radius:500rem;box-shadow:0 0 0 1px transparent}.ui.search>.results .result:hover,.ui.category.search>.results .category .result:hover{background:#f9fafb}.ui.search .action:hover:not(div){background:#e0e0e0}.ui.category.search>.results .category.active{background:#f3f4f5}.ui.category.search>.results .category.active>.name{color:#000000de}.ui.search>.results .result.active,.ui.category.search>.results .category .result.active{position:relative;border-left-color:#2224261a;background:#f3f4f5;box-shadow:none}.ui.search>.results .result.active .title{color:#000000d9}.ui.search>.results .result.active .description{color:#000000d9}.ui.disabled.search{cursor:default;pointer-events:none;opacity:var(--opacity-disabled)}.ui.search.selection .prompt{border-radius:.28571429rem}.ui.search.selection>.icon.input>.remove.icon{pointer-events:none;position:absolute;left:auto;opacity:0;color:"";top:0;right:0;transition:color .1s ease,opacity .1s ease}.ui.search.selection>.icon.input>.active.remove.icon{cursor:pointer;opacity:.8;pointer-events:auto}.ui.search.selection>.icon.input:not([class*="left icon"])>.icon~.remove.icon{right:1.85714em}.ui.search.selection>.icon.input>.remove.icon:hover{opacity:1;color:#db2828}.ui.category.search .results{width:28em}.ui.category.search .results.animating,.ui.category.search .results.visible{display:table}.ui.category.search>.results .category{display:table-row;background:#f3f4f5;box-shadow:none;transition:background .1s ease,border-color .1s ease}.ui.category.search>.results .category:last-child{border-bottom:none}.ui.category.search>.results .category:first-child .name+.result{border-radius:0 .28571429rem 0 0}.ui.category.search>.results .category:last-child .result:last-child{border-radius:0 0 .28571429rem}.ui.category.search>.results .category>.name{display:table-cell;text-overflow:ellipsis;width:100px;white-space:nowrap;background:transparent;font-family:var(--fonts-regular);font-size:1em;padding:.4em 1em;font-weight:500;color:#0006;border-bottom:1px solid rgba(34,36,38,.1)}.ui.category.search>.results .category .results{display:table-cell;background:#fff;border-left:1px solid rgba(34,36,38,.15);border-bottom:1px solid rgba(34,36,38,.1)}.ui.category.search>.results .category .result{border-bottom:1px solid rgba(34,36,38,.1);transition:background .1s ease,border-color .1s ease;padding:.85714286em 1.14285714em}.ui.scrolling.search>.results,.ui.search.long>.results,.ui.search.short>.results{overflow-x:hidden;overflow-y:auto;backface-visibility:hidden;-webkit-overflow-scrolling:touch}@media only screen and (max-width: 767.98px){.ui.scrolling.search>.results{max-height:12.17714286em}}@media only screen and (min-width: 768px){.ui.scrolling.search>.results{max-height:18.26571429em}}@media only screen and (min-width: 992px){.ui.scrolling.search>.results{max-height:24.35428571em}}@media only screen and (min-width: 1920px){.ui.scrolling.search>.results{max-height:36.53142857em}}@media only screen and (max-width: 767.98px){.ui.search.short>.results{max-height:12.17714286em}.ui.search[class*="very short"]>.results{max-height:9.13285714em}.ui.search.long>.results{max-height:24.35428571em}.ui.search[class*="very long"]>.results{max-height:36.53142857em}}@media only screen and (min-width: 768px){.ui.search.short>.results{max-height:18.26571429em}.ui.search[class*="very short"]>.results{max-height:13.69928571em}.ui.search.long>.results{max-height:36.53142857em}.ui.search[class*="very long"]>.results{max-height:54.79714286em}}@media only screen and (min-width: 992px){.ui.search.short>.results{max-height:24.35428571em}.ui.search[class*="very short"]>.results{max-height:18.26571429em}.ui.search.long>.results{max-height:48.70857143em}.ui.search[class*="very long"]>.results{max-height:73.06285714em}}@media only screen and (min-width: 1920px){.ui.search.short>.results{max-height:36.53142857em}.ui.search[class*="very short"]>.results{max-height:27.39857143em}.ui.search.long>.results{max-height:73.06285714em}.ui.search[class*="very long"]>.results{max-height:109.59428571em}}.ui[class*="left aligned"].search>.results{right:auto;left:0}.ui[class*="right aligned"].search>.results{right:0;left:auto}.ui.fluid.search .results{width:100%}.ui.search{font-size:1em}.ui.mini.search{font-size:.78571429em}.ui.tiny.search{font-size:.85714286em}.ui.small.search{font-size:.92857143em}.ui.large.search{font-size:1.14285714em}.ui.big.search{font-size:1.28571429em}.ui.huge.search{font-size:1.42857143em}.ui.massive.search{font-size:1.71428571em}@media only screen and (max-width: 767.98px){.ui.search .results{max-width:calc(100vw - 2rem)}}.ui.tab{display:none}.ui.tab.active,.ui.tab.open{display:block}.ui.tab.loading{position:relative;overflow:hidden;display:block;min-height:250px}.ui.tab.loading *{position:relative!important;left:-10000px!important}.ui.tab.loading:before,.ui.tab.loading.segment:before{position:absolute;content:"";top:50%;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.tab.loading:after,.ui.tab.loading.segment:after{position:absolute;content:"";top:50%;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;animation:loader .6s infinite linear;border:.2em solid #767676;border-radius:500rem;box-shadow:0 0 0 1px transparent}*,:before,:after{box-sizing:border-box}html{line-height:normal;-webkit-text-size-adjust:100%}body{margin:0}hr{height:0;color:inherit}abbr[title]{text-decoration:underline dotted}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}@keyframes isloadingspin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.is-loading{pointer-events:none!important;position:relative!important}.is-loading>*{opacity:.3}.btn.is-loading>*,.button.is-loading>*{opacity:0}.is-loading:after{content:"";position:absolute;display:block;left:50%;top:50%;height:min(4em,66.6%);width:fit-content;aspect-ratio:1;transform:translate(-50%,-50%);animation:isloadingspin 1s infinite linear;border-width:4px;border-style:solid;border-color:var(--color-secondary) var(--color-secondary) var(--color-secondary-dark-8) var(--color-secondary-dark-8);border-radius:var(--border-radius-full)}.is-loading.loading-icon-2px:after{border-width:2px}.is-loading.loading-icon-3px:after{border-width:3px}form.single-button-form.is-loading>*{opacity:1}form.single-button-form.is-loading .button{color:transparent}.markup pre.is-loading,.editor-loading.is-loading,.pdf-content.is-loading{height:var(--height-loading)}.markup .is-loading>*{visibility:hidden}.markup .is-loading{color:transparent;background:transparent}code.language-math.is-loading:after{padding:0;border-width:2px;width:1.25rem;height:1.25rem}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes fadeout{0%{opacity:1}to{opacity:0}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.8)}to{transform:scale(1)}}.pulse{animation:pulse 2s linear}.ui.modal,.ui.dimmer.transition{animation-name:fadein;animation-duration:.1s;animation-timing-function:ease-in-out}.ui.button{cursor:pointer;display:inline-block;min-height:1em;outline:none;vertical-align:baseline;font-family:var(--fonts-regular);margin:0 .25em 0 0;padding:.78571429em 1.5em;font-weight:var(--font-weight-normal);text-align:center;text-decoration:none;line-height:1;border-radius:.28571429rem;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;background:var(--color-button);border:1px solid var(--color-light-border);color:var(--color-text);white-space:nowrap}.ui.button:focus-visible{box-shadow:inset 0 0 0 2px currentcolor}@media (max-width: 767.98px){.ui.button{white-space:normal}}.ui.button:hover{background:var(--color-hover);color:var(--color-text)}.ui.active.button,.ui.button:active,.ui.active.button:active,.ui.active.button:hover{background:var(--color-active);color:var(--color-text)}.ui.buttons .disabled.button:not(.basic),.ui.disabled.button,.ui.button:disabled,.ui.disabled.button:hover,.ui.disabled.active.button{cursor:default;opacity:var(--opacity-disabled)!important;background-image:none;pointer-events:none!important}.ui.labeled.button:not(.icon){display:inline-flex;flex-direction:row;background:none;padding:0!important;border:none}.ui.labeled.button>.button{margin:0;border-top-right-radius:0;border-bottom-right-radius:0}.ui.labeled.button>.label{display:flex;align-items:center;margin:0 0 0 -1px!important;font-size:1em;border-color:var(--color-light-border);border-top-left-radius:0;border-bottom-left-radius:0}.ui.labeled.button>.label:hover{background:var(--color-hover)}.ui.labeled.button>.button:hover+.label{border-left-color:var(--color-secondary-dark-2)}.ui.button>.icon:not(.button){height:auto;opacity:.8}.ui.button:not(.icon)>.icon:not(.button):not(.dropdown),.ui.button:not(.icon)>.icons:not(.button):not(.dropdown){margin:0 .42857143em 0 -.21428571em;vertical-align:baseline}.ui.button:not(.icon)>.icons:not(.button):not(.dropdown)>.icon{vertical-align:baseline}.ui.button:not(.icon)>.right.icon:not(.button):not(.dropdown){margin:0 -.21428571em 0 .42857143em}.ui.compact.buttons .button,.ui.compact.button{padding:.58928571em 1.125em}.ui.compact.icon.buttons .button,.ui.compact.icon.button{padding:.58928571em}.ui.compact.labeled.icon.button{padding:.58928571em 3.69642857em}.ui.compact.labeled.icon.button>.icon{padding:.58928571em 0}.ui.buttons .button,.ui.button{font-size:1rem}.ui.mini.buttons .dropdown,.ui.mini.buttons .dropdown .menu>.item,.ui.mini.buttons .button,.ui.ui.ui.ui.mini.button{font-size:.78571429rem}.ui.tiny.buttons .dropdown,.ui.tiny.buttons .dropdown .menu>.item,.ui.tiny.buttons .button,.ui.ui.ui.ui.tiny.button{font-size:.85714286rem}.ui.small.buttons .dropdown,.ui.small.buttons .dropdown .menu>.item,.ui.small.buttons .button,.ui.ui.ui.ui.small.button{font-size:.92857143rem}.ui.icon.buttons .button,.ui.icon.button:not(.compact){padding:.78571429em}.ui.icon.buttons .button>.icon,.ui.icon.button>.icon{margin:0!important;vertical-align:top}.ui.basic.buttons .button,.ui.basic.button{border-radius:.28571429rem;background:none}.ui.basic.buttons{border:1px solid var(--color-secondary);border-radius:.28571429rem}.ui.basic.buttons .button{border-radius:0;border-left:1px solid var(--color-secondary)}.ui.labeled.button.disabled>.button,.ui.basic.buttons .button,.ui.basic.button{color:var(--color-text-light);background:var(--color-button)}.ui.basic.buttons .button:hover,.ui.basic.button:hover{color:var(--color-text);background:var(--color-hover);border-color:var(--color-secondary-dark-2)}.ui.basic.buttons .button:active,.ui.basic.button:active,.ui.basic.buttons .active.button,.ui.basic.active.button,.ui.basic.buttons .active.button:hover,.ui.basic.active.button:hover{color:var(--color-text);background:var(--color-active)}.ui.labeled.icon.button{position:relative;padding-left:4.07142857em!important;padding-right:1.5em!important}.ui.labeled.icon.button>.icon{position:absolute;top:0;left:0;height:100%;line-height:1;border-radius:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit;text-align:center;animation:none;padding:.78571429em 0;margin:0;width:2.57142857em;background:var(--color-hover)}.ui.button.toggle.active{background-color:var(--color-green);color:var(--color-white)}.ui.button.toggle.active:hover{background-color:var(--color-green-dark-1);color:var(--color-white)}.ui.fluid.button{width:100%;display:block}.ui.primary.button,.ui.primary.buttons .button{background:var(--color-primary);color:var(--color-primary-contrast)}.ui.primary.button:hover,.ui.primary.buttons .button:hover{background:var(--color-primary-hover);color:var(--color-primary-contrast)}.ui.primary.button:active,.ui.primary.buttons .button:active{background:var(--color-primary-active)}.ui.basic.primary.buttons .button,.ui.basic.primary.button{color:var(--color-primary);border-color:var(--color-primary);background:none}.ui.basic.primary.buttons .button:hover,.ui.basic.primary.button:hover{color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.ui.basic.primary.buttons .button:active,.ui.basic.primary.button:active{color:var(--color-primary-active);border-color:var(--color-primary-active)}.ui.red.button,.ui.red.buttons .button{color:var(--color-white);background:var(--color-red)}.ui.red.button:hover,.ui.red.buttons .button:hover{background:var(--color-red-dark-1)}.ui.red.button:active,.ui.red.buttons .button:active{background:var(--color-red-dark-2)}.ui.basic.red.buttons .button,.ui.basic.red.button{color:var(--color-red);border-color:var(--color-red);background:none}.ui.basic.red.buttons .button:hover,.ui.basic.red.button:hover{color:var(--color-red-dark-1);border-color:var(--color-red-dark-1)}.ui.basic.red.buttons .button:active,.ui.basic.red.button:active{color:var(--color-red-dark-2);border-color:var(--color-red-dark-2)}.ui.green.button,.ui.green.buttons .button{color:var(--color-white);background:var(--color-green)}.ui.green.button:hover,.ui.green.buttons .button:hover{background:var(--color-green-dark-1)}.ui.green.button:active,.ui.green.buttons .button:active{background:var(--color-green-dark-2)}.ui.basic.green.buttons .button,.ui.basic.green.button{color:var(--color-green);border-color:var(--color-green);background:none}.ui.basic.green.buttons .button:hover,.ui.basic.green.button:hover{color:var(--color-green-dark-1);border-color:var(--color-green-dark-1)}.ui.basic.green.buttons .button:active,.ui.basic.green.button:active{color:var(--color-green-dark-2);border-color:var(--color-green-dark-2)}.ui.buttons{display:inline-flex;flex-direction:row;font-size:0;vertical-align:baseline;margin:0 .25em 0 0}.delete-button,.delete-button:hover{color:var(--color-red)}.btn{background:transparent;border-radius:var(--border-radius);border:none;color:inherit;margin:0;padding:0}.btn:hover,.btn:active{background:none;border:none}a.btn,a.btn:hover{color:inherit}.ui.buttons .button{border-right:none;flex:1 0 auto;border-radius:0;margin:0}.ui.buttons .button:first-child{border-left:none;margin-left:0;border-top-left-radius:.28571429rem;border-bottom-left-radius:.28571429rem}.ui.buttons .button:last-child{border-top-right-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.buttons .button:hover{border-color:var(--color-secondary-dark-2)}.ui.buttons .button:hover+.button{border-left:1px solid var(--color-secondary-dark-2)}.ui.buttons .button:first-child,.ui.buttons .button.tw-hidden:first-child+.button{border-left:1px solid var(--color-light-border)}.ui.buttons .button:last-child,.ui.buttons .button:nth-last-child(2):has(+.button.tw-hidden){border-right:1px solid var(--color-light-border)}.ui.buttons .button.active{border-left:1px solid var(--color-light-border);border-right:1px solid var(--color-light-border)}.ui.buttons .button.active+.button{border-left:none}.ui.small.button:not(.compact):has(.svg){padding-top:.58928571em;padding-bottom:.58928571em}.ui.container{width:1280px;max-width:calc(100% - calc(2 * var(--page-margin-x)));margin-left:auto;margin-right:auto}.ui.fluid.container{width:100%}.ui[class*="center aligned"].container{text-align:center}.divider{margin:10px 0;height:0;font-weight:var(--font-weight-medium);color:var(--color-text);font-size:1rem;width:100%}h4.divider{margin-top:1.25rem;margin-bottom:1.25rem}.divider:not(.divider-text){border-top:1px solid var(--color-secondary)}.divider.divider-text{display:flex;align-items:center;padding:5px 0}.divider.divider-text:before,.divider.divider-text:after{content:"";flex:1;border-top:1px solid var(--color-secondary)}.divider.divider-text:before{margin-right:.75em}.divider.divider-text:after{margin-left:.75em}.ui.dropdown .menu>.divider{border-top:1px solid var(--color-secondary);margin:4px 0}.ui.header{color:var(--color-text);border:none;margin:calc(2rem - .1428571428571429em) 0 1rem;padding:0;font-family:var(--fonts-regular);font-weight:var(--font-weight-medium);line-height:1.28571429}.ui.header:first-child{margin-top:-.14285714em}.ui.header:last-child{margin-bottom:0}.ui.header .ui.label{margin-left:.25rem;vertical-align:middle}.ui.header>.ui.label.compact{margin-top:inherit}.ui.header .sub.header{display:block;font-weight:var(--font-weight-normal);padding:0;margin:0;font-size:1rem;line-height:1.2;color:var(--color-text-light-1)}.ui.header>i.icon{display:table-cell;opacity:1;font-size:1.5em;padding-top:0;vertical-align:middle}.ui.header>i.icon:only-child{display:inline-block;padding:0;margin-right:.75rem}.ui.header+p{margin-top:0}h2.ui.header{font-size:1.71428571rem}h2.ui.header .sub.header{font-size:1.14285714rem}h4.ui.header{font-size:1.07142857rem}h4.ui.header .sub.header{font-size:1rem}.ui.sub.header{padding:0;margin-bottom:.14285714rem;font-weight:var(--font-weight-normal);font-size:.85714286em}.ui.icon.header svg{width:3em;height:3em;float:none;display:block;line-height:var(--line-height-default);padding:0;margin:0 auto .5rem;opacity:1}.ui.header:not(h1,h2,h3,h4,h5,h6){font-size:1.28571429em}.ui.attached.header{position:relative;background:var(--color-box-header);padding:.78571429rem 1rem;margin:0 -1px;border-radius:0;border:1px solid var(--color-secondary)}.ui.attached:not(.top).header{border-top:none}.ui.top.attached.header{border-radius:.28571429rem .28571429rem 0 0}.ui.bottom.attached.header{border-radius:0 0 .28571429rem .28571429rem}.ui.attached.header:not(h1,h2,h3,h4,h5,h6){font-size:1em}.ui.attached.header>.ui.right{position:absolute;right:.78571429rem;top:0;bottom:0;display:flex;align-items:center;gap:.25em}.ui.attached.header>.ui.right .ui.tiny.button{padding:6px 10px;font-weight:var(--font-weight-normal)}.ui.segments+.ui.top.attached.header,.ui.attached.segment+.ui.top.attached.header{margin-top:1rem}.ui.dividing.header{border-bottom-color:var(--color-secondary)}.ui.dividing.header .sub.header{padding-bottom:.21428571rem}.ui.dividing.header i.icon{margin-bottom:0}.ui.error.header{background:var(--color-error-bg)!important;color:var(--color-error-text)!important;border-color:var(--color-error-border)!important}.ui.warning.header{background:var(--color-warning-bg)!important;color:var(--color-warning-text)!important;border-color:var(--color-warning-border)!important}.attention-header{padding:.5em .75em!important;color:var(--color-text)!important}.ui.input{position:relative;font-weight:var(--font-weight-normal);display:inline-flex;color:var(--color-input-text)}.ui.input>input{margin:0;max-width:100%;flex:1 0 auto;outline:none;font-family:var(--fonts-regular);padding:.67857143em 1em;border:1px solid var(--color-input-border);color:var(--color-input-text);border-radius:.28571429rem;line-height:var(--line-height-default);text-align:start}.ui.disabled.input,.ui.input:not(.disabled) input[disabled]{opacity:var(--opacity-disabled)}.ui.disabled.input>input,.ui.input:not(.disabled) input[disabled]{pointer-events:none}.ui.input.focus>input,.ui.input>input:focus{border-color:var(--color-primary)}.ui.input.error>input{background:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error-text)}.ui.icon.input>i.icon{display:flex;align-items:center;justify-content:center;cursor:default;position:absolute;text-align:center;top:0;right:0;margin:0;height:100%;width:2.67142857em;opacity:.5;border-radius:0 .28571429rem .28571429rem 0;pointer-events:none;padding:4px}.ui.icon.input>i.icon.is-loading{position:absolute!important;height:28px;top:4px}.ui.icon.input>i.icon.is-loading>*{visibility:hidden}.ui.ui.ui.ui.icon.input>textarea,.ui.ui.ui.ui.icon.input>input{padding-right:2.67142857em}.ui.icon.input>i.link.icon{cursor:pointer}.ui.icon.input>i.circular.icon{top:.35em;right:.5em}.ui[class*="left icon"].input>i.icon{right:auto;left:1px;border-radius:.28571429rem 0 0 .28571429rem}.ui[class*="left icon"].input>i.circular.icon{right:auto;left:.5em}.ui.ui.ui.ui[class*="left icon"].input>textarea,.ui.ui.ui.ui[class*="left icon"].input>input{padding-left:2.67142857em;padding-right:1em}.ui.icon.input>textarea:focus~.icon,.ui.icon.input>input:focus~.icon{opacity:1}.ui.icon.input>textarea~i.icon{height:3em}.ui.form .field.error>.ui.action.input>.ui.button,.ui.action.input.error>.ui.button{border-top:1px solid var(--color-error-border);border-bottom:1px solid var(--color-error-border)}.ui.action.input>.button,.ui.action.input>.buttons{display:flex;align-items:center;flex:0 0 auto}.ui.action.input>.button,.ui.action.input>.buttons>.button{padding-top:.78571429em;padding-bottom:.78571429em;margin:0}.ui.action.input:not([class*="left action"])>input{border-top-right-radius:0;border-bottom-right-radius:0;border-right-color:transparent}.ui.action.input>.dropdown:first-child,.ui.action.input>.button:first-child,.ui.action.input>.buttons:first-child>.button{border-radius:.28571429rem 0 0 .28571429rem}.ui.action.input>.dropdown:not(:first-child),.ui.action.input>.button:not(:first-child),.ui.action.input>.buttons:not(:first-child)>.button{border-radius:0}.ui.action.input>.dropdown:last-child,.ui.action.input>.button:last-child,.ui.action.input>.buttons:last-child>.button{border-radius:0 .28571429rem .28571429rem 0}.ui.fluid.input{display:flex}.ui.fluid.input>input{width:0!important}.ui.tiny.input{font-size:.85714286em}.ui.small.input{font-size:.92857143em}.ui.action.input .ui.ui.button{border-color:var(--color-input-border);padding-top:0;padding-bottom:0}.ui.action.input:not([class*="left action"])>.ui.dropdown.selection{min-width:10em}.ui.action.input:not([class*="left action"])>.ui.dropdown.selection:not(:focus){border-right:none}.ui.action.input:not([class*="left action"])>.ui.dropdown.selection:not(.active):hover{border-color:var(--color-input-border)}.ui.action.input:not([class*="left action"]) .ui.dropdown.selection.upward.visible{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.ui.action.input:not([class*="left action"])>input,.ui.action.input:not([class*="left action"])>input:hover{border-right:none}.ui.action.input:not([class*="left action"])>input:focus+.ui.dropdown.selection,.ui.action.input:not([class*="left action"])>input:focus+.ui.dropdown.selection:hover,.ui.action.input:not([class*="left action"])>input:focus+.button,.ui.action.input:not([class*="left action"])>input:focus+.button:hover,.ui.action.input:not([class*="left action"])>input:focus+i.icon+.button,.ui.action.input:not([class*="left action"])>input:focus+i.icon+.button:hover{border-left-color:var(--color-primary)}.ui.action.input:not([class*="left action"])>input:focus{border-right-color:var(--color-primary)}.ui.label{display:inline-flex;align-items:center;gap:.25rem;min-width:0;vertical-align:middle;line-height:1;background:var(--color-label-bg);color:var(--color-label-text);padding:.3em .5em;font-size:.85714286rem;font-weight:var(--font-weight-medium);border:0 solid transparent;border-radius:.28571429rem;white-space:nowrap}.ui.label:first-child{margin-left:0}.ui.label:last-child{margin-right:0}a.ui.label{cursor:pointer}.ui.label>a{cursor:pointer;color:inherit;opacity:.75}.ui.label>a:hover{opacity:1}.ui.label>img{width:auto;vertical-align:middle;height:2.1666em}.ui.label>.color-icon{margin-left:0}.ui.label>.icon{width:auto;margin:0 .75em 0 0}.ui.label>.detail{display:inline-block;vertical-align:top;font-weight:var(--font-weight-medium);margin-left:1em;opacity:.8}.ui.label>.detail .icon{margin:0 .25em 0 0}.ui.label>.close.icon,.ui.label>.delete.icon{cursor:pointer;font-size:.92857143em;opacity:.5}.ui.label>.close.icon:hover,.ui.label>.delete.icon:hover{opacity:1}.ui.label.left.icon>.close.icon,.ui.label.left.icon>.delete.icon{margin:0 .5em 0 0}.ui.label:not(.icon)>.close.icon,.ui.label:not(.icon)>.delete.icon{margin:0 0 0 .5em}.ui.header>.ui.label{margin-top:-.29165em}a.ui.label:hover{background:var(--color-label-hover-bg);border-color:var(--color-label-hover-bg);color:var(--color-label-text)}.ui.label.visible:not(.dropdown){display:inline-block!important}.ui.basic.label{background:var(--color-button);border:1px solid var(--color-light-border);color:var(--color-text-light);padding:calc(.5833em - 1px) calc(.833em - 1px)}a.ui.basic.label:hover{text-decoration:none;color:var(--color-text);border-color:var(--color-secondary-dark-2);background:var(--color-hover)}.ui.ui.ui.primary.label{background:var(--color-primary);border-color:var(--color-primary-dark-2);color:var(--color-primary-contrast)}a.ui.ui.ui.primary.label:hover{background:var(--color-primary-dark-3);border-color:var(--color-primary-dark-3);color:var(--color-primary-contrast)}.ui.ui.ui.basic.primary.label{background:transparent;border-color:var(--color-primary);color:var(--color-primary)}a.ui.ui.ui.basic.primary.label:hover{background:var(--color-hover);border-color:var(--color-primary-dark-1);color:var(--color-primary-dark-1)}.ui.ui.ui.red.label{background:var(--color-red);border-color:var(--color-red);color:var(--color-white)}a.ui.ui.ui.red.label:hover{background:var(--color-red-dark-1);border-color:var(--color-red-dark-1);color:var(--color-white)}.ui.ui.ui.basic.red.label{background:transparent;border-color:var(--color-red);color:var(--color-red)}a.ui.ui.ui.basic.red.label:hover{background:transparent;border-color:var(--color-red-dark-1);color:var(--color-red-dark-1)}.ui.ui.ui.orange.label{background:var(--color-orange);border-color:var(--color-orange);color:var(--color-white)}a.ui.ui.ui.orange.label:hover{background:var(--color-orange-dark-1);border-color:var(--color-orange-dark-1);color:var(--color-white)}.ui.ui.ui.basic.orange.label{background:transparent;border-color:var(--color-orange);color:var(--color-orange)}a.ui.ui.ui.basic.orange.label:hover{background:transparent;border-color:var(--color-orange-dark-1);color:var(--color-orange-dark-1)}.ui.ui.ui.yellow.label{background:var(--color-yellow);border-color:var(--color-yellow);color:var(--color-white)}a.ui.ui.ui.yellow.label:hover{background:var(--color-yellow-dark-1);border-color:var(--color-yellow-dark-1);color:var(--color-white)}.ui.ui.ui.basic.yellow.label{background:transparent;border-color:var(--color-yellow);color:var(--color-yellow)}a.ui.ui.ui.basic.yellow.label:hover{background:transparent;border-color:var(--color-yellow-dark-1);color:var(--color-yellow-dark-1)}.ui.ui.ui.olive.label{background:var(--color-olive);border-color:var(--color-olive);color:var(--color-white)}.ui.ui.ui.green.label{background:var(--color-green);border-color:var(--color-green);color:var(--color-white)}a.ui.ui.ui.green.label:hover{background:var(--color-green-dark-1);border-color:var(--color-green-dark-1);color:var(--color-white)}.ui.ui.ui.basic.green.label{background:transparent;border-color:var(--color-green);color:var(--color-green)}a.ui.ui.ui.basic.green.label:hover{background:transparent;border-color:var(--color-green-dark-1);color:var(--color-green-dark-1)}.ui.ui.ui.purple.label{background:var(--color-purple);border-color:var(--color-purple);color:var(--color-white)}a.ui.ui.ui.purple.label:hover{background:var(--color-purple-dark-1);border-color:var(--color-purple-dark-1);color:var(--color-white)}.ui.ui.ui.basic.purple.label{background:transparent;border-color:var(--color-purple);color:var(--color-purple)}a.ui.ui.ui.basic.purple.label:hover{background:transparent;border-color:var(--color-purple-dark-1);color:var(--color-purple-dark-1)}.ui.ui.ui.grey.label{background:var(--color-label-bg);border-color:var(--color-label-bg);color:var(--color-label-text)}a.ui.ui.ui.grey.label:hover{background:var(--color-label-hover-bg);border-color:var(--color-label-hover-bg);color:var(--color-white)}.ui.ui.ui.basic.grey.label{background:transparent;border-color:var(--color-label-bg);color:var(--color-label-text)}a.ui.ui.ui.basic.grey.label:hover{background:transparent;border-color:var(--color-label-hover-bg);color:var(--color-label-hover-bg)}.ui.horizontal.label{margin:0 .5em 0 0;padding:.4em .833em;min-width:3em;text-align:center}.ui.circular.label{min-width:2em;min-height:2em;padding:.5em!important;line-height:1;text-align:center;border-radius:500rem;justify-content:center}.ui.mini.label{font-size:.64285714rem}.ui.tiny.label{font-size:.71428571rem}.ui.small.label{font-size:.78571429rem}.ui.large.label{font-size:1rem}.ui.list{list-style-type:none;margin:1em 0;padding:0;font-size:1em}.ui.list:first-child{margin-top:0;padding-top:0}.ui.list:last-child{margin-bottom:0;padding-bottom:0}.ui.list>.item,.ui.list .list>.item{display:list-item;table-layout:fixed;list-style-type:none;list-style-position:outside}.ui.list>.list>.item:after,.ui.list>.item:after{content:"";display:block;height:0;clear:both;visibility:hidden}.ui.list .list:not(.icon){clear:both;margin:0;padding:.75em 0 .25em .5em}.ui.list .list>.item{padding:.14285714em 0}.ui.list .list>.item>i.icon,.ui.list>.item>i.icon{display:table-cell;min-width:1.55em;padding-top:0;transition:color .1s ease;padding-right:.28571429em;vertical-align:top}.ui.list .list>.item>i.icon:only-child,.ui.list>.item>i.icon:only-child{display:inline-block;min-width:auto;vertical-align:top}.ui.list .list>.item>.image,.ui.list>.item>.image{display:table-cell;background-color:transparent;vertical-align:top}.ui.list .list>.item>.image:not(:only-child):not(img),.ui.list>.item>.image:not(:only-child):not(img){padding-right:.5em}.ui.list .list>.item>.image img,.ui.list>.item>.image img{vertical-align:top}.ui.list .list>.item>img.image,.ui.list .list>.item>.image:only-child,.ui.list>.item>img.image,.ui.list>.item>.image:only-child{display:inline-block}.ui.list .list>.item>.content,.ui.list>.item>.content{color:var(--color-text)}.ui.list .list>.item>.image+.content,.ui.list .list>.item>i.icon+.content,.ui.list>.item>.image+.content,.ui.list>.item>i.icon+.content{display:table-cell;width:100%;padding:0 0 0 .5em;vertical-align:top}.ui.list .list>.item>img.image+.content,.ui.list>.item>img.image+.content{display:inline-block;width:auto}.ui.list .list>.item>.content>.list,.ui.list>.item>.content>.list{margin-left:0;padding-left:0}.ui.list .list>.item .header,.ui.list>.item .header{display:block;margin:0;font-family:var(--fonts-regular);font-weight:var(--font-weight-medium);color:var(--color-text-dark)}.ui.list .list>.item .description,.ui.list>.item .description{display:block;color:var(--color-text)}.ui.list>.item a,.ui.list .list>.item a{cursor:pointer}.ui.list .list>.item [class*="right floated"],.ui.list>.item [class*="right floated"]{float:right;margin:0 0 0 1em}.ui.menu .ui.list>.item,.ui.menu .ui.list .list>.item{display:list-item;table-layout:fixed;background-color:transparent;list-style-type:none;list-style-position:outside;padding:.21428571em 0}.ui.menu .ui.list .list>.item:before,.ui.menu .ui.list>.item:before{border:none;background:none}.ui.menu .ui.list .list>.item:first-child,.ui.menu .ui.list>.item:first-child{padding-top:0}.ui.menu .ui.list .list>.item:last-child,.ui.menu .ui.list>.item:last-child{padding-bottom:0}.ui.list .list>.disabled.item,.ui.list>.disabled.item{pointer-events:none;opacity:var(--opacity-disabled)}.ui.list .list>a.item:hover>.icons,.ui.list>a.item:hover>.icons,.ui.list .list>a.item:hover>i.icon,.ui.list>a.item:hover>i.icon{color:var(--color-text-dark)}.ui.divided.list>.item{border-top:1px solid var(--color-secondary)}.ui.divided.list .list>.item{border-top:none}.ui.divided.list .item .list>.item{border-top:none}.ui.divided.list .list>.item:first-child,.ui.divided.list>.item:first-child{border-top:none}.ui.divided.list .list>.item:first-child{border-top-width:1px}.ui.relaxed.list>.item:not(:first-child){padding-top:.42857143em}.ui.relaxed.list>.item:not(:last-child){padding-bottom:.42857143em}.ui.segment{position:relative;margin:1rem 0;padding:1em;border-radius:.28571429rem;border:1px solid var(--color-secondary);background:var(--color-box-body);color:var(--color-text)}.ui.segment:first-child{margin-top:0}.ui.segment:last-child{margin-bottom:0}.ui.grid.segment{margin:1rem 0;border-radius:.28571429rem}.ui.segment.tab:last-child{margin-bottom:1rem}.ui.segments{flex-direction:column;position:relative;margin:1rem 0;border:1px solid var(--color-secondary);border-radius:.28571429rem;background:var(--color-box-body);color:var(--color-text)}.ui.segments:first-child{margin-top:0}.ui.segments:last-child{margin-bottom:0}.ui.segments>.segment{top:0;bottom:0;border-radius:0;margin:0;width:auto;box-shadow:none;border:none;border-top:1px solid var(--color-secondary)}.ui.segments:not(.horizontal)>.segment:first-child{top:0;bottom:0;border-top:none;margin-top:0;margin-bottom:0;border-radius:.28571429rem .28571429rem 0 0}.ui.segments:not(.horizontal)>.segment:last-child{top:0;bottom:0;margin-top:0;margin-bottom:0;border-radius:0 0 .28571429rem .28571429rem}.ui.segments:not(.horizontal)>.segment:only-child,.ui.segments:not(.horizontal)>.segment:has(~.tw-hidden){border-radius:.28571429rem}.ui.segments>.ui.segments{border-top:1px solid var(--color-secondary);margin:1rem}.ui.segments>.segments:first-child{border-top:none}.ui.segments>.segment+.segments:not(.horizontal){margin-top:0}.ui.horizontal.segments{display:flex;flex-direction:row;background-color:transparent;padding:0;margin:1rem 0;border-radius:.28571429rem;border:1px solid var(--color-secondary)}.ui.horizontal.segments>.segment{margin:0;min-width:0;border-radius:0;border:none;box-shadow:none;border-left:1px solid var(--color-secondary)}.ui.segments>.horizontal.segments:first-child{border-top:none}.ui.horizontal.segments:not(.stackable)>.segment:first-child{border-left:none}.ui.horizontal.segments>.segment:first-child{border-radius:.28571429rem 0 0 .28571429rem}.ui.horizontal.segments>.segment:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.clearing.segment:after{content:"";display:block;clear:both}.ui[class*="left aligned"].segment{text-align:left}.ui[class*="center aligned"].segment{text-align:center}.ui.secondary.segment{background:var(--color-secondary-bg);color:var(--color-text-light)}.ui.attached.segment{top:0;bottom:0;border-radius:0;margin:0 -1px;width:calc(100% + 2px);max-width:calc(100% + 2px);box-shadow:none;border:1px solid var(--color-secondary);background:var(--color-box-body);color:var(--color-text)}.ui.attached:not(.message)+.ui.attached.segment:not(.top){border-top:none}.ui.attached.segment:has(+.ui[class*="top attached"].header),.ui.attached.segment:has(+.page.buttons),.ui.attached.segment:last-child,.ui.segment:has(+.ui.segment:not(.attached)),.ui.attached.segment:has(+.ui.modal){border-bottom-left-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui[class*="top attached"].segment{bottom:0;margin-bottom:0;top:0;margin-top:1rem;border-radius:.28571429rem .28571429rem 0 0}.ui.segment[class*="top attached"]:first-child{margin-top:0}.ui[class*="top attached"].segment:last-child{border-top-left-radius:.28571429rem;border-top-right-radius:.28571429rem}.ui.segment[class*="bottom attached"]{bottom:0;margin-top:0;top:0;margin-bottom:1rem;border-radius:0 0 .28571429rem .28571429rem}.ui.segment[class*="bottom attached"]:last-child{margin-bottom:1rem}.ui.fitted.segment:not(.horizontally){padding-top:0;padding-bottom:0}.ui.fitted.segment:not(.vertically){padding-left:0;padding-right:0}.ui.segments .segment,.ui.segment{font-size:1rem}.ui.error.segment{border-color:var(--color-error-border)!important}.ui.warning.segment{border-color:var(--color-warning-border)!important}.ui.grid{display:flex;flex-direction:row;flex-wrap:wrap;align-items:stretch;padding:0;margin:-1rem}.ui.relaxed.grid{margin-left:-1.5rem;margin-right:-1.5rem}.ui[class*="very relaxed"].grid{margin-left:-2.5rem;margin-right:-2.5rem}.ui.grid+.grid{margin-top:1rem}.ui.grid>.column:not(.row),.ui.grid>.row>.column{position:relative;display:inline-block;width:6.25%;padding-left:1rem;padding-right:1rem;vertical-align:top}.ui.grid>*{padding-left:1rem;padding-right:1rem}.ui.grid>.row{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:inherit;align-items:stretch;width:100%!important;padding:0;padding-top:1rem;padding-bottom:1rem}.ui.grid>.column:not(.row){padding-top:1rem;padding-bottom:1rem}.ui.grid>.row>.column{margin-top:0;margin-bottom:0}.ui.grid>.row>img,.ui.grid>.row>.column>img{max-width:100%}.ui.grid>.ui.grid:first-child{margin-top:0}.ui.grid>.ui.grid:last-child{margin-bottom:0}.ui.grid .aligned.row>.column>.segment:not(.compact):not(.attached),.ui.aligned.grid .column>.segment:not(.compact):not(.attached){width:100%}.ui.grid .row+.ui.divider{flex-grow:1;margin:1rem}.ui.grid .column+.ui.vertical.divider{height:calc(50% - 1rem)}.ui.grid>.row>.column:last-child>.horizontal.segment,.ui.grid>.column:last-child>.horizontal.segment{box-shadow:none}@media only screen and (max-width: 767.98px){.ui.page.grid{width:auto;padding-left:0;padding-right:0;margin-left:0;margin-right:0}}@media only screen and (min-width: 768px) and (max-width: 991.98px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:2em;padding-right:2em}}@media only screen and (min-width: 992px) and (max-width: 1199.98px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:3%;padding-right:3%}}@media only screen and (min-width: 1200px) and (max-width: 1919.98px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:15%;padding-right:15%}}@media only screen and (min-width: 1920px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:23%;padding-right:23%}}.ui.grid>.column:only-child,.ui.grid>.row>.column:only-child{width:100%}.ui[class*="one column"].grid>.row>.column,.ui[class*="one column"].grid>.column:not(.row){width:100%}.ui[class*="two column"].grid>.row>.column,.ui[class*="two column"].grid>.column:not(.row){width:50%}.ui[class*="three column"].grid>.row>.column,.ui[class*="three column"].grid>.column:not(.row){width:33.33333333%}.ui[class*="four column"].grid>.row>.column,.ui[class*="four column"].grid>.column:not(.row){width:25%}.ui[class*="five column"].grid>.row>.column,.ui[class*="five column"].grid>.column:not(.row){width:20%}.ui[class*="six column"].grid>.row>.column,.ui[class*="six column"].grid>.column:not(.row){width:16.66666667%}.ui[class*="seven column"].grid>.row>.column,.ui[class*="seven column"].grid>.column:not(.row){width:14.28571429%}.ui[class*="eight column"].grid>.row>.column,.ui[class*="eight column"].grid>.column:not(.row){width:12.5%}.ui[class*="nine column"].grid>.row>.column,.ui[class*="nine column"].grid>.column:not(.row){width:11.11111111%}.ui[class*="ten column"].grid>.row>.column,.ui[class*="ten column"].grid>.column:not(.row){width:10%}.ui[class*="eleven column"].grid>.row>.column,.ui[class*="eleven column"].grid>.column:not(.row){width:9.09090909%}.ui[class*="twelve column"].grid>.row>.column,.ui[class*="twelve column"].grid>.column:not(.row){width:8.33333333%}.ui[class*="thirteen column"].grid>.row>.column,.ui[class*="thirteen column"].grid>.column:not(.row){width:7.69230769%}.ui[class*="fourteen column"].grid>.row>.column,.ui[class*="fourteen column"].grid>.column:not(.row){width:7.14285714%}.ui[class*="fifteen column"].grid>.row>.column,.ui[class*="fifteen column"].grid>.column:not(.row){width:6.66666667%}.ui[class*="sixteen column"].grid>.row>.column,.ui[class*="sixteen column"].grid>.column:not(.row){width:6.25%}.ui.grid>[class*="one column"].row>.column{width:100%!important}.ui.grid>[class*="two column"].row>.column{width:50%!important}.ui.grid>[class*="three column"].row>.column{width:33.33333333%!important}.ui.grid>[class*="four column"].row>.column{width:25%!important}.ui.grid>[class*="five column"].row>.column{width:20%!important}.ui.grid>[class*="six column"].row>.column{width:16.66666667%!important}.ui.grid>[class*="seven column"].row>.column{width:14.28571429%!important}.ui.grid>[class*="eight column"].row>.column{width:12.5%!important}.ui.grid>[class*="nine column"].row>.column{width:11.11111111%!important}.ui.grid>[class*="ten column"].row>.column{width:10%!important}.ui.grid>[class*="eleven column"].row>.column{width:9.09090909%!important}.ui.grid>[class*="twelve column"].row>.column{width:8.33333333%!important}.ui.grid>[class*="thirteen column"].row>.column{width:7.69230769%!important}.ui.grid>[class*="fourteen column"].row>.column{width:7.14285714%!important}.ui.grid>[class*="fifteen column"].row>.column{width:6.66666667%!important}.ui.grid>[class*="sixteen column"].row>.column{width:6.25%!important}.ui.grid>.row>[class*="one wide"].column,.ui.grid>.column.row>[class*="one wide"].column,.ui.grid>[class*="one wide"].column,.ui.column.grid>[class*="one wide"].column{width:6.25%!important}.ui.grid>.row>[class*="two wide"].column,.ui.grid>.column.row>[class*="two wide"].column,.ui.grid>[class*="two wide"].column,.ui.column.grid>[class*="two wide"].column{width:12.5%!important}.ui.grid>.row>[class*="three wide"].column,.ui.grid>.column.row>[class*="three wide"].column,.ui.grid>[class*="three wide"].column,.ui.column.grid>[class*="three wide"].column{width:18.75%!important}.ui.grid>.row>[class*="four wide"].column,.ui.grid>.column.row>[class*="four wide"].column,.ui.grid>[class*="four wide"].column,.ui.column.grid>[class*="four wide"].column{width:25%!important}.ui.grid>.row>[class*="five wide"].column,.ui.grid>.column.row>[class*="five wide"].column,.ui.grid>[class*="five wide"].column,.ui.column.grid>[class*="five wide"].column{width:31.25%!important}.ui.grid>.row>[class*="six wide"].column,.ui.grid>.column.row>[class*="six wide"].column,.ui.grid>[class*="six wide"].column,.ui.column.grid>[class*="six wide"].column{width:37.5%!important}.ui.grid>.row>[class*="seven wide"].column,.ui.grid>.column.row>[class*="seven wide"].column,.ui.grid>[class*="seven wide"].column,.ui.column.grid>[class*="seven wide"].column{width:43.75%!important}.ui.grid>.row>[class*="eight wide"].column,.ui.grid>.column.row>[class*="eight wide"].column,.ui.grid>[class*="eight wide"].column,.ui.column.grid>[class*="eight wide"].column{width:50%!important}.ui.grid>.row>[class*="nine wide"].column,.ui.grid>.column.row>[class*="nine wide"].column,.ui.grid>[class*="nine wide"].column,.ui.column.grid>[class*="nine wide"].column{width:56.25%!important}.ui.grid>.row>[class*="ten wide"].column,.ui.grid>.column.row>[class*="ten wide"].column,.ui.grid>[class*="ten wide"].column,.ui.column.grid>[class*="ten wide"].column{width:62.5%!important}.ui.grid>.row>[class*="eleven wide"].column,.ui.grid>.column.row>[class*="eleven wide"].column,.ui.grid>[class*="eleven wide"].column,.ui.column.grid>[class*="eleven wide"].column{width:68.75%!important}.ui.grid>.row>[class*="twelve wide"].column,.ui.grid>.column.row>[class*="twelve wide"].column,.ui.grid>[class*="twelve wide"].column,.ui.column.grid>[class*="twelve wide"].column{width:75%!important}.ui.grid>.row>[class*="thirteen wide"].column,.ui.grid>.column.row>[class*="thirteen wide"].column,.ui.grid>[class*="thirteen wide"].column,.ui.column.grid>[class*="thirteen wide"].column{width:81.25%!important}.ui.grid>.row>[class*="fourteen wide"].column,.ui.grid>.column.row>[class*="fourteen wide"].column,.ui.grid>[class*="fourteen wide"].column,.ui.column.grid>[class*="fourteen wide"].column{width:87.5%!important}.ui.grid>.row>[class*="fifteen wide"].column,.ui.grid>.column.row>[class*="fifteen wide"].column,.ui.grid>[class*="fifteen wide"].column,.ui.column.grid>[class*="fifteen wide"].column{width:93.75%!important}.ui.grid>.row>[class*="sixteen wide"].column,.ui.grid>.column.row>[class*="sixteen wide"].column,.ui.grid>[class*="sixteen wide"].column,.ui.column.grid>[class*="sixteen wide"].column{width:100%!important}.ui.centered.grid,.ui.centered.grid>.row,.ui.grid>.centered.row{text-align:center;justify-content:center}.ui.centered.grid>.column:not(.aligned):not(.justified):not(.row),.ui.centered.grid>.row>.column:not(.aligned):not(.justified),.ui.grid .centered.row>.column:not(.aligned):not(.justified){text-align:left}.ui.grid>.centered.column,.ui.grid>.row>.centered.column{display:block;margin-left:auto;margin-right:auto}.ui.relaxed.grid>.column:not(.row),.ui.relaxed.grid>.row>.column,.ui.grid>.relaxed.row>.column{padding-left:1.5rem;padding-right:1.5rem}.ui[class*="very relaxed"].grid>.column:not(.row),.ui[class*="very relaxed"].grid>.row>.column,.ui.grid>[class*="very relaxed"].row>.column{padding-left:2.5rem;padding-right:2.5rem}.ui.relaxed.grid .row+.ui.divider,.ui.grid .relaxed.row+.ui.divider{margin-left:1.5rem;margin-right:1.5rem}.ui[class*="very relaxed"].grid .row+.ui.divider,.ui.grid [class*="very relaxed"].row+.ui.divider{margin-left:2.5rem;margin-right:2.5rem}.ui[class*="middle aligned"].grid>.column:not(.row),.ui[class*="middle aligned"].grid>.row>.column,.ui.grid>[class*="middle aligned"].row>.column,.ui.grid>[class*="middle aligned"].column:not(.row),.ui.grid>.row>[class*="middle aligned"].column{flex-direction:column;vertical-align:middle;align-self:center!important}.ui[class*="left aligned"].grid>.column,.ui[class*="left aligned"].grid>.row>.column,.ui.grid>[class*="left aligned"].row>.column,.ui.grid>[class*="left aligned"].column.column,.ui.grid>.row>[class*="left aligned"].column.column{text-align:left;align-self:inherit}.ui[class*="center aligned"].grid>.column,.ui[class*="center aligned"].grid>.row>.column,.ui.grid>[class*="center aligned"].row>.column,.ui.grid>[class*="center aligned"].column.column,.ui.grid>.row>[class*="center aligned"].column.column{text-align:center;align-self:inherit}.ui[class*="center aligned"].grid{justify-content:center}.ui[class*="right aligned"].grid>.column,.ui[class*="right aligned"].grid>.row>.column,.ui.grid>[class*="right aligned"].row>.column,.ui.grid>[class*="right aligned"].column.column,.ui.grid>.row>[class*="right aligned"].column.column{text-align:right;align-self:inherit}.ui[class*="equal width"].grid>.column:not(.row),.ui[class*="equal width"].grid>.row>.column,.ui.grid>[class*="equal width"].row>.column{display:inline-block;flex-grow:1}.ui[class*="equal width"].grid>.wide.column,.ui[class*="equal width"].grid>.row>.wide.column,.ui.grid>[class*="equal width"].row>.wide.column{flex-grow:0}@media only screen and (max-width: 767.98px){.ui[class*="mobile reversed"].grid,.ui[class*="mobile reversed"].grid>.row,.ui.grid>[class*="mobile reversed"].row{flex-direction:row-reverse}.ui.stackable[class*="mobile reversed"]{flex-direction:column-reverse}.ui.stackable.grid{width:auto;margin-left:0!important;margin-right:0!important}.ui.stackable.grid>.row>.wide.column,.ui.stackable.grid>.wide.column,.ui.stackable.grid>.column.grid>.column,.ui.stackable.grid>.column.row>.column,.ui.stackable.grid>.row>.column,.ui.stackable.grid>.column:not(.row),.ui.grid>.stackable.stackable.stackable.row>.column{width:100%!important;margin:0!important;box-shadow:none!important;padding:1rem}.ui.stackable.grid:not(.vertically)>.row{margin:0;padding:0}.ui.container>.ui.stackable.grid>.column,.ui.container>.ui.stackable.grid>.row>.column{padding-left:0!important;padding-right:0!important}.ui.grid .ui.stackable.grid,.ui.segment:not(.vertical) .ui.stackable.page.grid{margin-left:-1rem!important;margin-right:-1rem!important}}.ui.ui.ui.compact.grid>.column:not(.row),.ui.ui.ui.compact.grid>.row>.column{padding-left:.5rem;padding-right:.5rem}.ui.ui.ui.compact.grid>*{padding-left:.5rem;padding-right:.5rem}.ui.ui.ui.compact.grid>.row{padding-top:.5rem;padding-bottom:.5rem}.ui.ui.ui.compact.grid>.column:not(.row){padding-top:.5rem;padding-bottom:.5rem}.ui.menu{display:flex;margin:1rem 0;font-family:var(--fonts-regular);font-weight:var(--font-weight-normal);background:var(--color-menu);border:1px solid var(--color-secondary);border-radius:.28571429rem;min-height:2.85714286em;font-size:1rem}.ui.menu:first-child{margin-top:0}.ui.menu:last-child{margin-bottom:0}.ui.menu .menu{margin:0}.ui.menu:not(.vertical)>.menu{display:flex}.ui.menu:not(.vertical) .item{display:flex;align-items:center}.ui.menu .item{position:relative;vertical-align:middle;line-height:var(--line-height-default);text-decoration:none;flex:0 0 auto;background:none;padding:.92857143em 1.14285714em;color:var(--color-text);font-weight:var(--font-weight-normal)}.ui.menu>.item:first-child{border-radius:.28571429rem 0 0 .28571429rem}.ui.menu .item:before{position:absolute;content:"";top:0;right:0;height:100%;width:1px;background:var(--color-secondary)}.ui.menu .item>.svg{margin-right:.35em}.ui.menu .item>a:not(.ui),.ui.menu .item>p:only-child{line-height:1.3}.ui.menu .item>p:first-child{margin-top:0}.ui.menu .item>p:last-child{margin-bottom:0}.ui.menu .item>i.icon{opacity:.9;float:none;margin:0 .35714286em 0 0}.ui.menu:not(.vertical) .item>.button{position:relative;top:0;margin:-.5em 0;padding:.58928571em 1.125em;font-size:1em}.ui.menu>.grid,.ui.menu>.container{display:flex;align-items:inherit;flex-direction:inherit}.ui.menu .item>.input{width:100%}.ui.menu:not(.vertical) .item>.input{position:relative;top:0;margin:-.5em 0}.ui.menu .item>.input input{font-size:1em;padding-top:.57142857em;padding-bottom:.57142857em}.ui.menu .header.item,.ui.vertical.menu .header.item{margin:0;font-size:1.1em;background:var(--color-box-header);font-weight:var(--font-weight-medium)}.ui.vertical.menu .item>.header:not(.ui){margin:0 0 .5em;font-size:1em;font-weight:var(--font-weight-medium)}.ui.menu .item>i.dropdown.icon{padding:0;float:right;margin:0 0 0 1em}.ui.menu .dropdown.item .menu{min-width:calc(100% - 1px);border-radius:0 0 .28571429rem .28571429rem;background:var(--color-body);margin:0;flex-direction:column!important}.ui.menu .ui.dropdown .menu>.item{margin:0;text-align:left;font-size:1em!important;padding:.78571429em 1.14285714em!important;background:transparent!important;color:var(--color-text)!important;font-weight:var(--font-weight-normal)!important}.ui.menu .ui.dropdown .menu>.item:hover{color:var(--color-text)!important;background:var(--color-hover)!important}.ui.menu .ui.dropdown .menu>.selected.item{color:var(--color-text)!important;background:var(--color-hover)!important}.ui.menu .ui.dropdown .menu>.active.item{color:var(--color-text)!important;background:var(--color-active)!important;font-weight:var(--font-weight-medium)!important}.ui.menu .ui.dropdown.item .menu .item{width:100%}.ui.menu .ui.dropdown.item .menu .item:not(.filtered){display:block}.ui.menu .ui.dropdown .menu>.item>i.icon:not(.dropdown){display:inline-block;font-size:1em!important;float:none;margin:0 .75em 0 0!important}.ui.secondary.menu .dropdown.item>.menu{border-radius:.28571429rem;margin-top:.35714286em}.ui.menu .pointing.dropdown.item .menu{margin-top:.75em}.ui.menu .item>.label:not(.floating){margin-left:1em;padding:.3em .78571429em}.ui.vertical.menu .item>.label{margin-top:-.15em;margin-bottom:-.15em;padding:.3em .78571429em;float:right;text-align:center}.ui.menu .item>.floating.label{padding:.3em .78571429em}.ui.menu .item>.label{background:var(--color-label-bg);color:var(--color-label-text)}.ui.menu .item>.image.label img{margin:-.2833em .8em -.2833em -.8em;height:1.5666em}.ui.menu .item>img:not(.ui){display:inline-block;vertical-align:middle;margin:-.3em 0;width:2.5em}.ui.vertical.menu .item>img:not(.ui):only-child{display:block;max-width:100%;width:auto}.ui.menu .list .item:before{background:none!important}@media only screen and (max-width: 767.98px){.ui.menu>.ui.container{width:100%!important;margin-left:0!important;margin-right:0!important}}.ui.menu .dropdown.item:hover,.ui.menu a.item:hover{cursor:pointer}.ui.menu a.item:active{color:var(--color-text);background:none}.ui.menu .active.item{color:var(--color-text);background:var(--color-active);font-weight:var(--font-weight-normal)}.ui.menu .active.item>i.icon{opacity:1}.ui.ui.menu .item.disabled{cursor:default;background-color:transparent;pointer-events:none;opacity:var(--opacity-disabled)}.ui.menu:not(.vertical) .left.item,.ui.menu:not(.vertical) .left.menu{display:flex;margin-right:auto!important}.ui.menu:not(.vertical) .right.item,.ui.menu:not(.vertical) .right.menu{display:flex;margin-left:auto!important}.ui.menu:not(.vertical) :not(.dropdown)>.left.menu,.ui.menu:not(.vertical) :not(.dropdown)>.right.menu{display:inherit}.ui.menu:not(.vertical) .center.item{display:flex;margin-left:auto!important;margin-right:auto!important}.ui.menu .right.item:before,.ui.menu .right.menu>.item:before{right:auto;left:0}.ui.menu .center.item:last-child:before{display:none}.ui.vertical.menu{display:block;flex-direction:column;background:var(--color-menu);width:15rem}.ui.vertical.menu .item{display:block;background:none;border-top:none;border-right:none}.ui.vertical.menu>.item:first-child{border-radius:.28571429rem .28571429rem 0 0}.ui.vertical.menu>.item:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.vertical.menu .item>i.icon{width:1.18em;float:right;margin:0 0 0 .5em}.ui.vertical.menu .item>.label+i.icon{float:none;margin:0 .5em 0 0}.ui.vertical.menu .item:before{position:absolute;content:"";top:0;left:0;width:100%;height:1px;background:var(--color-secondary)}.ui.vertical.menu .item:first-child:before{display:none!important}.ui.vertical.menu .item>.menu{margin:.5em -1.14285714em 0}.ui.vertical.menu .menu .item{background:none;padding:.5em 1.33333333em;font-size:.85714286em;color:var(--color-text-light-2)}.ui.vertical.menu .item .menu .item{color:var(--color-text-light-2);text-indent:16px}.ui.vertical.menu .item .menu .item:hover,.ui.vertical.menu .item .menu a.item:hover{color:var(--color-text-light-1)}.ui.vertical.menu .item .menu .active.item{background-color:transparent;font-weight:var(--font-weight-medium);color:var(--color-text)}.ui.vertical.menu .item .menu a.item:hover{color:var(--color-text)}.ui.vertical.menu .menu .item:before{display:none}.ui.vertical.menu .active.item{background:var(--color-active);border-radius:0}.ui.vertical.menu>.active.item:first-child{border-radius:.28571429rem .28571429rem 0 0}.ui.vertical.menu>.active.item:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.vertical.menu>.active.item:only-child{border-radius:.28571429rem}.ui.vertical.menu .active.item .menu .active.item{border-left:none}.ui.tabular.menu{border-radius:0;border:none;background:none transparent;border-bottom:1px solid var(--color-secondary)}.ui.tabular.fluid.menu{width:calc(100% + 2px)!important}.ui.tabular.menu .item{background:transparent;border-bottom:none;border-left:1px solid transparent;border-right:1px solid transparent;border-top:2px solid transparent;color:var(--color-text-light-2)}.ui.tabular.menu .item:before{display:none}.ui.tabular.menu .item:hover{background-color:transparent}.ui.tabular.menu .active.item,.ui.tabular.menu .active.item:hover{background:var(--color-body);border-top-width:1px;border-color:var(--color-secondary);color:var(--color-text-dark);margin-bottom:-1px;border-radius:.28571429rem .28571429rem 0 0!important}.ui.tabular.menu+.attached:not(.top).segment,.ui.tabular.menu+.attached:not(.top).segment+.attached:not(.top).segment{border-top:none;margin-left:0;margin-top:0;margin-right:0;width:100%}.ui.tabular.menu .active.dropdown.item{margin-bottom:0;border-left:1px solid transparent;border-right:1px solid transparent;border-top:2px solid transparent;border-bottom:none}.ui.pagination.menu{margin:0;display:inline-flex;vertical-align:middle}.ui.pagination.menu .item:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.compact.menu .item:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.pagination.menu .item:last-child:before{display:none}.ui.pagination.menu .item{min-width:3em;text-align:center}.ui.pagination.menu .icon.item i.icon{vertical-align:top}.ui.pagination.menu .active.item,.ui.pagination.menu .active.item:hover{border-top:none;padding-top:.92857143em;color:var(--color-text);background:var(--color-active)}@media (max-width: 767.98px){.ui.pagination.menu .item:not(.active,.navigation),.ui.pagination.menu .item.navigation span.navigation_label{display:none}}.ui.pagination.menu.narrow .item{padding-left:8px;padding-right:8px;min-width:1em;text-align:center}.ui.pagination.menu.narrow .item .icon{margin-right:0}.ui.secondary.menu{background:none;margin-left:0;margin-right:0;gap:.35714286em;border-radius:0;border:none}.ui.secondary.menu .item{align-self:center;border:none;padding:.78571429em .92857143em;margin:0;background:none;border-radius:.28571429rem}.ui.secondary.menu .item:before{display:none!important}.ui.secondary.menu .header.item{border-radius:0;border-right:none;background:none transparent}.ui.secondary.menu .item>img:not(.ui){margin:0}.ui.secondary.menu .dropdown.item:hover,.ui.secondary.menu a.item:hover{color:var(--color-text);background:var(--color-hover)}.ui.secondary.menu .active.item{border-radius:.28571429rem}.ui.secondary.menu .active.item,.ui.secondary.menu .active.item:hover{color:var(--color-text-dark);background:var(--color-active)}.ui.secondary.item.menu{margin-left:0;margin-right:0}.ui.secondary.item.menu .item:last-child{margin-right:0}.ui.vertical.secondary.menu .item:not(.dropdown)>.menu{margin:0 -.92857143em}.ui.vertical.secondary.menu .item:not(.dropdown)>.menu>.item{margin:0;padding:.5em 1.33333333em}.ui.secondary.vertical.menu>.item{border:none;margin:0 0 .35714286em;border-radius:.28571429rem!important}.ui.secondary.vertical.menu>.header.item{border-radius:0}.ui.vertical.secondary.menu .item>.menu .item{background-color:transparent}.ui.secondary.pointing.menu{margin-left:0;margin-right:0;border-bottom:2px solid var(--color-secondary)}.ui.secondary.pointing.menu .item{border-bottom-color:transparent;border-bottom-style:solid;border-radius:0;align-self:flex-end;margin:0 0 -2px;padding:.85714286em 1.14285714em;border-bottom-width:2px}.ui.secondary.pointing.menu .ui.dropdown .menu .item{border-bottom-width:0}.ui.secondary.pointing.menu .item>.label:not(.floating){margin-top:-.3em;margin-bottom:-.3em}.ui.secondary.pointing.menu .item>.circular.label{margin-top:-.5em;margin-bottom:-.5em}.ui.secondary.pointing.menu .header.item{color:var(--color-text)!important}.ui.secondary.pointing.menu .item:after{display:none}.ui.secondary.pointing.menu .dropdown.item:hover,.ui.secondary.pointing.menu a.item:hover{background-color:transparent;color:var(--color-text)}.ui.secondary.pointing.menu .dropdown.item:active,.ui.secondary.pointing.menu a.item:active{background-color:transparent}.ui.secondary.pointing.menu .active.item{background-color:transparent;border-color:currentcolor;font-weight:var(--font-weight-medium)}.ui.secondary.pointing.menu .active.item,.ui.secondary.pointing.menu .active.item:hover,.ui.secondary.pointing.menu .dropdown.item:hover{color:var(--color-text-dark)}.ui.secondary.pointing.menu .active.dropdown.item{border-color:transparent}@media only screen and (max-width: 767.98px){.ui.stackable.menu{flex-direction:column}.ui.stackable.menu .item{width:100%!important}.ui.stackable.menu .left.menu,.ui.stackable.menu .left.item{margin-right:0!important}.ui.stackable.menu .right.menu,.ui.stackable.menu .right.item{margin-left:0!important}.ui.stackable.menu .center.item{margin-left:0!important;margin-right:0!important}.ui.stackable.menu .right.menu,.ui.stackable.menu .left.menu{flex-direction:column}}.ui.floated.menu{float:left;margin:0 .5rem 0 0}.ui.floated.menu .item:last-child:before{display:none}.ui.right.floated.menu{float:right;margin:0 0 0 .5rem}.ui.borderless.menu .item:before,.ui.borderless.menu .item .menu .item:before,.ui.menu .borderless.item:before{background:none!important}.ui.compact.menu{display:inline-flex;margin:0;vertical-align:middle}.ui.compact.vertical.menu{display:inline-block;width:auto!important}.ui.compact.menu:not(.secondary) .item:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.compact.menu .item:last-child:before{display:none}.ui.compact.vertical.menu .item:last-child:before{display:block}.ui.menu.fluid,.ui.vertical.menu.fluid{width:100%!important}.ui.item.menu,.ui.item.menu .item{width:100%;padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important;text-align:center;justify-content:center}.ui.attached.item.menu:not(.tabular){margin:0 -1px!important}.ui.item.menu .item:last-child:before{display:none}.ui.menu.two.item .item{width:50%}.ui.pointing.menu .item:after{visibility:hidden;position:absolute;content:"";top:100%;left:50%;transform:translate(-50%) translateY(-50%) rotate(45deg);background:none;margin:.5px 0 0;width:.57142857em;height:.57142857em;border:none;border-bottom:1px solid var(--color-secondary);border-right:1px solid var(--color-secondary);z-index:2}.ui.pointing.menu .ui.dropdown .menu .item:after{display:none}.ui.pointing.menu .active.item:after{visibility:visible}.ui.pointing.menu .active.dropdown.item:after{visibility:hidden}.ui.pointing.menu .dropdown.active.item:after,.ui.pointing.menu .active.item .menu .active.item:after{display:none}.ui.pointing.menu .active.item:after,.ui.pointing.menu .active.item:hover:after{background-color:var(--color-active)}.ui.attached.menu{top:0;bottom:0;border-radius:0;margin:0 -1px;width:calc(100% + 2px);max-width:calc(100% + 2px)}.ui.attached+.ui.attached.menu:not(.top){border-top:none}.ui[class*="top attached"].menu{bottom:0;margin-bottom:0;top:0;margin-top:1rem;border-radius:.28571429rem .28571429rem 0 0}.ui.menu[class*="top attached"]:first-child{margin-top:0}.ui.top.attached.menu>.item:first-child{border-radius:.28571429rem 0 0}.ui.attached.menu:not(.tabular){border:1px solid var(--color-secondary)}.ui.attached.tabular.menu{margin-left:0;margin-right:0;width:100%}.ui.mini.menu,.ui.mini.menu .dropdown,.ui.mini.menu .dropdown .menu>.item{font-size:.78571429rem}.ui.mini.vertical.menu:not(.icon){width:9rem}.ui.tiny.menu,.ui.tiny.menu .dropdown,.ui.tiny.menu .dropdown .menu>.item{font-size:.85714286rem}.ui.tiny.vertical.menu:not(.icon){width:11rem}.ui.small.menu,.ui.small.menu .dropdown,.ui.small.menu .dropdown .menu>.item{font-size:.92857143rem}.ui.small.vertical.menu:not(.icon){width:13rem}.ui .menu:not(.vertical) .item>.button.small{font-size:.92857143rem}.ui.segment .ui.tabular.menu .active.item,.ui.segment .ui.tabular.menu .active.item:hover{background:var(--color-box-body)}.small-menu-items{min-height:35.4px!important;background:none!important;user-select:none}.small-menu-items .item{background:var(--color-menu)!important;padding-top:6px!important;padding-bottom:6px!important}.small-menu-items .item:hover{background:var(--color-hover)!important}.small-menu-items .item.active{background:var(--color-active)!important}.ui.message{background:var(--color-box-body);color:var(--color-text);border:1px solid var(--color-secondary);position:relative;min-height:1em;margin:1em 0;padding:1em 1.5em;border-radius:var(--border-radius)}.ui.message:first-child{margin-top:0}.ui.message:last-child{margin-bottom:0}.ui.attached.message{margin-bottom:-1px;border-radius:var(--border-radius) var(--border-radius) 0 0;margin-left:-1px;margin-right:-1px}.ui.attached+.ui.attached.message:not(.top):not(.bottom){margin-top:-1px;border-radius:0}.ui.bottom.attached.message{margin-top:-1px;border-radius:0 0 var(--border-radius) var(--border-radius)}.ui.bottom.attached.message:not(:last-child){margin-bottom:1em}.ui.info.message .header,.ui.blue.message .header{color:var(--color-blue)}.ui.info.message,.ui.attached.info.message,.ui.blue.message,.ui.attached.blue.message{background:var(--color-info-bg);color:var(--color-info-text);border-color:var(--color-info-border)}.ui.success.message .header,.ui.positive.message .header,.ui.green.message .header{color:var(--color-green)}.ui.success.message,.ui.attached.success.message,.ui.positive.message,.ui.attached.positive.message{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.ui.error.message .header,.ui.negative.message .header,.ui.red.message .header{color:var(--color-red)}.ui.error.message,.ui.attached.error.message,.ui.red.message,.ui.attached.red.message,.ui.negative.message,.ui.attached.negative.message{background:var(--color-error-bg);color:var(--color-error-text);border-color:var(--color-error-border)}.ui.warning.message .header,.ui.yellow.message .header{color:var(--color-yellow)}.ui.warning.message,.ui.attached.warning.message,.ui.yellow.message,.ui.attached.yellow.message{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning-border)}.ui.message>.close.icon{cursor:pointer;position:absolute;top:9px;right:9px;opacity:.7}.ui.message>.close.icon:hover{opacity:1}.ui.table{width:100%;margin:1em 0;border:1px solid var(--color-secondary);border-radius:.28571429rem;vertical-align:middle;border-collapse:separate;border-spacing:0;color:var(--color-text);background:var(--color-box-body);border-color:var(--color-secondary);text-align:start}.ui.table:first-child{margin-top:0}.ui.table:last-child{margin-bottom:0}.ui.table>thead,.ui.table>tbody{text-align:inherit;vertical-align:inherit}.ui.table>thead>tr>th{background:var(--color-box-header);text-align:inherit;color:var(--color-text);padding:6px 5px;vertical-align:inherit;font-weight:var(--font-weight-normal);border-bottom:1px solid var(--color-secondary);border-left:none}.ui.table>thead>tr>th:first-child{border-left:none}.ui.table>thead>tr:first-child>th:first-child{border-radius:.28571429rem 0 0}.ui.table>thead>tr:first-child>th:last-child{border-radius:0 .28571429rem 0 0}.ui.table>thead>tr:first-child>th:only-child{border-radius:.28571429rem .28571429rem 0 0}.ui.table>tfoot>tr>th,.ui.table>tfoot>tr>td{border-top:1px solid var(--color-secondary);background:var(--color-box-body);text-align:inherit;color:var(--color-text);padding:.78571429em;vertical-align:inherit;font-weight:var(--font-weight-normal)}.ui.table>tfoot>tr>th:first-child,.ui.table>tfoot>tr>td:first-child{border-left:none}.ui.table>tfoot>tr:first-child>th:first-child,.ui.table>tfoot>tr:first-child>td:first-child{border-radius:0 0 0 .28571429rem}.ui.table>tfoot>tr:first-child>th:last-child,.ui.table>tfoot>tr:first-child>td:last-child{border-radius:0 0 .28571429rem}.ui.table>tfoot>tr:first-child>th:only-child,.ui.table>tfoot>tr:first-child>td:only-child{border-radius:0 0 .28571429rem .28571429rem}.ui.table>tr>td,.ui.table>tbody>tr>td{border-top:1px solid var(--color-secondary-alpha-50);padding:6px 5px;text-align:inherit}.ui.table>tr:first-child>td,.ui.table>tbody>tr:first-child>td{border-top:none}.ui.table.segment{padding:0}.ui.table.segment:after{display:none}@media only screen and (max-width: 767.98px){.ui.table:not(.unstackable){width:100%;padding:0}.ui.table:not(.unstackable)>thead,.ui.table:not(.unstackable)>thead>tr,.ui.table:not(.unstackable)>tfoot,.ui.table:not(.unstackable)>tfoot>tr,.ui.table:not(.unstackable)>tbody,.ui.table:not(.unstackable)>tr,.ui.table:not(.unstackable)>tbody>tr,.ui.table:not(.unstackable)>tr>th,.ui.table:not(.unstackable)>thead>tr>th,.ui.table:not(.unstackable)>tbody>tr>th,.ui.table:not(.unstackable)>tfoot>tr>th,.ui.table:not(.unstackable)>tr>td,.ui.table:not(.unstackable)>tbody>tr>td,.ui.table:not(.unstackable)>tfoot>tr>td{display:block!important;width:auto!important}.ui.table:not(.unstackable)>thead{display:block}.ui.table:not(.unstackable)>tfoot{display:block}.ui.ui.ui.ui.table:not(.unstackable)>tr,.ui.ui.ui.ui.table:not(.unstackable)>thead>tr,.ui.ui.ui.ui.table:not(.unstackable)>tbody>tr,.ui.ui.ui.ui.table:not(.unstackable)>tfoot>tr{padding-top:1em;padding-bottom:1em}.ui.ui.ui.ui.table:not(.unstackable)>tr>th,.ui.ui.ui.ui.table:not(.unstackable)>thead>tr>th,.ui.ui.ui.ui.table:not(.unstackable)>tbody>tr>th,.ui.ui.ui.ui.table:not(.unstackable)>tfoot>tr>th,.ui.ui.ui.ui.table:not(.unstackable)>tr>td,.ui.ui.ui.ui.table:not(.unstackable)>tbody>tr>td,.ui.ui.ui.ui.table:not(.unstackable)>tfoot>tr>td{background:none;border:none;padding:.25em .75em}.ui.table:not(.unstackable)>tr>th:first-child,.ui.table:not(.unstackable)>thead>tr>th:first-child,.ui.table:not(.unstackable)>tbody>tr>th:first-child,.ui.table:not(.unstackable)>tfoot>tr>th:first-child,.ui.table:not(.unstackable)>tr>td:first-child,.ui.table:not(.unstackable)>tbody>tr>td:first-child,.ui.table:not(.unstackable)>tfoot>tr>td:first-child{font-weight:var(--font-weight-normal)}}.ui.table[class*="left aligned"],.ui.table [class*="left aligned"]{text-align:left}.ui.table[class*="center aligned"],.ui.table [class*="center aligned"]{text-align:center}.ui.table[class*="right aligned"],.ui.table [class*="right aligned"]{text-align:right}.ui.table[class*="top aligned"],.ui.table [class*="top aligned"]{vertical-align:top}.ui.table[class*="middle aligned"],.ui.table [class*="middle aligned"]{vertical-align:middle}.ui.table th.collapsing,.ui.table td.collapsing{width:1px;white-space:nowrap}.ui.fixed.table{table-layout:fixed}.ui.fixed.table th,.ui.fixed.table td{overflow:hidden;text-overflow:ellipsis}.ui.attached.table{top:0;bottom:0;border-radius:0;margin:0 -1px;width:calc(100% + 2px);max-width:calc(100% + 2px);border:1px solid var(--color-secondary)}.ui.attached+.ui.attached.table:not(.top){border-top:none}.ui[class*="bottom attached"].table{bottom:0;margin-top:0;top:0;margin-bottom:1em;border-radius:0 0 .28571429rem .28571429rem}.ui[class*="bottom attached"].table:last-child{margin-bottom:0}.ui.striped.table>tr:nth-child(2n),.ui.striped.table>tbody>tr:nth-child(2n){background:var(--color-light)}.ui.table[class*="single line"],.ui.table [class*="single line"]{white-space:nowrap}.ui.table th.one.wide,.ui.table td.one.wide{width:6.25%}.ui.table th.two.wide,.ui.table td.two.wide{width:12.5%}.ui.table th.three.wide,.ui.table td.three.wide{width:18.75%}.ui.table th.four.wide,.ui.table td.four.wide{width:25%}.ui.table th.five.wide,.ui.table td.five.wide{width:31.25%}.ui.table th.six.wide,.ui.table td.six.wide{width:37.5%}.ui.table th.seven.wide,.ui.table td.seven.wide{width:43.75%}.ui.table th.eight.wide,.ui.table td.eight.wide{width:50%}.ui.table th.nine.wide,.ui.table td.nine.wide{width:56.25%}.ui.table th.ten.wide,.ui.table td.ten.wide{width:62.5%}.ui.table th.eleven.wide,.ui.table td.eleven.wide{width:68.75%}.ui.table th.twelve.wide,.ui.table td.twelve.wide{width:75%}.ui.table th.thirteen.wide,.ui.table td.thirteen.wide{width:81.25%}.ui.table th.fourteen.wide,.ui.table td.fourteen.wide{width:87.5%}.ui.table th.fifteen.wide,.ui.table td.fifteen.wide{width:93.75%}.ui.table th.sixteen.wide,.ui.table td.sixteen.wide{width:100%}.ui.basic.table{background:transparent;border:1px solid var(--color-secondary)}.ui.basic.table>thead>tr>th,.ui.basic.table>tbody>tr>th,.ui.basic.table>tfoot>tr>th,.ui.basic.table>tr>th{background:transparent;border-left:none}.ui.basic.table>tbody>tr{border-bottom:1px solid var(--color-secondary)}.ui.basic.table>tbody>tr>td,.ui.basic.table>tfoot>tr>td,.ui.basic.table>tr>td{background:transparent}.ui.basic.striped.table>tbody>tr:nth-child(2n){background:var(--color-light)}.ui[class*="very basic"].table{border:none}.ui[class*="very basic"].table:not(.striped)>tr>th:first-child,.ui[class*="very basic"].table:not(.striped)>thead>tr>th:first-child,.ui[class*="very basic"].table:not(.striped)>tbody>tr>th:first-child,.ui[class*="very basic"].table:not(.striped)>tfoot>tr>th:first-child,.ui[class*="very basic"].table:not(.striped)>tr>td:first-child,.ui[class*="very basic"].table:not(.striped)>tbody>tr>td:first-child,.ui[class*="very basic"].table:not(.striped)>tfoot>tr>td:first-child{padding-left:0}.ui[class*="very basic"].table:not(.striped)>tr>th:last-child,.ui[class*="very basic"].table:not(.striped)>thead>tr>th:last-child,.ui[class*="very basic"].table:not(.striped)>tbody>tr>th:last-child,.ui[class*="very basic"].table:not(.striped)>tfoot>tr>th:last-child,.ui[class*="very basic"].table:not(.striped)>tr>td:last-child,.ui[class*="very basic"].table:not(.striped)>tbody>tr>td:last-child,.ui[class*="very basic"].table:not(.striped)>tfoot>tr>td:last-child{padding-right:0}.ui[class*="very basic"].table:not(.striped)>thead>tr:first-child>th{padding-top:0}.ui.celled.table>tr>th,.ui.celled.table>thead>tr>th,.ui.celled.table>tbody>tr>th,.ui.celled.table>tfoot>tr>th,.ui.celled.table>tr>td,.ui.celled.table>tbody>tr>td,.ui.celled.table>tfoot>tr>td{border-left:1px solid var(--color-secondary-alpha-50)}.ui.celled.table>tr>th:first-child,.ui.celled.table>thead>tr>th:first-child,.ui.celled.table>tbody>tr>th:first-child,.ui.celled.table>tfoot>tr>th:first-child,.ui.celled.table>tr>td:first-child,.ui.celled.table>tbody>tr>td:first-child,.ui.celled.table>tfoot>tr>td:first-child{border-left:none}.ui.compact.table>tr>th,.ui.compact.table>thead>tr>th,.ui.compact.table>tbody>tr>th,.ui.compact.table>tfoot>tr>th{padding-left:.7em;padding-right:.7em}.ui.compact.table>tr>td,.ui.compact.table>tbody>tr>td,.ui.compact.table>tfoot>tr>td{padding:.5em .7em}.ui.table>thead>tr>th:first-of-type,.ui.table>tbody>tr>td:first-of-type,.ui.table>tr>td:first-of-type{padding-left:10px}.ui.table>thead>tr>th:last-of-type,.ui.table>tbody>tr>td:last-of-type,.ui.table>tr>td:last-of-type{padding-right:10px}.ui.card:last-child{margin-bottom:0}.ui.card:first-child{margin-top:0}.ui.cards>.card,.ui.card{display:flex;flex-direction:column;max-width:100%;width:290px;min-height:0;padding:0;background:var(--color-card);border:1px solid var(--color-secondary);box-shadow:none;word-wrap:break-word;border-radius:var(--border-radius)}.ui.card{margin:1em 0}.ui.cards{display:flex;margin:-.875em -.5em;flex-wrap:wrap}.ui.cards>.card{display:flex;margin:.875em .5em;float:none}.ui.cards>.card>.content,.ui.card>.content{border-top:1px solid var(--color-secondary);max-width:100%;padding:1em;font-size:1em}.ui.cards>.card>.content>.meta+.description,.ui.cards>.card>.content>.header+.description,.ui.card>.content>.meta+.description,.ui.card>.content>.header+.description{margin-top:.5em}.ui.cards>.card>.content>.header:not(.ui),.ui.card>.content>.header:not(.ui){font-weight:var(--font-weight-medium);font-size:1.28571429em;margin-top:-.21425em;line-height:1.28571429}.ui.cards>.card>.content:first-child,.ui.card>.content:first-child{border-top:none;border-radius:var(--border-radius) var(--border-radius) 0 0}.ui.cards>.card>:last-child,.ui.card>:last-child{border-radius:0 0 var(--border-radius) var(--border-radius)}.ui.cards>.card>:only-child,.ui.card>:only-child{border-radius:var(--border-radius)!important}.ui.cards>.card>.extra,.ui.card>.extra,.ui.cards>.card>.extra a:not(.ui),.ui.card>.extra a:not(.ui){color:var(--color-text)}.ui.cards>.card>.extra a:not(.ui):hover,.ui.card>.extra a:not(.ui):hover{color:var(--color-primary)}.ui.cards>.card>.content>.header,.ui.card>.content>.header{color:var(--color-text)}.ui.cards>.card>.content>.description,.ui.card>.content>.description{color:var(--color-text)}.ui.cards>.card .meta>a:not(.ui),.ui.card .meta>a:not(.ui){color:var(--color-text-light-2)}.ui.cards>.card .meta>a:not(.ui):hover,.ui.card .meta>a:not(.ui):hover{color:var(--color-text)}.ui.cards a.card:hover,a.ui.card:hover{border:1px solid var(--color-secondary);background:var(--color-card)}.ui.cards>.card>.extra,.ui.card>.extra{color:var(--color-text);border-top-color:var(--color-secondary-light-1)!important}.ui.three.cards{margin-left:-1em;margin-right:-1em}.ui.three.cards>.card{width:calc(33.33333333333333% - 2em);margin-left:1em;margin-right:1em}input[type=checkbox],input[type=radio]{width:var(--checkbox-size);height:var(--checkbox-size)}.ui.checkbox{position:relative;display:inline-block;vertical-align:baseline;min-height:var(--checkbox-size);line-height:var(--checkbox-size);min-width:var(--checkbox-size);padding:1px}.ui.checkbox input[type=checkbox],.ui.checkbox input[type=radio]{position:absolute;top:1px;left:0;width:var(--checkbox-size);height:var(--checkbox-size)}.ui.checkbox input[type=checkbox]:enabled,.ui.checkbox input[type=radio]:enabled,.ui.checkbox label:enabled{cursor:pointer}.ui.checkbox label{cursor:auto;position:relative;display:block;user-select:none}.ui.checkbox label,.ui.radio.checkbox label{margin-left:20px}.ui.checkbox+label{vertical-align:middle}.ui.disabled.checkbox label,.ui.checkbox input[disabled]~label{cursor:default!important;opacity:.5;pointer-events:none}.ui.radio.checkbox{min-height:var(--checkbox-size)}.ui.toggle.checkbox{min-height:1.5rem}.ui.toggle.checkbox input{width:3.5rem;height:21px;opacity:0;z-index:3}.ui.toggle.checkbox label{min-height:1.5rem;padding-left:4.5rem;padding-top:.15em}.ui.toggle.checkbox label:before{display:block;position:absolute;content:"";z-index:1;top:0;width:49px;height:21px;border-radius:500rem;left:0}.ui.toggle.checkbox label:after{background:var(--color-white);box-shadow:1px 1px 4px 1px var(--color-shadow);position:absolute;content:"";opacity:1;z-index:2;width:18px;height:18px;top:1.5px;left:1.5px;border-radius:500rem;transition:background .3s ease,left .3s ease}.ui.toggle.checkbox input~label:after{left:1.5px}.ui.toggle.checkbox input:checked~label:after{left:29px}.ui.toggle.checkbox input:focus~label:before,.ui.toggle.checkbox label:before{background:var(--color-input-toggle-background)}.ui.toggle.checkbox label,.ui.toggle.checkbox input:checked~label,.ui.toggle.checkbox input:focus:checked~label{color:var(--color-text)!important}.ui.toggle.checkbox input:checked~label:before,.ui.toggle.checkbox input:focus:checked~label:before{background:var(--color-primary)!important}.ui.modal.g-modal-confirm{max-width:min(800px,90vw);width:fit-content}.ui.modal.g-modal-confirm>.inside.close.icon{padding:0;width:1em;height:1em;top:1.2em}.ui.modal>.close.inside{color:inherit}.ui.modal>.close.icon[height="16"]{top:.7em;color:var(--color-text-dark)}.ui.modal>.header{color:var(--color-text-dark);background:var(--color-body);border-color:var(--color-secondary);border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);vertical-align:middle}.ui.modal>.header .svg{vertical-align:middle;display:inline-block}.ui.modal{background:var(--color-body);box-shadow:1px 3px 3px 0 var(--color-shadow),1px 3px 15px 2px var(--color-shadow)}.ui.modal>.content,.ui.modal form>.content{padding:1.5em;background:var(--color-body);border-radius:0 0 var(--border-radius) var(--border-radius)}.ui.modal>.actions,.ui.modal .content+.actions,.ui.modal .content+form>.actions{background:var(--color-secondary-bg);border-color:var(--color-secondary);padding:1rem;text-align:right;border-radius:0 0 var(--border-radius) var(--border-radius)}.ui.modal .content>.actions{padding-top:1em;text-align:right}.ui.modal .actions>.ui.button{display:inline-flex;align-items:center;padding:10px 12px 10px 10px;margin-right:0}.ui.modal .actions>.ui.button.danger{display:block;width:100%;margin:0 auto;text-align:center}.ui.modal .actions>.ui.button .svg{margin-right:5px}.gitea-select{position:relative}.gitea-select select{appearance:none}.gitea-select:after{position:absolute;top:12px;right:8px;pointer-events:none;content:"";width:14px;height:14px;mask-size:cover;-webkit-mask-size:cover;mask-image:var(--octicon-chevron-right);-webkit-mask-image:var(--octicon-chevron-right);transform:rotate(90deg);background:currentcolor}.tippy-target{display:none!important}.tippy-content .tippy-target{display:unset!important}[data-tippy-root]{max-width:calc(100vw - 32px)}.tippy-box{position:relative;background-color:var(--color-menu);color:var(--color-text);border:1px solid var(--color-secondary);border-radius:var(--border-radius);font-size:1rem}.tippy-content{position:relative;z-index:1}.tippy-box[data-theme=bare]{border:none;box-shadow:0 6px 18px var(--color-shadow)}.tippy-box[data-theme=bare] .tippy-content{padding:0;background:transparent}.tippy-box[data-theme=tooltip]{background-color:var(--color-tooltip-bg);color:var(--color-tooltip-text);border:none}.tippy-box[data-theme=tooltip] .tippy-content{padding:.5rem 1rem}.tippy-box[data-theme=tooltip] .tippy-svg-arrow-inner,.tippy-box[data-theme=tooltip] .tippy-svg-arrow-outer{fill:var(--color-tooltip-bg)}.tippy-box[data-theme=menu]{background-color:var(--color-menu);color:var(--color-text);box-shadow:0 6px 18px var(--color-shadow)}.tippy-box[data-theme=menu] .tippy-content{padding:4px 0}.tippy-box[data-theme=menu] .tippy-svg-arrow-inner{fill:var(--color-menu)}.tippy-box[data-theme=menu] .item{display:flex;align-items:center;padding:9px 18px;color:inherit;text-decoration:none;gap:10px}.tippy-box[data-theme=menu] .item:hover{background:var(--color-hover)}.tippy-box[data-theme=menu] .item:focus{background:var(--color-active)}.tippy-box[data-theme=box-with-header]{box-shadow:0 6px 18px var(--color-shadow)}.tippy-box[data-theme=box-with-header] .tippy-content{background:var(--color-box-body);border-radius:var(--border-radius);padding:0}.tippy-box[data-theme=box-with-header][data-placement^=top] .tippy-svg-arrow-inner{fill:var(--color-box-body)}.tippy-box[data-theme=box-with-header][data-placement^=bottom] .tippy-svg-arrow-inner{fill:var(--color-box-header)}.tippy-box[data-placement^=top]>.tippy-svg-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-svg-arrow:after,.tippy-box[data-placement^=top]>.tippy-svg-arrow>svg{top:16px;transform:rotate(180deg)}.tippy-box[data-placement^=bottom]>.tippy-svg-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-svg-arrow>svg{bottom:16px}.tippy-box[data-placement^=left]>.tippy-svg-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-svg-arrow:after,.tippy-box[data-placement^=left]>.tippy-svg-arrow>svg{transform:rotate(90deg);top:calc(50% - 3px);left:11px}.tippy-box[data-placement^=right]>.tippy-svg-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-svg-arrow:after,.tippy-box[data-placement^=right]>.tippy-svg-arrow>svg{transform:rotate(-90deg);top:calc(50% - 3px);right:11px}.tippy-svg-arrow{width:16px;height:16px;text-align:initial}.tippy-svg-arrow,.tippy-svg-arrow>svg{position:absolute}.tippy-svg-arrow-outer{fill:var(--color-secondary)}.tippy-svg-arrow-inner{fill:var(--color-menu)}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:3px}.breadcrumb .breadcrumb-divider{color:var(--color-text-light-2)}.breadcrumb>*{display:inline}.ui.comments{margin:1.5em 0}.ui.comments:first-child{margin-top:0}.ui.comments:last-child{margin-bottom:0}.ui.comments .comment{display:flex;position:relative;background:none;margin:3px 0 0;padding:.5em 0 0;border:none;border-top:none;line-height:1.2}.edit-content-zone .comment{flex-direction:column}.ui.comments .comment:first-child{margin-top:0;padding-top:0}.ui.comments .comment>.comments{margin:0 0 .5em .5em;padding:1em 0 1em 1em}.ui.comments .comment>.comments:before{position:absolute;top:0;left:0}.ui.comments .comment>.comments .comment{border:none;border-top:none;background:none}.ui.comments .comment .avatar{width:30px}.ui.comments .comment>.content{display:flex;flex-direction:column;flex:1}.ui.comments .comment>.avatar~.content{margin-left:12px}.ui.comments .comment .author{font-size:1em;font-weight:var(--font-weight-medium)}.ui.comments .comment a.author{cursor:pointer}.ui.comments .comment .metadata{display:inline-block;margin-left:.5em;font-size:.875em}.ui.comments .comment .metadata>*{display:inline-block;margin:0 .5em 0 0}.ui.comments .comment .metadata>:last-child{margin-right:0}.ui.comments .comment .text{margin:.25em 0 .5em;font-size:1em;word-wrap:break-word;line-height:1.3}#navbar{display:flex;align-items:center;justify-content:space-between;background:var(--color-nav-bg);border-bottom:1px solid var(--color-secondary);margin:0!important;padding:0 10px}#navbar,#navbar .navbar-left,#navbar .navbar-right{min-height:49px}#navbar .navbar-left,#navbar .navbar-right{margin:0;display:flex;align-items:center;gap:5px}#navbar-logo{margin:0}.navbar-left>.item,.navbar-right>.item{color:var(--color-nav-text);position:relative;text-decoration:none;line-height:var(--line-height-default);flex:0 0 auto;font-weight:var(--font-weight-normal);align-items:center;padding:.78571429em .92857143em;border-radius:.28571429rem}#navbar .item{min-height:36px;min-width:36px;padding-top:3px;padding-bottom:3px;display:flex}#navbar .dropdown .item{justify-content:stretch}#navbar a.item:hover,#navbar button.item:hover{background:var(--color-nav-hover-bg)}#navbar .secondary.menu>.item>.svg,#navbar .right.menu>.item>.svg{margin-right:0}@media (max-width: 767.98px){#navbar{align-items:stretch}#navbar .item{display:none}#navbar #navbar-logo{display:flex}#navbar .navbar-left{flex:1;display:flex;justify-content:space-between}#navbar .navbar-mobile-right{display:flex;margin:0 0 0 auto!important;width:auto!important}#navbar .navbar-mobile-right>.item{display:flex;width:auto!important}#navbar.navbar-menu-open{padding-bottom:8px}#navbar.navbar-menu-open,#navbar.navbar-menu-open .navbar-right{flex-direction:column}#navbar.navbar-menu-open .navbar-left{display:flex;flex-wrap:wrap}#navbar.navbar-menu-open .item{display:flex;width:100%;margin:0}#navbar.navbar-menu-open .navbar-left #navbar-logo{justify-content:flex-start;width:auto}#navbar.navbar-menu-open .navbar-left .navbar-mobile-right{justify-content:flex-end;width:50%;min-height:48px}#navbar #mobile-stopwatch-icon,#navbar #mobile-notifications-icon{margin-right:6px!important}}#navbar a.item:hover .notification_count,#navbar a.item:hover .header-stopwatch-dot{border-color:var(--color-nav-hover-bg)}#navbar a.item .notification_count,#navbar a.item .header-stopwatch-dot{color:var(--color-nav-bg);padding:0 3.75px;font-size:12px;line-height:12px;font-weight:var(--font-weight-bold);background:var(--color-primary);border:2px solid var(--color-nav-bg);position:absolute;left:6px;top:-9px;min-width:17px;height:17px;border-radius:11px;display:flex;align-items:center;justify-content:center;z-index:1;user-select:none;white-space:nowrap}.secondary-nav{background:var(--color-secondary-nav-bg)!important}.issue-navbar{display:flex;justify-content:space-between}.toastify{color:var(--color-white);position:fixed;opacity:0;transition:all .2s ease;z-index:500;border-radius:var(--border-radius);box-shadow:0 8px 24px var(--color-shadow);display:flex;max-width:50vw;min-width:300px;padding:4px}.toastify.on{opacity:1}.toast-body{flex:1;padding:5px 0;overflow-wrap:anywhere}.toast-close,.toast-icon{color:currentcolor;border-radius:var(--border-radius);background:transparent;border:none;display:flex;width:30px;height:30px;justify-content:center;align-items:center}.toast-close:hover{background:var(--color-hover)}.toast-close:active{background:var(--color-active)}.toastify-right{right:15px}.toastify-left{left:15px}.toastify-top{top:-150px}.toastify-bottom{bottom:-150px}.toastify-center{margin-left:auto;margin-right:auto;left:0;right:0}@media (max-width: 360px){.toastify-right,.toastify-left{margin-left:auto;margin-right:auto;left:0;right:0;max-width:fit-content}}.svg{display:inline-block;vertical-align:text-top;fill:currentcolor}.middle .svg{vertical-align:middle}.svg[height="12"]{min-height:12px}.svg[height="13"]{min-height:13px}.svg[height="14"]{min-height:14px}.svg[height="15"]{min-height:15px}.svg[height="16"]{min-height:16px}.svg[height="18"]{min-height:18px}.svg[height="20"]{min-height:20px}.svg[height="22"]{min-height:22px}.svg[height="24"]{min-height:24px}.svg[height="36"]{min-height:36px}.svg[height="48"]{min-height:48px}.svg[height="56"]{min-height:56px}.svg[width="12"]{min-width:12px}.svg[width="13"]{min-width:13px}.svg[width="14"]{min-width:14px}.svg[width="15"]{min-width:15px}.svg[width="16"]{min-width:16px}.svg[width="18"]{min-width:18px}.svg[width="20"]{min-width:20px}.svg[width="22"]{min-width:22px}.svg[width="24"]{min-width:24px}.svg[width="36"]{min-width:36px}.svg[width="48"]{min-width:48px}.svg[width="56"]{min-width:56px}.flex-container{display:flex!important;gap:var(--page-spacing);margin-top:var(--page-spacing)}.flex-container-nav{width:240px}.flex-container-sidebar{width:35%}.flex-container-main{flex:1;min-width:0}@media (max-width: 767.98px){.flex-container{flex-direction:column}.flex-container-nav,.flex-container-sidebar{order:-1;width:auto}}.flex-list{list-style:none}.flex-item{display:flex;gap:8px;align-items:flex-start;padding:10px 0}.flex-item .flex-item-leading{display:flex;align-items:flex-start}.flex-item .flex-item-main{display:flex;flex-direction:column;flex-grow:1;flex-basis:60%;min-width:0}.flex-item-header{display:flex;gap:.25rem;justify-content:space-between;flex-wrap:wrap}.flex-item a:not(.label,.button):hover{color:var(--color-primary)!important}.flex-item .flex-item-icon{align-self:baseline}.flex-item .flex-item-icon+.flex-item-main{align-self:baseline}.flex-item .flex-item-trailing{display:flex;gap:.5rem;align-items:center;flex-grow:0;flex-wrap:wrap;justify-content:end}.flex-item .flex-item-title{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.25rem;max-width:100%;color:var(--color-text);font-size:16px;font-weight:var(--font-weight-semibold);word-break:break-word;min-width:0}.flex-item .flex-item-title a{color:var(--color-text);overflow-wrap:anywhere}.flex-item .flex-item-body{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;color:var(--color-text-light-2);word-break:break-word}.flex-item .flex-item-body a{color:inherit;overflow-wrap:anywhere}.flex-list>.flex-item+.flex-item{border-top:1px solid var(--color-secondary)}.flex-list.flex-space-fitted>.flex-item:first-child,.ui.segment>.flex-list>.flex-item:first-child{padding-top:0}.flex-list.flex-space-fitted>.flex-item:last-child,.ui.segment>.flex-list>.flex-item:last-child{padding-bottom:0}.divider+.flex-list>.flex-item:first-child{padding-top:0}.flex-list+.divider{margin-top:0}.milestone-list{list-style:none}.milestone-card{width:100%;padding-top:10px;padding-bottom:10px}.milestone-card+.milestone-card{border-top:1px solid var(--color-secondary)}.milestone-card .content{padding-top:10px}.milestone-header progress{width:200px;height:16px}.milestone-header{display:flex;align-items:center;margin:0;flex-wrap:wrap;justify-content:space-between}.milestone-toolbar{padding-top:5px;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.milestone-toolbar .group{color:var(--color-text-light-2);display:flex;flex-wrap:wrap;gap:8px}.milestone-toolbar .group>a{font-size:15px;color:var(--color-text-light-2)}.milestone-toolbar .group>a:hover{color:var(--color-text)}@media (max-width: 767.98px){.milestone-card{display:flex;flex-direction:column;gap:8px}}.repository .head .ui.header .text,.organization .head .ui.header .text{vertical-align:middle;font-size:1.6rem;margin-left:15px}.repository .ui.tabs.container,.organization .ui.tabs.container{margin-top:14px;margin-bottom:0}.repository .head .ui.header .org-visibility .label,.organization .head .ui.header .org-visibility .label{margin-left:5px;margin-top:5px}details.toggleable-item{user-select:none!important;padding:0!important}details.toggleable-item .menu{margin:4px 0 10px!important}details.toggleable-item summary{display:flex;justify-content:space-between;align-items:center;padding:.92857143em 1.14285714em}details.toggleable-item summary::marker,details.toggleable-item summary::-webkit-details-marker{display:none}details.toggleable-item summary:after{transition:transform .25s ease;content:"";width:14px;height:14px;mask-size:cover;-webkit-mask-size:cover;mask-image:var(--octicon-chevron-right);-webkit-mask-image:var(--octicon-chevron-right);background:currentcolor;border:1px solid var(--color-body)}details.toggleable-item[open] summary:after{transform:rotate(90deg)}.ui .field .dropzone{border:2px dashed var(--color-secondary);background:none;box-shadow:none;padding:0;border-radius:var(--border-radius-medium);min-height:0}.ui .field .dropzone .dz-message{margin:10px 0}.dropzone .dz-button{color:var(--color-text-light)!important}.dropzone:hover .dz-button{color:var(--color-text)!important}.dropzone .dz-error-message{top:145px!important}.dropzone .dz-image{display:flex!important;align-items:center!important;justify-content:center!important;border-radius:0!important}.dropzone .dz-image img{max-width:100%!important;max-height:100%!important;object-fit:contain!important}.dropzone .dz-preview.dz-image-preview,.dropzone-attachments .thumbnails img{background:transparent!important}.dropzone-attachments .thumbnails img{height:120px!important;width:120px!important;object-fit:contain!important;margin-bottom:0!important}.dropzone .dz-preview:hover .dz-image img{filter:opacity(.5)!important}.ui .field .dropzone .dz-preview .dz-progress{top:7em}#git-graph-container{overflow-x:auto;width:100%;min-height:350px}#git-graph-container h2{display:flex;justify-content:space-between;align-items:center}#git-graph-container .color-buttons{margin-right:0}#git-graph-container .ui.header.dividing{padding-bottom:10px}#git-graph-container #flow-select-refs-dropdown{border-top-right-radius:0;border-bottom-right-radius:0;min-width:250px;border-right:none}#git-graph-container #flow-select-refs-dropdown .ui.label{max-width:180px;display:inline-flex!important;align-items:center}#git-graph-container #flow-select-refs-dropdown .ui.label .truncate{display:inline-block;max-width:140px;overflow:hidden;text-overflow:ellipsis;vertical-align:top;white-space:nowrap}#git-graph-container #flow-select-refs-dropdown .default.text{padding-top:4px;padding-bottom:4px}#git-graph-container #flow-select-refs-dropdown input.search{position:relative;top:1px}#git-graph-container li{list-style-type:none;height:24px;line-height:24px;white-space:nowrap;display:flex;align-items:center}#git-graph-container li .node-relation{font-family:var(--fonts-monospace)}#git-graph-container li .author{color:var(--color-text-light)}#git-graph-container li .time{color:var(--color-text-light-3);font-size:80%}#git-graph-container li a:not(.ui):hover{text-decoration:underline}#git-graph-container li a em{color:var(--color-red);border-bottom:1px dotted var(--color-secondary);text-decoration:none;font-style:normal}#git-graph-container #rel-container{max-width:30%;overflow-x:auto;float:left}#git-graph-container #rev-container{width:100%}#git-graph-container #rev-list{margin:0;padding:0;width:100%}#git-graph-container #rev-list li.highlight.hover{background-color:var(--color-secondary-alpha-30)}#git-graph-container #rev-list .commit-refs .button{padding:2px 4px;margin-right:.25em;display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis}#git-graph-container #rev-list .sha.label{padding-top:5px;padding-bottom:3px}#git-graph-container #rev-list .sha.label .ui.detail.icon.button{padding-top:3px;margin-top:-5px;padding-bottom:1px}#git-graph-container #rev-list .author img.ui.avatar{width:auto;height:18px;max-width:none}#git-graph-container #graph-raw-list{margin:0}#git-graph-container.monochrome #rel-container .flow-group{stroke:var(--color-secondary-dark-5);fill:var(--color-secondary-dark-5)}#git-graph-container.monochrome #rel-container .flow-group.highlight{stroke:var(--color-secondary-dark-12);fill:var(--color-secondary-dark-12)}#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-1{stroke:#499a37;fill:#499a37}#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-2{stroke:#ce4751;fill:#ce4751}#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-3{stroke:#8f9121;fill:#8f9121}#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-4{stroke:#ac32a6;fill:#ac32a6}#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-5{stroke:#7445e9;fill:#7445e9}#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-6{stroke:#c67d28;fill:#c67d28}#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-7{stroke:#4db392;fill:#4db392}#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-8{stroke:#aa4d30;fill:#aa4d30}#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-9{stroke:#2a6f84;fill:#2a6f84}#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-10{stroke:#c45327;fill:#c45327}#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-11{stroke:#3d965c;fill:#3d965c}#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-12{stroke:#792a93;fill:#792a93}#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-13{stroke:#439d73;fill:#439d73}#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-14{stroke:#103aad;fill:#103aad}#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-15{stroke:#982e85;fill:#982e85}#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-0{stroke:#7db233;fill:#7db233}#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-1{stroke:#5ac144;fill:#5ac144}#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-2{stroke:#ed5a8b;fill:#ed5a8b}#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-3{stroke:#ced049;fill:#ced048}#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-4{stroke:#db61d7;fill:#db62d6}#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-5{stroke:#8455f9;fill:#8455f9}#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-6{stroke:#e6a151;fill:#e6a151}#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-7{stroke:#44daaa;fill:#44daaa}#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-8{stroke:#dd7a5c;fill:#dd7a5c}#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-9{stroke:#38859c;fill:#38859c}#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-10{stroke:#d95520;fill:#d95520}#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-11{stroke:#42ae68;fill:#42ae68}#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-12{stroke:#9126b5;fill:#9126b5}#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-13{stroke:#4ab080;fill:#4ab080}#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-14{stroke:#284fb8;fill:#284fb8}#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-15{stroke:#971c80;fill:#971c80}#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-0{stroke:#87ca28;fill:#87ca28}#user-heatmap{width:100%;font-size:9px;position:relative}#user-heatmap.is-loading{aspect-ratio:5.415}.user.profile #user-heatmap.is-loading{aspect-ratio:5.645}#user-heatmap text{fill:currentcolor!important}#user-heatmap .vch__legend .vch__legend{display:flex;font-size:11px;align-items:center;justify-content:right}#user-heatmap .vch__legend .vch__legend div:first-child,#user-heatmap .vch__legend .vch__legend div:last-child{display:inline-block;padding:0 5px}#user-heatmap .vch__day__square:hover{outline:1.5px solid var(--color-text)}#user-heatmap .total-contributions{font-size:11px;position:absolute;bottom:0;left:25px}@media (max-width: 1200px){#user-heatmap .total-contributions{left:21px}}@media (max-width: 1000px){#user-heatmap .total-contributions{font-size:10px;left:17px;bottom:-4px}}.image-diff-tabs{min-height:60px}.image-diff-tabs.is-loading .tab{display:none}.image-diff-container{text-align:center;padding:.5em 0 1em}.image-diff-container img{border:1px solid var(--color-primary-light-7);background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAG0lEQVQYlWN4+vTpf3SMDTAMBYXYBLFpHgoKAeiOf0SGE9kbAAAAAElFTkSuQmCC) right bottom var(--color-primary-light-7)}.image-diff-container .before-container{border:1px solid var(--color-red);display:block}.image-diff-container .after-container{border:1px solid var(--color-green);display:block}.image-diff-container .diff-side-by-side .side{display:inline-block;line-height:0;vertical-align:top;margin:0 1em}.image-diff-container .diff-side-by-side .side .side-header{font-weight:var(--font-weight-semibold)}.image-diff-container .diff-swipe{margin:auto;padding:1em 0}.image-diff-container .diff-swipe .swipe-frame,.image-diff-container .diff-swipe .swipe-frame .before-container{position:absolute}.image-diff-container .diff-swipe .swipe-frame .swipe-container{position:absolute;right:0;display:block;border-left:2px solid var(--color-secondary-dark-8);height:100%;overflow:hidden}.image-diff-container .diff-swipe .swipe-frame .swipe-container .after-container{position:absolute;right:0}.image-diff-container .diff-swipe .swipe-frame .swipe-bar{position:absolute;height:100%;top:0;left:0}.image-diff-container .diff-swipe .swipe-frame .swipe-bar .handle{background:var(--color-secondary-dark-8);left:-5px;height:12px;width:12px;position:absolute;transform:rotate(45deg);box-sizing:border-box;display:flex;justify-content:center;align-items:center;cursor:pointer}.image-diff-container .diff-swipe .swipe-frame .swipe-bar .top-handle{top:-12px}.image-diff-container .diff-swipe .swipe-frame .swipe-bar .bottom-handle{bottom:-14px}.image-diff-container .diff-overlay{margin:0 auto}.image-diff-container .diff-overlay .overlay-frame{margin:1em auto 0;position:relative}.image-diff-container .diff-overlay .before-container,.image-diff-container .diff-overlay .after-container{position:absolute}.image-diff-container .diff-overlay input{max-width:300px}.monaco-editor-container,.editor-loading.is-loading{width:100%;min-height:200px;height:90vh}.edit.githook .monaco-editor-container{border:1px solid var(--color-secondary);height:70vh}.monaco-editor-container .inputarea{min-height:0!important;margin:0!important;padding:0!important;resize:none!important;border:none!important;color:transparent!important;background-color:transparent!important}.monaco-editor,.monaco-editor .overflow-guard{border-radius:var(--border-radius)}.monaco-scrollable-element>.scrollbar>.slider{background:var(--color-primary)!important}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--color-primary-dark-1)!important}.monaco-scrollable-element>.scrollbar>.slider:active{background:var(--color-primary-dark-2)!important}.monaco-editor .iPadShowKeyboard{border:none!important;width:58px!important;min-width:0!important;height:36px!important;min-height:0!important;margin:0!important;padding:0!important;position:absolute!important;resize:none!important;overflow:hidden!important;border-radius:var(--border-radius-medium)!important}.board{display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;margin:0 .5em}.project-column{background-color:var(--color-project-board-bg)!important;border:1px solid var(--color-secondary)!important;border-radius:var(--border-radius);margin:0 .5rem!important;padding:.5rem!important;width:320px;height:calc(100vh - 450px);min-height:60vh;flex:0 0 auto;overflow:visible;display:flex;flex-direction:column;cursor:default}.project-column .issue-card{color:var(--color-text)}.project-column-header{display:flex;align-items:center;justify-content:space-between;gap:.5em}.ui.label.project-column-issue-count{color:inherit}.project-column-title-label{flex:1}.project-column>.cards{flex:1;display:flex;align-content:baseline;margin:0!important;padding:0!important;flex-wrap:nowrap!important;flex-direction:column;overflow-x:auto;gap:.25rem}.project-column>.divider{margin:5px 0;border-color:currentcolor;opacity:.5}.project-column:first-child{margin-left:auto!important}.project-column:last-child{margin-right:auto!important}.card-attachment-images{display:inline-block;white-space:nowrap;overflow:scroll;cursor:default;scroll-snap-type:x mandatory;text-align:center}.card-attachment-images img{display:inline-block;max-height:50px;border-radius:var(--border-radius);text-align:left;scroll-snap-align:center;margin-right:2px;aspect-ratio:1}.card-attachment-images img:only-child{max-height:90px;margin:auto}.card-ghost{border-color:var(--color-secondary-dark-4)!important;border-style:dashed!important;background:none!important}.card-ghost *{opacity:0}.tribute-container{position:absolute;top:0;left:0;height:auto;max-height:300px;max-width:500px;overflow:auto;display:block;z-index:999999}.tribute-container ul{margin:2px 0 0;padding:0;list-style:none;background:#efefef}.tribute-container li{padding:5px;cursor:pointer}.tribute-container li.highlight{background:#ddd}.tribute-container li span{font-weight:700}.tribute-container li.no-match{cursor:default}.tribute-container .menu-highlighted{font-weight:700}.tribute-container{box-shadow:0 .25rem .5rem #00000040;border-radius:var(--border-radius)}.tribute-container ul{margin-top:0!important;background:var(--color-body)!important}.tribute-container li{padding:3px .5rem!important}.tribute-container li span.fullname{font-weight:var(--font-weight-normal);font-size:.8rem;margin-left:3px}.tribute-container li.highlight,.tribute-container li:hover{background:var(--color-primary)!important;color:var(--color-primary-contrast)!important}.tribute-item{display:flex;align-items:center}.tribute-item .emoji,.tribute-item img[src*="/avatar/"]{margin-right:.5rem}.tribute-container img{width:1.5rem!important;height:1.5rem!important}.console{background:var(--color-console-bg);color:var(--color-console-fg);font-family:var(--fonts-monospace);border-radius:var(--border-radius);word-break:break-word;overflow-wrap:break-word}.console img{max-width:100%}.console a{color:inherit;text-decoration:underline;text-decoration-style:dashed}.console a:hover{color:var(--color-primary)}@keyframes blink-animation{to{visibility:hidden}}.ansi-black-fg{color:var(--color-ansi-black)}.ansi-red-fg{color:var(--color-ansi-red)}.ansi-green-fg{color:var(--color-ansi-green)}.ansi-yellow-fg{color:var(--color-ansi-yellow)}.ansi-blue-fg{color:var(--color-ansi-blue)}.ansi-magenta-fg{color:var(--color-ansi-magenta)}.ansi-cyan-fg{color:var(--color-ansi-cyan)}.ansi-white-fg{color:var(--color-ansi-white)}.ansi-bright-black-fg{color:var(--color-ansi-bright-black)}.ansi-bright-red-fg{color:var(--color-ansi-bright-red)}.ansi-bright-green-fg{color:var(--color-ansi-bright-green)}.ansi-bright-yellow-fg{color:var(--color-ansi-bright-yellow)}.ansi-bright-blue-fg{color:var(--color-ansi-bright-blue)}.ansi-bright-magenta-fg{color:var(--color-ansi-bright-magenta)}.ansi-bright-cyan-fg{color:var(--color-ansi-bright-cyan)}.ansi-bright-white-fg{color:var(--color-ansi-bright-white)}.ansi-black-bg{background-color:var(--color-ansi-black)}.ansi-red-bg{background-color:var(--color-ansi-red)}.ansi-green-bg{background-color:var(--color-ansi-green)}.ansi-yellow-bg{background-color:var(--color-ansi-yellow)}.ansi-blue-bg{background-color:var(--color-ansi-blue)}.ansi-magenta-bg{background-color:var(--color-ansi-magenta)}.ansi-cyan-bg{background-color:var(--color-ansi-cyan)}.ansi-white-bg{background-color:var(--color-ansi-white)}.ansi-bright-black-bg{background-color:var(--color-ansi-bright-black)}.ansi-bright-red-bg{background-color:var(--color-ansi-bright-red)}.ansi-bright-green-bg{background-color:var(--color-ansi-bright-green)}.ansi-bright-yellow-bg{background-color:var(--color-ansi-bright-yellow)}.ansi-bright-blue-bg{background-color:var(--color-ansi-bright-blue)}.ansi-bright-magenta-bg{background-color:var(--color-ansi-bright-magenta)}.ansi-bright-cyan-bg{background-color:var(--color-ansi-bright-cyan)}.ansi-bright-white-bg{background-color:var(--color-ansi-bright-white)}.term-fg2{color:var(--color-ansi-bright-black)}.term-fg3{font-style:italic}.term-fg4{text-decoration:underline}.term-fg5{animation:blink-animation 1s steps(3,start) infinite}.term-fg9{text-decoration:line-through}.term-fg30{color:var(--color-ansi-black)}.term-fg31{color:var(--color-ansi-red)}.term-fg32{color:var(--color-ansi-green)}.term-fg33{color:var(--color-ansi-yellow)}.term-fg34{color:var(--color-ansi-blue)}.term-fg35{color:var(--color-ansi-magenta)}.term-fg36{color:var(--color-ansi-cyan)}.term-fgi1{color:var(--color-ansi-bright-green)}.term-fgi90{color:var(--color-ansi-bright-black)}.term-fgi91{color:var(--color-ansi-bright-red)}.term-fgi92{color:var(--color-ansi-bright-green)}.term-fgi93{color:var(--color-ansi-bright-yellow)}.term-fgi94{color:var(--color-ansi-bright-blue)}.term-fgi95{color:var(--color-ansi-bright-magenta)}.term-fgi96{color:var(--color-ansi-bright-cyan)}.term-bg40{background:var(--color-ansi-bright-black)}.term-bg41{background:var(--color-ansi-red)}.term-bg42{background:var(--color-ansi-green)}.term-fg31.term-bg40{color:var(--color-ansi-bright-red)}.term-fgx16{color:#000}.term-fgx17{color:#00005f}.term-fgx18{color:#000087}.term-fgx19{color:#0000af}.term-fgx20{color:#0000d7}.term-fgx21{color:#00f}.term-fgx22{color:#005f00}.term-fgx23{color:#005f5f}.term-fgx24{color:#005f87}.term-fgx25{color:#005faf}.term-fgx26{color:#005fd7}.term-fgx27{color:#005fff}.term-fgx28{color:#008700}.term-fgx29{color:#00875f}.term-fgx30{color:#008787}.term-fgx31{color:#0087af}.term-fgx32{color:#0087d7}.term-fgx33{color:#0087ff}.term-fgx34{color:#00af00}.term-fgx35{color:#00af5f}.term-fgx36{color:#00af87}.term-fgx37{color:#00afaf}.term-fgx38{color:#00afd7}.term-fgx39{color:#00afff}.term-fgx40{color:#00d700}.term-fgx41{color:#00d75f}.term-fgx42{color:#00d787}.term-fgx43{color:#00d7af}.term-fgx44{color:#00d7d7}.term-fgx45{color:#00d7ff}.term-fgx46{color:#0f0}.term-fgx47{color:#00ff5f}.term-fgx48{color:#00ff87}.term-fgx49{color:#00ffaf}.term-fgx50{color:#00ffd7}.term-fgx51{color:#0ff}.term-fgx52{color:#5f0000}.term-fgx53{color:#5f005f}.term-fgx54{color:#5f0087}.term-fgx55{color:#5f00af}.term-fgx56{color:#5f00d7}.term-fgx57{color:#5f00ff}.term-fgx58{color:#5f5f00}.term-fgx59{color:#5f5f5f}.term-fgx60{color:#5f5f87}.term-fgx61{color:#5f5faf}.term-fgx62{color:#5f5fd7}.term-fgx63{color:#5f5fff}.term-fgx64{color:#5f8700}.term-fgx65{color:#5f875f}.term-fgx66{color:#5f8787}.term-fgx67{color:#5f87af}.term-fgx68{color:#5f87d7}.term-fgx69{color:#5f87ff}.term-fgx70{color:#5faf00}.term-fgx71{color:#5faf5f}.term-fgx72{color:#5faf87}.term-fgx73{color:#5fafaf}.term-fgx74{color:#5fafd7}.term-fgx75{color:#5fafff}.term-fgx76{color:#5fd700}.term-fgx77{color:#5fd75f}.term-fgx78{color:#5fd787}.term-fgx79{color:#5fd7af}.term-fgx80{color:#5fd7d7}.term-fgx81{color:#5fd7ff}.term-fgx82{color:#5fff00}.term-fgx83{color:#5fff5f}.term-fgx84{color:#5fff87}.term-fgx85{color:#5fffaf}.term-fgx86{color:#5fffd7}.term-fgx87{color:#5fffff}.term-fgx88{color:#870000}.term-fgx89{color:#87005f}.term-fgx90{color:#870087}.term-fgx91{color:#8700af}.term-fgx92{color:#8700d7}.term-fgx93{color:#8700ff}.term-fgx94{color:#875f00}.term-fgx95{color:#875f5f}.term-fgx96{color:#875f87}.term-fgx97{color:#875faf}.term-fgx98{color:#875fd7}.term-fgx99{color:#875fff}.term-fgx100{color:#878700}.term-fgx101{color:#87875f}.term-fgx102{color:#878787}.term-fgx103{color:#8787af}.term-fgx104{color:#8787d7}.term-fgx105{color:#8787ff}.term-fgx106{color:#87af00}.term-fgx107{color:#87af5f}.term-fgx108{color:#87af87}.term-fgx109{color:#87afaf}.term-fgx110{color:#87afd7}.term-fgx111{color:#87afff}.term-fgx112{color:#87d700}.term-fgx113{color:#87d75f}.term-fgx114{color:#87d787}.term-fgx115{color:#87d7af}.term-fgx116{color:#87d7d7}.term-fgx117{color:#87d7ff}.term-fgx118{color:#87ff00}.term-fgx119{color:#87ff5f}.term-fgx120{color:#87ff87}.term-fgx121{color:#87ffaf}.term-fgx122{color:#87ffd7}.term-fgx123{color:#87ffff}.term-fgx124{color:#af0000}.term-fgx125{color:#af005f}.term-fgx126{color:#af0087}.term-fgx127{color:#af00af}.term-fgx128{color:#af00d7}.term-fgx129{color:#af00ff}.term-fgx130{color:#af5f00}.term-fgx131{color:#af5f5f}.term-fgx132{color:#af5f87}.term-fgx133{color:#af5faf}.term-fgx134{color:#af5fd7}.term-fgx135{color:#af5fff}.term-fgx136{color:#af8700}.term-fgx137{color:#af875f}.term-fgx138{color:#af8787}.term-fgx139{color:#af87af}.term-fgx140{color:#af87d7}.term-fgx141{color:#af87ff}.term-fgx142{color:#afaf00}.term-fgx143{color:#afaf5f}.term-fgx144{color:#afaf87}.term-fgx145{color:#afafaf}.term-fgx146{color:#afafd7}.term-fgx147{color:#afafff}.term-fgx148{color:#afd700}.term-fgx149{color:#afd75f}.term-fgx150{color:#afd787}.term-fgx151{color:#afd7af}.term-fgx152{color:#afd7d7}.term-fgx153{color:#afd7ff}.term-fgx154{color:#afff00}.term-fgx155{color:#afff5f}.term-fgx156{color:#afff87}.term-fgx157{color:#afffaf}.term-fgx158{color:#afffd7}.term-fgx159{color:#afffff}.term-fgx160{color:#d70000}.term-fgx161{color:#d7005f}.term-fgx162{color:#d70087}.term-fgx163{color:#d700af}.term-fgx164{color:#d700d7}.term-fgx165{color:#d700ff}.term-fgx166{color:#d75f00}.term-fgx167{color:#d75f5f}.term-fgx168{color:#d75f87}.term-fgx169{color:#d75faf}.term-fgx170{color:#d75fd7}.term-fgx171{color:#d75fff}.term-fgx172{color:#d78700}.term-fgx173{color:#d7875f}.term-fgx174{color:#d78787}.term-fgx175{color:#d787af}.term-fgx176{color:#d787d7}.term-fgx177{color:#d787ff}.term-fgx178{color:#d7af00}.term-fgx179{color:#d7af5f}.term-fgx180{color:#d7af87}.term-fgx181{color:#d7afaf}.term-fgx182{color:#d7afd7}.term-fgx183{color:#d7afff}.term-fgx184{color:#d7d700}.term-fgx185{color:#d7d75f}.term-fgx186{color:#d7d787}.term-fgx187{color:#d7d7af}.term-fgx188{color:#d7d7d7}.term-fgx189{color:#d7d7ff}.term-fgx190{color:#d7ff00}.term-fgx191{color:#d7ff5f}.term-fgx192{color:#d7ff87}.term-fgx193{color:#d7ffaf}.term-fgx194{color:#d7ffd7}.term-fgx195{color:#d7ffff}.term-fgx196{color:red}.term-fgx197{color:#ff005f}.term-fgx198{color:#ff0087}.term-fgx199{color:#ff00af}.term-fgx200{color:#ff00d7}.term-fgx201{color:#f0f}.term-fgx202{color:#ff5f00}.term-fgx203{color:#ff5f5f}.term-fgx204{color:#ff5f87}.term-fgx205{color:#ff5faf}.term-fgx206{color:#ff5fd7}.term-fgx207{color:#ff5fff}.term-fgx208{color:#ff8700}.term-fgx209{color:#ff875f}.term-fgx210{color:#ff8787}.term-fgx211{color:#ff87af}.term-fgx212{color:#ff87d7}.term-fgx213{color:#ff87ff}.term-fgx214{color:#ffaf00}.term-fgx215{color:#ffaf5f}.term-fgx216{color:#ffaf87}.term-fgx217{color:#ffafaf}.term-fgx218{color:#ffafd7}.term-fgx219{color:#ffafff}.term-fgx220{color:gold}.term-fgx221{color:#ffd75f}.term-fgx222{color:#ffd787}.term-fgx223{color:#ffd7af}.term-fgx224{color:#ffd7d7}.term-fgx225{color:#ffd7ff}.term-fgx226{color:#ff0}.term-fgx227{color:#ffff5f}.term-fgx228{color:#ffff87}.term-fgx229{color:#ffffaf}.term-fgx230{color:#ffffd7}.term-fgx231{color:#fff}.term-fgx232{color:#080808}.term-fgx233{color:#121212}.term-fgx234{color:#1c1c1c}.term-fgx235{color:#262626}.term-fgx236{color:#303030}.term-fgx237{color:#3a3a3a}.term-fgx238{color:#444}.term-fgx239{color:#4e4e4e}.term-fgx240{color:#585858}.term-fgx241{color:#626262}.term-fgx242{color:#6c6c6c}.term-fgx243{color:#767676}.term-fgx244{color:gray}.term-fgx245{color:#8a8a8a}.term-fgx246{color:#949494}.term-fgx247{color:#9e9e9e}.term-fgx248{color:#a8a8a8}.term-fgx249{color:#b2b2b2}.term-fgx250{color:#bcbcbc}.term-fgx251{color:#c6c6c6}.term-fgx252{color:#d0d0d0}.term-fgx253{color:#dadada}.term-fgx254{color:#e4e4e4}.term-fgx255{color:#eee}.markup{overflow:hidden;font-size:16px;line-height:1.5!important;overflow-wrap:break-word}.conversation-holder .markup{overflow-wrap:anywhere}.markup>*:first-child{margin-top:0!important}.markup>*:last-child{margin-bottom:0!important}.markup a:not([href]){color:inherit;text-decoration:none}.markup .absent{color:var(--color-red)}.markup .anchor{float:left;padding-right:4px;margin-left:-20px;color:inherit}.markup .anchor .svg{vertical-align:middle}.markup .anchor:focus{outline:none}.markup h1 .anchor{margin-top:-2px}.markup h1 .anchor .svg,.markup h2 .anchor .svg,.markup h3 .anchor .svg,.markup h4 .anchor .svg,.markup h5 .anchor .svg,.markup h6 .anchor .svg{visibility:hidden}.markup h1:hover .anchor .svg,.markup h2:hover .anchor .svg,.markup h3:hover .anchor .svg,.markup h4:hover .anchor .svg,.markup h5:hover .anchor .svg,.markup h6:hover .anchor .svg{visibility:visible}.markup h2 .anchor .svg,.markup h3 .anchor .svg,.markup h4 .anchor .svg{position:relative;top:-2px}.markup h1,.markup h2,.markup h3,.markup h4,.markup h5,.markup h6{margin-top:24px;margin-bottom:16px;font-weight:var(--font-weight-semibold);line-height:1.25}.markup h1 tt,.markup h1 code,.markup h2 tt,.markup h2 code,.markup h3 tt,.markup h3 code,.markup h4 tt,.markup h4 code,.markup h5 tt,.markup h5 code,.markup h6 tt,.markup h6 code{font-size:inherit}.markup h1{padding-bottom:.3em;font-size:2em;border-bottom:1px solid var(--color-secondary)}.markup h2{padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid var(--color-secondary)}.markup h3{font-size:1.25em}.markup h4{font-size:1em}.markup h5{font-size:.875em}.markup h6{font-size:.85em;color:var(--color-text-light-2)}.markup p,.markup blockquote,.markup details,.markup ul,.markup ol,.markup dl,.markup table,.markup pre{margin-top:0;margin-bottom:16px}.markup hr{height:4px;padding:0;margin:16px 0;background-color:var(--color-secondary);border:0}.markup ul,.markup ol{padding-left:2em}.markup ul.no-list,.markup ol.no-list{padding:0;list-style-type:none}.markup .task-list-item{list-style-type:none}.markup .task-list-item p+ul{margin-top:16px}.markup .task-list-item input[type=checkbox]{margin:0 .3em .25em -1.4em;vertical-align:middle;padding:0}.markup .task-list-item input[type=checkbox]+p{margin-left:-.2em;display:inline}.markup .task-list-item>p{margin-inline:16px}.markup .task-list-item+.task-list-item{margin-top:4px}.markup input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;border:1px solid var(--color-secondary);border-radius:var(--border-radius);background:var(--color-input-background);height:14px;width:14px;opacity:1!important;pointer-events:auto!important;vertical-align:middle!important;-webkit-print-color-adjust:exact;color-adjust:exact}.markup input[type=checkbox]:not([disabled]):hover,.markup input[type=checkbox]:not([disabled]):active{border-color:var(--color-primary)}.markup input[type=checkbox]:after{position:absolute;inset:0;pointer-events:none;background:var(--color-text);mask-size:cover;-webkit-mask-size:cover}.markup input[type=checkbox]:checked:after{content:"";mask-image:var(--checkbox-mask-checked);-webkit-mask-image:var(--checkbox-mask-checked);-webkit-print-color-adjust:exact;color-adjust:exact}.markup input[type=checkbox]:indeterminate:after{content:"";mask-image:var(--checkbox-mask-indeterminate);-webkit-mask-image:var(--checkbox-mask-indeterminate)}.markup ul ul,.markup ul ol,.markup ol ol,.markup ol ul{margin-top:0;margin-bottom:0}.markup ol ol,.markup ul ol{list-style-type:lower-roman}.markup li>p{margin-top:16px}.markup li+li{margin-top:.25em}.markup dl{padding:0}.markup dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:var(--font-weight-semibold)}.markup dl dd{padding:0 16px;margin-bottom:16px}.markup blockquote{margin-left:0;padding:0 15px;color:var(--color-text-light-2);border-left:.25em solid var(--color-secondary)}.markup blockquote>:first-child{margin-top:0}.markup blockquote>:last-child{margin-bottom:0}.markup table{display:block;width:100%;width:max-content;max-width:100%;overflow:auto}.markup table th{font-weight:var(--font-weight-semibold)}.markup table th,.markup table td{padding:6px 13px!important;border:1px solid var(--color-secondary)!important}.markup table tr{border-top:1px solid var(--color-secondary)}.markup table tr:nth-child(2n){background-color:var(--color-markup-table-row)}.markup img,.markup video{max-width:100%;box-sizing:initial}.markup.file-view img,.markup.file-view video,.comment-body .markup img,.comment-body .markup video,.comment-content .markup img,.comment-content .markup video,.wiki .markup img,.wiki .markup video{background:var(--color-box-body)}.markup img[align=right],.markup video[align=right]{padding-left:20px}.markup img[align=left],.markup video[align=left]{padding-right:28px}.markup .emoji{max-width:none;vertical-align:text-top}.markup span.frame{display:block;overflow:hidden}.markup span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--color-secondary)}.markup span.frame span img,.markup span.frame span video{display:block;float:left}.markup span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--color-text)}.markup span.align-center{display:block;overflow:hidden;clear:both}.markup span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markup span.align-center span img,.markup span.align-center span video{margin:0 auto;text-align:center}.markup span.align-right{display:block;overflow:hidden;clear:both}.markup span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markup span.align-right span img,.markup span.align-right span video{margin:0;text-align:right}.markup span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markup span.float-left span{margin:13px 0 0}.markup span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markup span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markup code,.markup tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:var(--color-markup-code-inline);border-radius:var(--border-radius)}.markup code br,.markup tt br{display:none}.markup del code{text-decoration:inherit}.markup pre>code{padding:0;margin:0;font-size:100%;white-space:pre-wrap;word-break:break-all;overflow-wrap:break-word;background:transparent;border:0}.markup .highlight{margin-bottom:16px}.markup .highlight pre,.markup pre{padding:16px;font-size:85%;line-height:1.45;background-color:var(--color-markup-code-block);border-radius:var(--border-radius)}.markup .highlight pre{margin-bottom:0;word-break:normal}.markup pre{word-wrap:normal}.markup pre code,.markup pre tt{display:inline;padding:0;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markup pre code:before,.markup pre code:after,.markup pre tt:before,.markup pre tt:after{content:normal}.markup kbd{display:inline-block;padding:3px 5px;font-size:11px;line-height:10px;color:var(--color-text-light);vertical-align:middle;background-color:var(--color-markup-code-inline);border:1px solid var(--color-secondary);border-radius:var(--border-radius);box-shadow:inset 0 -1px 0 var(--color-secondary)}.markup .ui.list .list,.markup ol.ui.list ol,.markup ul.ui.list ul{padding-left:2em}.file-revisions-btn{display:block;float:left;margin-bottom:2px!important;padding:11px!important;margin-right:10px!important}.file-revisions-btn i{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.markup-render{display:block;border:none;width:100%;height:var(--height-loading);overflow:hidden;color-scheme:normal}.markup-block-error{display:block!important;border:none!important;margin-bottom:0!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important;box-shadow:none!important;font-size:85%!important;white-space:pre-wrap!important;padding:.5rem 1rem!important;text-align:left!important}.markup-block-error+pre{border-top:none!important;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.file-view.markup.orgmode li.unchecked:before{content:"[ ] "}.file-view.markup.orgmode li.checked:before{content:"[x] "}.file-view.markup.orgmode li.indeterminate:before{content:"[-] "}.file-view.markup.orgmode li.unchecked>p,.file-view.markup.orgmode li.checked>p,.file-view.markup.orgmode li.indeterminate>p{display:inline-block}.markup .code-block,.markup .mermaid-block{position:relative}.markup .code-copy{position:absolute;top:8px;right:6px;padding:9px;visibility:hidden;animation:fadeout .2s both}.repository.view.issue .comment-list .comment .markup .code-copy{right:5px;padding:8px}.markup .code-copy:hover{background:var(--color-secondary)!important}.markup .code-copy:active{background:var(--color-secondary-dark-1)!important}.markup .code-block:hover .code-copy,.markup .mermaid-block:hover .code-copy{visibility:visible;animation:fadein .2s both}.markup .code-preview-container{border:1px solid var(--color-secondary);border-radius:var(--border-radius);margin:.25em 0}.markup .code-preview-container .code-preview-header{border-bottom:1px solid var(--color-secondary);padding:.5em;font-size:12px}.markup .code-preview-container table{width:100%;max-height:240px;overflow-y:auto;margin:0}.markup p:empty:has(+.code-preview-container){display:none}.markup .code-preview-container table tr{border:0!important}.markup .code-preview-container table th,.markup .code-preview-container table td{border:0!important;padding:0 0 0 5px!important}.markup .code-preview-container table tr:nth-child(2n){background:none!important}.asciinema-player-container{width:100%;height:auto}.ap-terminal{overflow:hidden!important}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}.chroma .hl{display:block;width:100%}.chroma .lnt,.chroma .ln{margin-right:.4em;padding:0 .4em}.chroma .gs{font-weight:var(--font-weight-semibold)}.chroma .gl{text-decoration:underline}.ui .field:not(:last-child) .EasyMDEContainer .editor-statusbar{margin-bottom:-1em}.EasyMDEContainer .CodeMirror{color:var(--color-input-text);background-color:var(--color-input-background);border-color:var(--color-secondary);font:14px var(--fonts-monospace)}.EasyMDEContainer .CodeMirror.cm-s-default{border-radius:var(--border-radius);padding:0!important}.EasyMDEContainer .CodeMirror.CodeMirror-fullscreen.CodeMirror-focused{border-right:1px solid var(--color-primary)!important}.CodeMirror-cursor{border-color:var(--color-caret)!important}.CodeMirror .cm-comment{background:inherit!important}.CodeMirror .CodeMirror-code{font:14px var(--fonts-monospace)}.CodeMirror-selected{background:var(--color-primary-light-1)!important;color:var(--color-white)!important}.CodeMirror-placeholder{color:var(--color-placeholder-text)!important;opacity:1!important}.CodeMirror-focused{border-color:var(--color-primary)!important}.CodeMirror :focus{outline:none}:root :lang(ja){--fonts-override: var(--fonts-default-override-ja)}:root :lang(zh-CN){--fonts-override: var(--fonts-default-override-zh-cn)}:root :lang(zh-TW){--fonts-override: var(--fonts-default-override-zh-tw)}:root :lang(zh-HK){--fonts-override: var(--fonts-default-override-zh-hk)}:root :lang(ko){--fonts-override: var(--fonts-default-override-ko)}[lang]{font-family:var(--fonts-regular)}:root{--fonts-default-override-ja: system-ui-ja, var(--fonts-proportional);--fonts-default-override-zh-cn: system-ui-zh-cn, var(--fonts-proportional);--fonts-default-override-zh-tw: system-ui-zh-tw, var(--fonts-proportional);--fonts-default-override-zh-hk: system-ui-zh-hk, var(--fonts-proportional);--fonts-default-override-ko: system-ui-ko, var(--fonts-proportional)}@supports (-moz-appearance: none){:root{--fonts-default-override-ja: var(--fonts-proportional), system-ui-ja;--fonts-default-override-zh-cn: var(--fonts-proportional), system-ui-zh-cn;--fonts-default-override-zh-tw: var(--fonts-proportional), system-ui-zh-tw;--fonts-default-override-zh-hk: var(--fonts-proportional), system-ui-zh-hk;--fonts-default-override-ko: var(--fonts-proportional), system-ui-ko}}@font-face{font-family:system-ui-ja;src:local("HiraKakuProN-W3"),local("Hiragino Kaku Gothic ProN W3"),local("HiraginoSans-W2"),local("Source Han Sans JP Light"),local("SourceHanSansJP-Light"),local("Source Han Sans J Light"),local("SourceHanSansJ-Light"),local("Noto Sans CJK JP Light"),local("NotoSansCJKJP-Light"),local("Source Han Sans Light"),local("SourceHanSans-Light"),local("Yu Gothic Regular"),local("YuGothic Regular"),local("Droid Sans Japanese"),local("Meiryo"),local("MS PGothic");font-weight:300;unicode-range:U+11??,U+2E80-4DBF,U+4E00-9FFF,U+A960-A97F,U+AC00-D7FF,U+F900-FAFF,U+FE00-FE6F,U+FF00-FFEF,U+1F2??,U+2????}@font-face{font-family:system-ui-ja;src:local("HiraKakuProN-W3"),local("Hiragino Kaku Gothic ProN W3"),local("HiraginoSans-W4"),local("Source Han Sans JP Regular"),local("SourceHanSansJP-Regular"),local("Source Han Sans J Regular"),local("SourceHanSansJ-Regular"),local("Noto Sans CJK JP Regular"),local("NotoSansCJKJP-Regular"),local("Source Han Sans Regular"),local("SourceHanSans-Regular"),local("Yu Gothic Medium"),local("YuGothic Medium"),local("Droid Sans Japanese"),local("Meiryo"),local("MS PGothic");font-weight:400;unicode-range:U+11??,U+2E80-4DBF,U+4E00-9FFF,U+A960-A97F,U+AC00-D7FF,U+F900-FAFF,U+FE00-FE6F,U+FF00-FFEF,U+1F2??,U+2????}@font-face{font-family:system-ui-ja;src:local("HiraKakuProN-W3"),local("Hiragino Kaku Gothic ProN W3"),local("HiraginoSans-W5"),local("Source Han Sans JP Medium"),local("SourceHanSansJP-Medium"),local("Source Han Sans J Medium"),local("SourceHanSansJ-Medium"),local("Noto Sans CJK JP Medium"),local("NotoSansCJKJP-Medium"),local("Source Han Sans Medium"),local("SourceHanSans-Medium"),local("Yu Gothic Medium"),local("YuGothic Medium"),local("Droid Sans Japanese"),local("Meiryo"),local("MS PGothic");font-weight:500;unicode-range:U+11??,U+2E80-4DBF,U+4E00-9FFF,U+A960-A97F,U+AC00-D7FF,U+F900-FAFF,U+FE00-FE6F,U+FF00-FFEF,U+1F2??,U+2????}@font-face{font-family:system-ui-ja;src:local("HiraKakuProN-W6"),local("Hiragino Kaku Gothic ProN W6"),local("HiraginoSans-W6"),local("Source Han Sans JP Bold"),local("SourceHanSansJP-Bold"),local("Source Han Sans J Bold"),local("SourceHanSansJ-Bold"),local("Noto Sans CJK JP Bold"),local("NotoSansCJKJP-Bold"),local("Source Han Sans Bold"),local("SourceHanSans-Bold"),local("Yu Gothic Bold"),local("YuGothic Bold"),local("Droid Sans Japanese"),local("Meiryo Bold"),local("MS PGothic");font-weight:600;unicode-range:U+11??,U+2E80-4DBF,U+4E00-9FFF,U+A960-A97F,U+AC00-D7FF,U+F900-FAFF,U+FE00-FE6F,U+FF00-FFEF,U+1F2??,U+2????}@font-face{font-family:system-ui-ja;src:local("HelveticaNeue");unicode-range:U+A0}@supports not (-webkit-hyphens: none){@font-face{font-family:system-ui-ja;src:local("HelveticaNeue");unicode-range:U+20}}@font-face{font-family:system-ui-zh-cn;src:local("PingFangSC-Light"),local("Source Han Sans CN Light"),local("SourceHanSansCN-Light"),local("Source Han Sans SC Light"),local("SourceHanSansSC-Light"),local("Noto Sans CJK SC Light"),local("NotoSansCJKSC-Light"),local("HiraginoSansGB-W3"),local("Hiragino Sans GB W3"),local("Microsoft YaHei Light"),local("Heiti SC Light"),local("SimHei");font-weight:300;unicode-range:U+11??,U+2E80-4DBF,U+4E00-9FFF,U+A960-A97F,U+AC00-D7FF,U+F900-FAFF,U+FE00-FE6F,U+FF00-FFEF,U+1F2??,U+2????}@font-face{font-family:system-ui-zh-cn;src:local("PingFangSC-Regular"),local("Source Han Sans CN Regular"),local("SourceHanSansCN-Regular"),local("Source Han Sans SC Regular"),local("SourceHanSansSC-Regular"),local("Noto Sans CJK SC Regular"),local("NotoSansCJKSC-Regular"),local("HiraginoSansGB-W3"),local("Hiragino Sans GB W3"),local("Microsoft YaHei"),local("Heiti SC Light"),local("SimHei");font-weight:400;unicode-range:U+11??,U+2E80-4DBF,U+4E00-9FFF,U+A960-A97F,U+AC00-D7FF,U+F900-FAFF,U+FE00-FE6F,U+FF00-FFEF,U+1F2??,U+2????}@font-face{font-family:system-ui-zh-cn;src:local("PingFangSC-Medium"),local("Source Han Sans CN Medium"),local("SourceHanSansCN-Medium"),local("Source Han Sans SC Medium"),local("SourceHanSansSC-Medium"),local("Noto Sans CJK SC Medium"),local("NotoSansCJKSC-Medium"),local("HiraginoSansGB-W3"),local("Hiragino Sans GB W3"),local("Microsoft YaHei"),local("Heiti SC Light"),local("SimHei");font-weight:500;unicode-range:U+11??,U+2E80-4DBF,U+4E00-9FFF,U+A960-A97F,U+AC00-D7FF,U+F900-FAFF,U+FE00-FE6F,U+FF00-FFEF,U+1F2??,U+2????}@font-face{font-family:system-ui-zh-cn;src:local("PingFangSC-Semibold"),local("Source Han Sans CN Bold"),local("SourceHanSansCN-Bold"),local("Source Han Sans SC Bold"),local("SourceHanSansSC-Bold"),local("Noto Sans CJK SC Bold"),local("NotoSansCJKSC-Bold"),local("HiraginoSansGB-W6"),local("Hiragino Sans GB W6"),local("Microsoft YaHei Bold"),local("Heiti SC Medium"),local("SimHei");font-weight:600;unicode-range:U+11??,U+2E80-4DBF,U+4E00-9FFF,U+A960-A97F,U+AC00-D7FF,U+F900-FAFF,U+FE00-FE6F,U+FF00-FFEF,U+1F2??,U+2????}@font-face{font-family:system-ui-zh-cn;src:local("HelveticaNeue");unicode-range:U+A0}@supports not (-webkit-hyphens: none){@font-face{font-family:system-ui-zh-cn;src:local("HelveticaNeue");unicode-range:U+20}}@font-face{font-family:system-ui-zh-tw;src:local("PingFangTC-Light"),local("Source Han Sans TW Light"),local("SourceHanSansTW-Light"),local("Source Han Sans TC Light"),local("SourceHanSansTC-Light"),local("Noto Sans CJK TC Light"),local("NotoSansCJKTC-Light"),local("HiraginoSansTC-W3"),local("Hiragino Sans TC W3"),local("Microsoft JhengHei Light"),local("Heiti TC Light"),local("PMingLiU");font-weight:300;unicode-range:U+11??,U+2E80-4DBF,U+4E00-9FFF,U+A960-A97F,U+AC00-D7FF,U+F900-FAFF,U+FE00-FE6F,U+FF00-FFEF,U+1F2??,U+2????}@font-face{font-family:system-ui-zh-tw;src:local("PingFangTC-Regular"),local("Source Han Sans TW Regular"),local("SourceHanSansTW-Regular"),local("Source Han Sans TC Regular"),local("SourceHanSansTC-Regular"),local("Noto Sans CJK TC Regular"),local("NotoSansCJKTC-Regular"),local("HiraginoSansTC-W3"),local("Hiragino Sans TC W3"),local("Microsoft JhengHei"),local("Heiti TC Light"),local("PMingLiU");font-weight:400;unicode-range:U+11??,U+2E80-4DBF,U+4E00-9FFF,U+A960-A97F,U+AC00-D7FF,U+F900-FAFF,U+FE00-FE6F,U+FF00-FFEF,U+1F2??,U+2????}@font-face{font-family:system-ui-zh-tw;src:local("PingFangTC-Medium"),local("Source Han Sans TW Medium"),local("SourceHanSansTW-Medium"),local("Source Han Sans TC Medium"),local("SourceHanSansTC-Medium"),local("Noto Sans CJK TC Medium"),local("NotoSansCJKTC-Medium"),local("HiraginoSansTC-W3"),local("Hiragino Sans TC W3"),local("Microsoft JhengHei"),local("Heiti TC Light"),local("PMingLiU");font-weight:500;unicode-range:U+11??,U+2E80-4DBF,U+4E00-9FFF,U+A960-A97F,U+AC00-D7FF,U+F900-FAFF,U+FE00-FE6F,U+FF00-FFEF,U+1F2??,U+2????}@font-face{font-family:system-ui-zh-tw;src:local("PingFangTC-Semibold"),local("Source Han Sans TW Bold"),local("SourceHanSansTW-Bold"),local("Source Han Sans TC Bold"),local("SourceHanSansTC-Bold"),local("Noto Sans CJK TC Bold"),local("NotoSansCJKTC-Bold"),local("HiraginoSansTC-W6"),local("Hiragino Sans TC W6"),local("Microsoft JhengHei Bold"),local("Heiti TC Medium"),local("PMingLiU");font-weight:600;unicode-range:U+11??,U+2E80-4DBF,U+4E00-9FFF,U+A960-A97F,U+AC00-D7FF,U+F900-FAFF,U+FE00-FE6F,U+FF00-FFEF,U+1F2??,U+2????}@font-face{font-family:system-ui-zh-tw;src:local("HelveticaNeue");unicode-range:U+A0}@supports not (-webkit-hyphens: none){@font-face{font-family:system-ui-zh-tw;src:local("HelveticaNeue");unicode-range:U+20}}@font-face{font-family:system-ui-zh-hk;src:local("PingFangHK-Light"),local("Source Han Sans HK Light"),local("SourceHanSansHK-Light"),local("Source Han Sans HC Light"),local("SourceHanSansHC-Light"),local("Noto Sans CJK HK Light"),local("NotoSansCJKHK-Light"),local("Source Han Sans TC Light"),local("SourceHanSansTC-Light"),local("Noto Sans CJK TC Light"),local("NotoSansCJKTC-Light"),local("HiraginoSansTC-W3"),local("Hiragino Sans TC W3"),local("Microsoft JhengHei Light"),local("Heiti TC Light"),local("PMingLiU_HKSCS"),local("PMingLiU");font-weight:300;unicode-range:U+11??,U+2E80-4DBF,U+4E00-9FFF,U+A960-A97F,U+AC00-D7FF,U+F900-FAFF,U+FE00-FE6F,U+FF00-FFEF,U+1F2??,U+2????}@font-face{font-family:system-ui-zh-hk;src:local("PingFangHK-Regular"),local("Source Han Sans HK Regular"),local("SourceHanSansHK-Regular"),local("Source Han Sans HC Regular"),local("SourceHanSansHC-Regular"),local("Noto Sans CJK HK Regular"),local("NotoSansCJKHK-Regular"),local("Source Han Sans TC Regular"),local("SourceHanSansTC-Regular"),local("Noto Sans CJK TC Regular"),local("NotoSansCJKTC-Regular"),local("HiraginoSansTC-W3"),local("Hiragino Sans TC W3"),local("Microsoft JhengHei"),local("Heiti TC Light"),local("PMingLiU_HKSCS"),local("PMingLiU");font-weight:400;unicode-range:U+11??,U+2E80-4DBF,U+4E00-9FFF,U+A960-A97F,U+AC00-D7FF,U+F900-FAFF,U+FE00-FE6F,U+FF00-FFEF,U+1F2??,U+2????}@font-face{font-family:system-ui-zh-hk;src:local("PingFangHK-Medium"),local("Source Han Sans HK Medium"),local("SourceHanSansHK-Medium"),local("Source Han Sans HC Medium"),local("SourceHanSansHC-Medium"),local("Noto Sans CJK HK Medium"),local("NotoSansCJKHK-Medium"),local("Source Han Sans TC Medium"),local("SourceHanSansTC-Medium"),local("Noto Sans CJK TC Medium"),local("NotoSansCJKTC-Medium"),local("HiraginoSansTC-W3"),local("Hiragino Sans TC W3"),local("Microsoft JhengHei"),local("Heiti TC Light"),local("PMingLiU_HKSCS"),local("PMingLiU");font-weight:500;unicode-range:U+11??,U+2E80-4DBF,U+4E00-9FFF,U+A960-A97F,U+AC00-D7FF,U+F900-FAFF,U+FE00-FE6F,U+FF00-FFEF,U+1F2??,U+2????}@font-face{font-family:system-ui-zh-hk;src:local("PingFangHK-Semibold"),local("Source Han Sans HK Bold"),local("SourceHanSansHK-Bold"),local("Source Han Sans HC Bold"),local("SourceHanSansHC-Bold"),local("Noto Sans CJK HK Bold"),local("NotoSansCJKHK-Bold"),local("Source Han Sans TC Bold"),local("SourceHanSansTC-Bold"),local("Noto Sans CJK TC Bold"),local("NotoSansCJKTC-Bold"),local("HiraginoSansTC-W6"),local("Hiragino Sans TC W6"),local("Microsoft JhengHei Bold"),local("Heiti TC Medium"),local("PMingLiU_HKSCS"),local("PMingLiU");font-weight:600;unicode-range:U+11??,U+2E80-4DBF,U+4E00-9FFF,U+A960-A97F,U+AC00-D7FF,U+F900-FAFF,U+FE00-FE6F,U+FF00-FFEF,U+1F2??,U+2????}@font-face{font-family:system-ui-zh-hk;src:local("HelveticaNeue");unicode-range:U+A0}@supports not (-webkit-hyphens: none){@font-face{font-family:system-ui-zh-hk;src:local("HelveticaNeue");unicode-range:U+20}}@font-face{font-family:system-ui-ko;src:local("AppleSDGothicNeo-Light"),local("Source Han Sans KR Light"),local("SourceHanSansKR-Light"),local("Source Han Sans K Light"),local("SourceHanSansK-Light"),local("Noto Sans CJK KR Light"),local("NotoSansCJKKR-Light"),local("NanumBarunGothic Light"),local("Malgun Gothic Semilight"),local("Nanum Gothic"),local("Dotum");font-weight:300;unicode-range:U+11??,U+2E80-4DBF,U+4E00-9FFF,U+A960-A97F,U+AC00-D7FF,U+F900-FAFF,U+FE00-FE6F,U+FF00-FFEF,U+1F2??,U+2????}@font-face{font-family:system-ui-ko;src:local("AppleSDGothicNeo-Regular"),local("Source Han Sans KR Regular"),local("SourceHanSansKR-Regular"),local("Source Han Sans K Regular"),local("SourceHanSansK-Regular"),local("Noto Sans CJK KR Regular"),local("NotoSansCJKKR-Regular"),local("NanumBarunGothic"),local("Malgun Gothic"),local("Nanum Gothic"),local("Dotum");font-weight:400;unicode-range:U+11??,U+2E80-4DBF,U+4E00-9FFF,U+A960-A97F,U+AC00-D7FF,U+F900-FAFF,U+FE00-FE6F,U+FF00-FFEF,U+1F2??,U+2????}@font-face{font-family:system-ui-ko;src:local("AppleSDGothicNeo-Medium"),local("Source Han Sans KR Medium"),local("SourceHanSansKR-Medium"),local("Source Han Sans K Medium"),local("SourceHanSansK-Medium"),local("Noto Sans CJK KR Medium"),local("NotoSansCJKKR-Medium"),local("NanumBarunGothic"),local("Malgun Gothic"),local("Nanum Gothic"),local("Dotum");font-weight:500;unicode-range:U+11??,U+2E80-4DBF,U+4E00-9FFF,U+A960-A97F,U+AC00-D7FF,U+F900-FAFF,U+FE00-FE6F,U+FF00-FFEF,U+1F2??,U+2????}@font-face{font-family:system-ui-ko;src:local("AppleSDGothicNeo-SemiBold"),local("Source Han Sans KR Bold"),local("SourceHanSansKR-Bold"),local("Source Han Sans K Bold"),local("SourceHanSansK-Bold"),local("Noto Sans CJK KR Bold"),local("NotoSansCJKKR-Bold"),local("NanumBarunGothic Bold"),local("Malgun Gothic Bold"),local("Nanum Gothic Bold"),local("Dotum");font-weight:600;unicode-range:U+11??,U+2E80-4DBF,U+4E00-9FFF,U+A960-A97F,U+AC00-D7FF,U+F900-FAFF,U+FE00-FE6F,U+FF00-FFEF,U+1F2??,U+2????}@font-face{font-family:system-ui-ko;src:local("HelveticaNeue");unicode-range:U+A0}@supports not (-webkit-hyphens: none){@font-face{font-family:system-ui-ko;src:local("HelveticaNeue");unicode-range:U+20}}:root{--fonts-proportional: -apple-system, "Segoe UI", system-ui, Roboto, "Helvetica Neue", Arial;--fonts-monospace: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace, var(--fonts-emoji);--fonts-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Twemoji Mozilla";--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-default: normal;--checkbox-mask-checked: url('data:image/svg+xml;utf8,');--checkbox-mask-indeterminate: url('data:image/svg+xml;utf8,');--octicon-chevron-right: url('data:image/svg+xml;utf8,');--border-radius: 4px;--border-radius-medium: 6px;--border-radius-full: 99999px;--opacity-disabled: .55;--height-loading: 16rem;--min-height-textarea: 132px;--tab-size: 4;--checkbox-size: 15px;--page-spacing: 16px;--page-margin-x: 32px}@media (min-width: 768px) and (max-width: 1200px){:root{--page-margin-x: 16px}}@media (max-width: 767.98px){:root{--page-margin-x: 8px}}:root *{--fonts-regular: var(--fonts-override, var(--fonts-proportional)), "Noto Sans", "Liberation Sans", sans-serif, var(--fonts-emoji)}*,:before,:after{border-width:0;border-style:solid;border-color:currentcolor}html,body{height:100%;font-size:14px}body{line-height:20px;font-family:var(--fonts-regular);color:var(--color-text);background-color:var(--color-body);tab-size:var(--tab-size);display:flex;flex-direction:column;overflow-x:visible;overflow-wrap:break-word}textarea{font-family:var(--fonts-regular)}pre,code,kbd,samp{font-family:var(--fonts-monospace)}pre,code,kbd,samp,.tw-font-mono{font-size:.95em}b,strong,h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold)}h1,h2,h3,h4,h5{line-height:1.28571429;margin:calc(2rem - .1428571428571429em) 0 1rem;font-weight:var(--font-weight-medium);padding:0}h1{min-height:1rem;font-size:2rem}h2{font-size:1.71428571rem}h3{font-size:1.28571429rem}h4{font-size:1.07142857rem}h5{font-size:1rem}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child{margin-top:0}h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child{margin-bottom:0}p{margin:0 0 1em;line-height:1.4285}p:first-child{margin-top:0}p:last-child{margin-bottom:0}table{border-collapse:collapse}button{cursor:pointer}details summary{cursor:pointer}details summary>*{display:inline}progress{background:var(--color-secondary-dark-1);border-radius:var(--border-radius);border:none;overflow:hidden}progress::-webkit-progress-bar{background:var(--color-secondary-dark-1)}progress::-webkit-progress-value{background-color:var(--color-accent)}progress::-moz-progress-bar{background-color:var(--color-accent)}*{caret-color:var(--color-caret)}::file-selector-button{border:1px solid var(--color-light-border);color:var(--color-text-light);background:var(--color-light);border-radius:var(--border-radius)}::file-selector-button:hover{color:var(--color-text);background:var(--color-hover)}::selection{background:var(--color-primary-light-1);color:var(--color-white)}::placeholder,.ui.dropdown:not(.button)>.default.text,.ui.default.dropdown:not(.button)>.text{color:var(--color-placeholder-text)!important;opacity:1!important}.unselectable,.button,.lines-num,.lines-commit,.lines-commit .blame-info,.ellipsis-button{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}a{color:var(--color-primary);cursor:pointer;text-decoration-line:none;text-decoration-skip-ink:all}a:hover{text-decoration-line:underline}a.muted,a.suppressed,a.silenced,.muted-links a{color:inherit}a:hover,a.suppressed:hover,a.muted:hover,a.muted:hover [class*=color-text],.muted-links a:hover{color:var(--color-primary)}a.silenced:hover,a.suppressed:hover{color:inherit}a.silenced:hover{text-decoration-line:none}a.label,.ui.search .results a,.ui .menu a,.ui.cards a.card,.issue-keyword a{text-decoration-line:none!important}.ui.search>.results{background:var(--color-body);border-color:var(--color-secondary);overflow-wrap:anywhere}.ui.search>.results .result{background:var(--color-body);border-color:var(--color-secondary);display:flex;align-items:center}.ui.search>.results .result .title{color:var(--color-text-dark)}.ui.search>.results .result .description{color:var(--color-text-light-2)}.ui.search>.results .result .image{width:auto;height:auto}.ui.search>.results .result:hover,.ui.category.search>.results .category .result:hover{background:var(--color-hover)}.inline-code-block{padding:2px 4px;border-radius:.24em;background-color:var(--color-label-bg)}.ui.menu .dropdown.item:hover,.ui.menu a.item:hover,.ui.menu details.item summary:hover{color:var(--color-text);background:var(--color-hover)}.ui.ui.menu .dropdown.item.disabled{color:var(--color-text-light-2)}.ui.dropdown .menu{background:var(--color-menu);border-color:var(--color-secondary)}.ui.dropdown .menu>.header:not(.ui){color:var(--color-text)}.ui.dropdown .menu>.item{color:var(--color-text)}.ui.dropdown .menu>.item:hover{color:var(--color-text);background:var(--color-hover)}.ui.dropdown .menu>.item:active{color:var(--color-text);background:var(--color-active)}.ui.dropdown .menu .active.item{color:var(--color-text);background:var(--color-active);border-radius:0;font-weight:var(--font-weight-normal)}.ui.dropdown .menu>.item>img{margin-top:-.25rem;margin-bottom:-.25rem}.ui.dropdown .menu>.item>svg{margin-right:.78rem}.ui.selection.dropdown .menu>.item{border-color:var(--color-secondary)}.ui.selection.visible.dropdown>.text:not(.default){color:var(--color-text)}.ui.dropdown.selected,.ui.dropdown .menu .selected.item{color:var(--color-text);background:var(--color-hover)}.ui.dropdown .menu>.message:not(.ui){color:var(--color-text-light-2)}.ui.dropdown>.text>.img{margin-left:0;float:none;margin-right:.78571429rem}.ui.dropdown>.text>.description,.ui.dropdown .menu>.item>.description{color:var(--color-text-light-2)}.ui.form textarea:not([rows]){height:var(--min-height-textarea);min-height:var(--min-height-textarea)}.hidden.transition{visibility:hidden;display:none}.visible.transition{display:block!important;visibility:visible!important}.ui.selection.active.dropdown,.ui.selection.active.dropdown:hover,.ui.selection.active.dropdown .menu,.ui.selection.active.dropdown:hover .menu{border-color:var(--color-primary)}.ui.pointing.dropdown>.menu:not(.hidden):after{background:var(--color-menu);box-shadow:-1px -1px 0 0 var(--color-secondary)}.ui.pointing.upward.dropdown .menu:after,.ui.top.pointing.upward.dropdown .menu:after{box-shadow:1px 1px 0 0 var(--color-secondary)}.ui.comments .comment .text{margin:0}.ui.comments .comment .text,.ui.comments .comment .author{color:var(--color-text)}.ui.comments .comment a.author:hover{color:var(--color-primary)}.ui.comments .comment .metadata{color:var(--color-text-light-2)}.ui.comments .comment .actions a{color:var(--color-text-light)}.ui.comments .comment .actions a.active,.ui.comments .comment .actions a:hover{color:var(--color-primary)}img.ui.avatar,.ui.avatar img,.ui.avatar svg{border-radius:var(--border-radius);object-fit:contain;aspect-ratio:1}.ui.error.message .header,.ui.warning.message .header{color:inherit;filter:saturate(2)}.full.height{flex-grow:1;padding-bottom:80px}.page-content>:first-child.secondary-nav{margin-bottom:14px}.page-content>:first-child:not(.secondary-nav){margin-top:var(--page-spacing)}.page-content>:first-child.ui.grid{margin-top:calc(var(--page-spacing) - 1rem)}.ui.form .fields.error .field textarea,.ui.form .fields.error .field select,.ui.form .fields.error .field input:not([type]),.ui.form .fields.error .field input[type=date],.ui.form .fields.error .field input[type=datetime-local],.ui.form .fields.error .field input[type=email],.ui.form .fields.error .field input[type=number],.ui.form .fields.error .field input[type=password],.ui.form .fields.error .field input[type=search],.ui.form .fields.error .field input[type=tel],.ui.form .fields.error .field input[type=time],.ui.form .fields.error .field input[type=text],.ui.form .fields.error .field input[type=file],.ui.form .fields.error .field input[type=url],.ui.form .fields.error .field .ui.dropdown,.ui.form .fields.error .field .ui.dropdown .item,.ui.form .field.error .ui.dropdown,.ui.form .field.error .ui.dropdown .text,.ui.form .field.error .ui.dropdown .item,.ui.form .field.error textarea,.ui.form .field.error select,.ui.form .field.error input:not([type]),.ui.form .field.error input[type=date],.ui.form .field.error input[type=datetime-local],.ui.form .field.error input[type=email],.ui.form .field.error input[type=number],.ui.form .field.error input[type=password],.ui.form .field.error input[type=search],.ui.form .field.error input[type=tel],.ui.form .field.error input[type=time],.ui.form .field.error input[type=text],.ui.form .field.error input[type=file],.ui.form .field.error input[type=url],.ui.form .field.error select:focus,.ui.form .field.error input:not([type]):focus,.ui.form .field.error input[type=date]:focus,.ui.form .field.error input[type=datetime-local]:focus,.ui.form .field.error input[type=email]:focus,.ui.form .field.error input[type=number]:focus,.ui.form .field.error input[type=password]:focus,.ui.form .field.error input[type=search]:focus,.ui.form .field.error input[type=tel]:focus,.ui.form .field.error input[type=time]:focus,.ui.form .field.error input[type=text]:focus,.ui.form .field.error input[type=file]:focus,.ui.form .field.error input[type=url]:focus{background-color:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error-text)}.ui.form .fields.error .field .ui.dropdown,.ui.form .field.error .ui.dropdown,.ui.form .fields.error .field .ui.dropdown:hover,.ui.form .field.error .ui.dropdown:hover{border-color:var(--color-error-border)!important}.ui.form .fields.error .field .ui.dropdown .menu .item:hover,.ui.form .field.error .ui.dropdown .menu .item:hover{background-color:var(--color-error-bg-hover)}.ui.form .fields.error .field .ui.dropdown .menu .active.item,.ui.form .field.error .ui.dropdown .menu .active.item{background-color:var(--color-error-bg-active)!important}.ui.form .fields.error .dropdown .menu,.ui.form .field.error .dropdown .menu{border-color:var(--color-error-border)!important}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover,input:-webkit-autofill:active,.ui.form .field.field input:-webkit-autofill,.ui.form .field.field input:-webkit-autofill:focus,.ui.form .field.field input:-webkit-autofill:hover,.ui.form .field.field input:-webkit-autofill:active{-webkit-background-clip:text;-webkit-text-fill-color:var(--color-text);box-shadow:0 0 0 100px var(--color-primary-light-6) inset!important;border-color:var(--color-primary-light-4)!important}.ui.form .field.muted{opacity:var(--opacity-disabled)}.text.primary{color:var(--color-primary)!important}.text.red{color:var(--color-red)!important}.text.orange{color:var(--color-orange)!important}.text.yellow{color:var(--color-yellow)!important}.text.olive{color:var(--color-olive)!important}.text.green{color:var(--color-green)!important}.text.teal{color:var(--color-teal)!important}.text.blue{color:var(--color-blue)!important}.text.violet{color:var(--color-violet)!important}.text.purple{color:var(--color-purple)!important}.text.pink{color:var(--color-pink)!important}.text.brown{color:var(--color-brown)!important}.text.black{color:var(--color-text)!important}.text.grey,.text.light{color:var(--color-text-light)!important}.text.light-2{color:var(--color-text-light-2)!important}.text.light-3{color:var(--color-text-light-3)!important}.text.light.grey{color:var(--color-grey-light)!important}.text.gold{color:var(--color-gold)!important}.text.small{font-size:.75em}.ui.dropdown .menu,.ui.upward.dropdown>.menu,.ui.menu .dropdown.item .menu,.ui.selection.active.dropdown .menu,.ui.upward.selection.dropdown .menu,.ui.selection.active.dropdown:hover .menu,.ui.upward.active.selection.dropdown:hover .menu{box-shadow:0 6px 18px var(--color-shadow)}.ui.floating.dropdown .menu{box-shadow:0 6px 18px var(--color-shadow)!important}.ui.dimmer{background:var(--color-overlay-backdrop)}.ui.dropdown .menu>.header{font-size:.8em}.ui .text.left{text-align:left!important}.ui .text.right{text-align:right!important}.ui .text.truncate{overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.ui .message.flash-message{text-align:center}.ui .message>ul{margin-left:auto;margin-right:auto;display:table;text-align:left}.ui .header>i+.content{padding-left:.75rem;vertical-align:middle}.ui .form .autofill-dummy{position:absolute;width:1px;height:1px;overflow:hidden;z-index:-10000}.ui .form .sub.field{margin-left:25px}.ui .sha.label{font-family:var(--fonts-monospace);font-size:13px;font-weight:var(--font-weight-normal);margin:0 6px;padding:5px 10px;flex-shrink:0}.ui .sha.label .shortsha{display:inline-block}.ui .button.truncate{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:top;white-space:nowrap;margin-right:6px}.ui.status.buttons .svg{margin-right:4px}.ui.inline.delete-button{padding:8px 15px;font-weight:var(--font-weight-normal)}.ui .background.red{background-color:var(--color-red)!important}.ui .background.blue{background-color:var(--color-blue)!important}.ui .background.black{background-color:var(--color-black)!important}.ui .background.grey,.ui .background.light.grey{background-color:var(--color-grey)!important}.ui .background.green{background-color:var(--color-green)!important}.ui .background.purple{background-color:var(--color-purple)!important}.ui .background.yellow{background-color:var(--color-yellow)!important}.ui .background.orange{background-color:var(--color-orange)!important}.ui .background.gold{background-color:var(--color-gold)!important}.ui .migrate{color:var(--color-text-light-2)!important}.ui .migrate a{color:var(--color-text-light)!important}.ui .migrate a:hover{color:var(--color-text)!important}.ui .border{border:1px solid}.ui .border.red{border-color:var(--color-red)!important}.ui .border.blue{border-color:var(--color-blue)!important}.ui .border.black{border-color:var(--color-black)!important}.ui .border.grey,.ui .border.light.grey{border-color:var(--color-grey)!important}.ui .border.green{border-color:var(--color-green)!important}.ui .border.purple{border-color:var(--color-purple)!important}.ui .border.yellow{border-color:var(--color-yellow)!important}.ui .border.orange{border-color:var(--color-orange)!important}.ui .border.gold{border-color:var(--color-gold)!important}.ui.floating.dropdown .overflow.menu .scrolling.menu.items{border-radius:0!important;box-shadow:none!important;border-bottom:1px solid var(--color-secondary)}.user-menu>.item{width:100%;border-radius:0!important}.scrolling.menu .item.selected{font-weight:var(--font-weight-semibold)!important}.ui.dropdown .scrolling.menu{border-color:var(--color-secondary);border-radius:0 0 var(--border-radius) var(--border-radius)!important}.color-preview{display:inline-block;margin-left:.4em;height:.67em;width:.67em;border-radius:var(--border-radius)}.attention-icon{margin:2px 6px 0 0}blockquote.attention-note{border-left-color:var(--color-blue-dark-1)}strong.attention-note,svg.attention-note{color:var(--color-blue-dark-1)}blockquote.attention-tip{border-left-color:var(--color-success-text)}strong.attention-tip,svg.attention-tip{color:var(--color-success-text)}blockquote.attention-important{border-left-color:var(--color-violet-dark-1)}strong.attention-important,svg.attention-important{color:var(--color-violet-dark-1)}blockquote.attention-warning{border-left-color:var(--color-warning-text)}strong.attention-warning,svg.attention-warning{color:var(--color-warning-text)}blockquote.attention-caution{border-left-color:var(--color-red-dark-1)}strong.attention-caution,svg.attention-caution{color:var(--color-red-dark-1)}.center:not(.popup){text-align:center}overflow-menu{border-bottom:1px solid var(--color-secondary)!important;display:flex}overflow-menu .overflow-menu-items{display:flex;flex:1}overflow-menu .overflow-menu-items .item{margin-bottom:0!important}overflow-menu .overflow-menu-items .item-flex-space{flex:1}overflow-menu .overflow-menu-button{background:transparent;border:none;color:inherit;text-align:center;width:32px;padding:0}overflow-menu .overflow-menu-button:hover{color:var(--color-text-dark)}overflow-menu .ui.label{margin-left:7px!important}.activity-bar-graph{background-color:var(--color-primary);color:var(--color-primary-contrast)}.activity-bar-graph-alt{color:var(--color-primary-contrast)}.archived-icon{color:var(--color-secondary-dark-2)!important}.oauth2-authorize-application-box{margin-top:3em!important}.inline-grouped-list{display:inline-block;vertical-align:top}.inline-grouped-list>.ui{display:block;margin-top:5px;margin-bottom:10px}.inline-grouped-list>.ui:first-child{margin-top:1px}.lines-blame-btn{padding:0 0 0 5px;display:flex;justify-content:center}.lines-num{padding:0 8px;text-align:right!important;color:var(--color-text-light-2);width:1%;min-width:72px;white-space:nowrap}.code-diff .lines-num{min-width:50px}.lines-num span.bottom-line:after{border-bottom:1px solid var(--color-secondary)}.lines-num span:after{content:attr(data-line-number);line-height:20px!important;padding:0 10px;display:block}.code-view .lines-num span:after{cursor:pointer}.lines-type-marker{vertical-align:top;white-space:nowrap}.lines-num,.lines-code{font-size:12px;font-family:var(--fonts-monospace);line-height:20px;padding-top:0;padding-bottom:0;vertical-align:top}.lines-num pre,.lines-code pre,.lines-num ol,.lines-code ol{background-color:inherit;margin:0;padding:0!important}.lines-num pre li,.lines-code pre li,.lines-num ol li,.lines-code ol li{display:block;width:calc(100% - 1ch);padding-left:1ch}.lines-escape{width:0;white-space:nowrap}.lines-code{padding-left:5px}.file-view tr.active{color:inherit!important;background:inherit!important}.file-view tr.active .lines-num,.file-view tr.active .lines-code{background:var(--color-highlight-bg)!important}.file-view tr.active:last-of-type .lines-code{border-bottom-right-radius:var(--border-radius)}.file-view tr.active .lines-num{position:relative}.file-view tr.active .lines-num:before{content:"";position:absolute;left:0;width:2px;height:100%;background:var(--color-highlight-fg)}.code-inner{font:12px var(--fonts-monospace);white-space:pre-wrap;word-break:break-all;overflow-wrap:anywhere;line-height:inherit}.blame .code-inner{white-space:pre-wrap;overflow-wrap:anywhere}.lines-commit{vertical-align:top;color:var(--color-text-light-1);padding:0!important;width:1%}.lines-commit .blame-info{width:min(26vw,300px);display:block;padding:0 0 0 6px;line-height:20px;box-sizing:content-box}.lines-commit .blame-info .blame-data{display:flex;font-family:var(--fonts-regular)}.lines-commit .blame-info .blame-data .blame-message{flex-grow:2;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.lines-commit .blame-info .blame-data .blame-time,.lines-commit .blame-info .blame-data .blame-avatar{flex-shrink:0}.blame-avatar{display:flex;align-items:center;margin-right:4px}.top-line-blame{border-top:1px solid var(--color-secondary)}.code-view tr.top-line-blame:first-of-type{border-top:none}.lines-code .bottom-line,.lines-commit .bottom-line{border-bottom:1px solid var(--color-secondary)}.code-view{background:var(--color-code-bg);border-radius:var(--border-radius)}.code-view table{width:100%}.migrate .svg.gitea-git{color:var(--color-git)}.color-icon{display:inline-block;border-radius:var(--border-radius-full);height:14px;width:14px}.rss-icon{display:inline-flex;color:var(--color-text-light-1)}table th[data-sortt-asc]:hover,table th[data-sortt-desc]:hover{background:var(--color-hover)!important;cursor:pointer!important}table th[data-sortt-asc] .svg,table th[data-sortt-desc] .svg{margin-left:.25rem}.ui.dropdown .menu .item{border-radius:0}.ui.dropdown .menu .item:first-of-type{border-radius:var(--border-radius) var(--border-radius) 0 0}.ui.dropdown .menu .item:last-of-type{border-radius:0 0 var(--border-radius) var(--border-radius)}.ui.multiple.dropdown>.label{box-shadow:0 0 0 1px var(--color-secondary) inset}.emoji{font-size:1.25em;line-height:var(--line-height-default);font-style:normal!important;font-weight:var(--font-weight-normal)!important;vertical-align:-.075em}.emoji img{border-width:0!important;margin:0!important;width:1em!important;height:1em!important;vertical-align:-.15em}.ui.tabular.menu .item,.ui.secondary.pointing.menu .item{padding:11.55px 12px!important;color:var(--color-text-light-2)}.ui.tabular.menu .item:hover,.ui.secondary.pointing.menu a.item:hover{color:var(--color-text)}.ui.tabular.menu .active.item,.ui.secondary.pointing.menu .active.item,.resize-for-semibold:before{font-weight:var(--font-weight-semibold)}.resize-for-semibold:before{content:attr(data-text);visibility:hidden;display:block;height:0}.flash-error details code,.flash-warning details code{display:block;text-align:left}.truncated-item-container{display:flex!important;align-items:center}.ellipsis-button{padding:0 5px 8px!important;display:inline-block!important;font-weight:var(--font-weight-semibold)!important;line-height:6px!important;vertical-align:middle!important}.truncated-item-name{line-height:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:-.5em;margin-bottom:-.5em}.precolors{display:flex;flex-direction:column;justify-content:center;margin-left:1em}.precolors .color{display:inline-block;width:15px;height:15px}.ui.dropdown:not(.button){line-height:var(--line-height-default)}.ui.dropdown.mini.button,.ui.dropdown.tiny.button{padding-right:20px}.ui.dropdown.button{padding-right:22px}.ui.dropdown.large.button{padding-right:24px}.ui.ui.dropdown>.icon.icon{position:initial;padding:0;margin:0;height:auto}.ui.ui.dropdown>.icon.icon:hover{opacity:1}.ui.ui.button.dropdown>.icon.icon,.ui.ui.selection.dropdown>.icon.icon{position:absolute;top:50%;transform:translateY(-50%)}.ui.ui.dropdown>.dropdown.icon{right:.5em}.ui.ui.dropdown>.remove.icon{right:2em}.btn,.ui.ui.button,.ui.ui.dropdown,.flex-text-inline{display:inline-flex;align-items:center;gap:.25rem;vertical-align:middle;min-width:0}.ui.ui.dropdown.selection{min-width:14em}.ui.dropdown .ui.label .svg{vertical-align:middle}.ui.ui.labeled.button{gap:0;align-items:stretch}.flex-items-block>.item,.flex-text-block{display:flex;align-items:center;gap:.25rem;min-width:0}.ui.dropdown .menu.flex-items-menu>.item{display:flex!important;align-items:center;gap:.5rem;min-width:0}.ui.dropdown.ellipsis-items-nowrap>.text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ellipsis-items-nowrap>.item,.ui.dropdown.ellipsis-items-nowrap .menu>.item{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.home .logo{max-width:220px}@media (max-width: 767.98px){.home .hero h1{font-size:3.5em}.home .hero h2{font-size:2em}}@media (min-width: 768px){.home .hero h1{font-size:5.5em}.home .hero h2{font-size:3em}}.home .hero .svg{color:var(--color-green);height:40px;width:50px;vertical-align:bottom}.home .hero.header{font-size:20px}.home p.large{font-size:16px}.home .stackable{padding-top:30px}.home a{color:var(--color-green)}.page-footer{display:flex;justify-content:space-between;background-color:var(--color-footer);border-top:1px solid var(--color-secondary);padding:8px 20px}.page-footer .left-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.25em}.page-footer .right-links{min-width:180px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center}.page-footer .right-links>a{border-left:1px solid var(--color-secondary-dark-1);padding-left:8px;margin-left:5px}.page-footer .ui.dropdown.language .menu{max-height:min(500px,calc(100vh - 60px));overflow-y:auto;margin-bottom:10px}@media (max-width: 880px){.page-footer{flex-direction:column;gap:.5em}}.page-content.install .install-config-container{max-width:900px;margin:auto}.page-content.install form.ui.form .inline.field>label{text-align:right;width:30%;padding-right:10px;margin-right:0}.page-content.install .ui.form .field>.help,.page-content.install .ui.form .field>.ui.checkbox:first-child,.page-content.install .ui.form .field>.right-content{margin-left:calc(30% + 5px);width:auto}.page-content.install form.ui.form input:not([type=checkbox],[type=radio]),.page-content.install form.ui.form .ui.selection.dropdown{width:60%}.page-content.install form.ui.form details.optional.field[open]{padding-bottom:10px}.page-content.install form.ui.form details.optional.field[open]:not(:last-child){border-bottom:1px dashed var(--color-secondary)}.page-content.install form.ui.form details.optional.field[open] summary{margin-bottom:10px}.page-content.install form.ui.form details.optional.field *{box-sizing:border-box}.page-content.install form.ui.form .field{text-align:left}.page-content.install .ui .reinstall-message{width:70%;margin:20px auto;color:var(--color-red);text-align:left;font-weight:var(--font-weight-semibold)}.page-content.install .ui .reinstall-confirm{width:70%;text-align:left;margin:10px auto}.ui.input textarea,.ui.form textarea,.ui.form input:not([type]),.ui.form input[type=date],.ui.form input[type=datetime-local],.ui.form input[type=email],.ui.form input[type=number],.ui.form input[type=password],.ui.form input[type=search],.ui.form input[type=tel],.ui.form input[type=time],.ui.form input[type=text],.ui.form input[type=file],.ui.form input[type=url]{transition:none}input,textarea,.ui.input>input,.ui.form input:not([type]),.ui.form select,.ui.form textarea,.ui.form input[type=date],.ui.form input[type=datetime-local],.ui.form input[type=email],.ui.form input[type=file],.ui.form input[type=number],.ui.form input[type=password],.ui.form input[type=search],.ui.form input[type=tel],.ui.form input[type=text],.ui.form input[type=time],.ui.form input[type=url],.ui.selection.dropdown{background:var(--color-input-background);border-color:var(--color-input-border);color:var(--color-input-text)}.ui.small.selection.dropdown{padding:.67857143em 1.6em .67857143em 1em}input:hover,textarea:hover,.ui.input input:hover,.ui.form input:not([type]):hover,.ui.form select:hover,.ui.form textarea:hover,.ui.form input[type=date]:hover,.ui.form input[type=datetime-local]:hover,.ui.form input[type=email]:hover,.ui.form input[type=file]:hover,.ui.form input[type=number]:hover,.ui.form input[type=password]:hover,.ui.form input[type=search]:hover,.ui.form input[type=tel]:hover,.ui.form input[type=text]:hover,.ui.form input[type=time]:hover,.ui.form input[type=url]:hover,.ui.selection.dropdown:hover{background:var(--color-input-background);border-color:var(--color-input-border-hover);color:var(--color-input-text)}input:focus,textarea:focus,.ui.input input:focus,.ui.form input:not([type]):focus,.ui.form select:focus,.ui.form textarea:focus,.ui.form input[type=date]:focus,.ui.form input[type=datetime-local]:focus,.ui.form input[type=email]:focus,.ui.form input[type=file]:focus,.ui.form input[type=number]:focus,.ui.form input[type=password]:focus,.ui.form input[type=search]:focus,.ui.form input[type=tel]:focus,.ui.form input[type=text]:focus,.ui.form input[type=time]:focus,.ui.form input[type=url]:focus,.ui.selection.dropdown:focus{background:var(--color-input-background);border-color:var(--color-primary);color:var(--color-input-text)}.ui.form .field>label,.ui.form .inline.fields>label,.ui.form .inline.fields .field>label,.ui.form .inline.fields .field>p,.ui.form .inline.field>label,.ui.form .inline.field>p{color:var(--color-text)}.ui.form .required.fields:not(.grouped)>.field>label:after,.ui.form .required.fields.grouped>label:after,.ui.form .required.field>label:after,.ui.form label.required:after{color:var(--color-red)}.ui.input{color:var(--color-input-text)}.ui.form select{padding:.67857143em 1em}.form .help{color:var(--color-secondary-dark-5);padding-bottom:.6em;display:inline-block}.m-captcha-style{width:100%;height:5em;vertical-align:middle;display:inline-block}@media (min-width: 768px){.g-recaptcha-style,.h-captcha-style{margin:0 auto!important;width:304px;padding-left:30px}.g-recaptcha-style iframe,.h-captcha-style iframe{border-radius:var(--border-radius)!important;width:302px!important;height:76px!important}.m-captcha-style{width:50%}}@media (max-height: 575px){#rc-imageselect,.g-recaptcha-style,.h-captcha-style{transform:scale(.77);transform-origin:0 0}}.user.forgot.password form,.user.reset.password form,.user.signup form{margin:auto;width:700px!important}.user.activate form .ui.message,.user.forgot.password form .ui.message,.user.reset.password form .ui.message,.user.link-account form .ui.message,.user.signin form .ui.message,.user.signup form .ui.message{text-align:center}@media (min-width: 768px){.user.activate form,.user.forgot.password form,.user.reset.password form,.user.link-account form,.user.signin form,.user.signup form{width:800px!important}.user.activate form .header,.user.forgot.password form .header,.user.reset.password form .header,.user.link-account form .header,.user.signin form .header,.user.signup form .header{padding-left:280px!important}.user.activate form .inline.field>label{text-align:right;width:250px!important;word-wrap:break-word}.user.activate form .help,.user.forgot.password form .help,.user.reset.password form .help,.user.link-account form .help,.user.signin form .help,.user.signup form .help{margin-left:265px!important}.user.activate form .optional .title,.user.forgot.password form .optional .title,.user.reset.password form .optional .title,.user.link-account form .optional .title,.user.signin form .optional .title,.user.signup form .optional .title{margin-left:250px!important}}@media (max-width: 767.98px){.user.activate form .optional .title,.user.forgot.password form .optional .title,.user.reset.password form .optional .title,.user.link-account form .optional .title,.user.signin form .optional .title,.user.signup form .optional .title{margin-left:15px}.user.activate form .inline.field>label,.user.forgot.password form .inline.field>label,.user.reset.password form .inline.field>label,.user.link-account form .inline.field>label,.user.signin form .inline.field>label,.user.signup form .inline.field>label{display:block}}.user.activate form .header,.user.forgot.password form .header,.user.reset.password form .header,.user.link-account form .header,.user.signin form .header,.user.signup form .header{padding-left:0!important;text-align:center}.user.activate form .inline.field>label,.user.forgot.password form .inline.field>label,.user.reset.password form .inline.field>label,.user.link-account form .inline.field>label,.user.signin form .inline.field>label,.user.signup form .inline.field>label{width:200px}@media (max-width: 767.98px){.user.activate form .inline.field>label,.user.forgot.password form .inline.field>label,.user.reset.password form .inline.field>label,.user.link-account form .inline.field>label,.user.signin form .inline.field>label,.user.signup form .inline.field>label{width:100%!important}}.user.activate form input[type=number],.user.forgot.password form input[type=number],.user.reset.password form input[type=number],.user.link-account form input[type=number],.user.signin form input[type=number],.user.signup form input[type=number]{-moz-appearance:textfield}.user.activate form input::-webkit-outer-spin-button,.user.forgot.password form input::-webkit-outer-spin-button,.user.reset.password form input::-webkit-outer-spin-button,.user.link-account form input::-webkit-outer-spin-button,.user.signin form input::-webkit-outer-spin-button,.user.signup form input::-webkit-outer-spin-button,.user.activate form input::-webkit-inner-spin-button,.user.forgot.password form input::-webkit-inner-spin-button,.user.reset.password form input::-webkit-inner-spin-button,.user.link-account form input::-webkit-inner-spin-button,.user.signin form input::-webkit-inner-spin-button,.user.signup form input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.repository.new.repo form,.repository.new.migrate form,.repository.new.fork form{margin:auto}.repository.new.repo form .ui.message,.repository.new.migrate form .ui.message,.repository.new.fork form .ui.message{text-align:center}@media (min-width: 768px){.repository.new.repo form,.repository.new.migrate form,.repository.new.fork form{width:800px!important}.repository.new.repo form .header,.repository.new.migrate form .header,.repository.new.fork form .header{padding-left:280px!important}.repository.new.repo form .inline.field>label,.repository.new.migrate form .inline.field>label,.repository.new.fork form .inline.field>label{text-align:right;width:250px!important;word-wrap:break-word}.repository.new.repo form .help,.repository.new.migrate form .help,.repository.new.fork form .help{margin-left:265px!important}.repository.new.repo form .optional .title,.repository.new.migrate form .optional .title,.repository.new.fork form .optional .title{margin-left:250px!important}.repository.new.repo form .inline.field>input,.repository.new.migrate form .inline.field>input,.repository.new.fork form .inline.field>input,.repository.new.repo form .inline.field>textarea,.repository.new.migrate form .inline.field>textarea,.repository.new.fork form .inline.field>textarea{width:50%}}@media (max-width: 767.98px){.repository.new.repo form .optional .title,.repository.new.migrate form .optional .title,.repository.new.fork form .optional .title{margin-left:15px}.repository.new.repo form .inline.field>label,.repository.new.migrate form .inline.field>label,.repository.new.fork form .inline.field>label{display:block}}.repository.new.repo form .dropdown .text,.repository.new.migrate form .dropdown .text,.repository.new.fork form .dropdown .text{margin-right:0!important}.repository.new.repo form .header,.repository.new.migrate form .header,.repository.new.fork form .header{padding-left:0!important;text-align:center}.repository.new.repo form .selection.dropdown,.repository.new.migrate form .selection.dropdown,.repository.new.fork form .selection.dropdown,.repository.new.fork form .field a{vertical-align:middle;width:50%!important}@media (max-width: 767.98px){.repository.new.repo form label,.repository.new.migrate form label,.repository.new.fork form label,.repository.new.repo form .inline.field>input,.repository.new.migrate form .inline.field>input,.repository.new.fork form .inline.field>input,.repository.new.fork form .field a,.repository.new.repo form .selection.dropdown,.repository.new.migrate form .selection.dropdown,.repository.new.fork form .selection.dropdown{width:100%!important}.repository.new.repo form .field button,.repository.new.migrate form .field button,.repository.new.fork form .field button,.repository.new.repo form .field a,.repository.new.migrate form .field a{margin-bottom:1em;width:100%}}@media (min-width: 768px){.repository.new.repo .ui.form #auto-init{margin-left:265px!important}}.repository.new.repo .ui.form .selection.dropdown:not(.owner){width:50%!important}@media (max-width: 767.98px){.repository.new.repo .ui.form .selection.dropdown:not(.owner){width:100%!important}}.ui.form .field>.selection.dropdown{min-width:14em}.new.webhook form .help{margin-left:25px}.new.webhook .events.fields .column{padding-left:40px}.githook textarea{font-family:var(--fonts-monospace)}@media (max-width: 767.98px){.new.org .ui.form .field button,.new.org .ui.form .field a{margin-bottom:1em;width:100%}.new.org .ui.form .field input{width:100%!important}}.repository .data-table .line-num,.repository .diff-file-box .file-body.file-code .lines-num,.repository .diff-file-box .code-diff tbody tr .lines-type-marker{user-select:none}.repository .owner.dropdown{min-width:40%!important}.repository .unicode-escaped .escaped-code-point[data-escaped]:before{visibility:visible;content:attr(data-escaped);font-family:var(--fonts-monospace);color:var(--color-red)}.repository .unicode-escaped .escaped-code-point .char{display:none}.repository .broken-code-point{font-family:var(--fonts-monospace);color:var(--color-blue)}.repository .unicode-escaped .ambiguous-code-point{border:1px var(--color-yellow) solid}.issue-content{display:flex;align-items:flex-start;gap:16px}@media (max-width: 767.98px){.issue-content{flex-direction:column}}.issue-content-left{margin:0!important;width:calc(100% - 316px)}.issue-content-right{margin:0!important;width:300px}.issue-content-right .dropdown>.menu{max-width:270px;min-width:0}@media (max-width: 767.98px){.issue-content-left,.issue-content-right{width:100%}}.repository .issue-content-right .ui.list .dependency{padding:0;white-space:nowrap}.repository .issue-content-right .ui.list .title{overflow:hidden;text-overflow:ellipsis}.repository .issue-content-right #deadlineForm input{width:12.8rem;border-radius:var(--border-radius) 0 0 var(--border-radius);border-right:0;white-space:nowrap}.repository .issue-content-right .filter.menu{max-height:500px;overflow-x:auto}.repository .filter.menu.labels .label-filter .menu .info{display:inline-block;padding:.5rem 0;font-size:12px;width:100%;white-space:nowrap;margin-left:10px;margin-right:8px;text-align:left}.repository .filter.menu.labels .label-filter .menu .info code{border:1px solid var(--color-secondary);border-radius:var(--border-radius);padding:1px 2px;font-size:11px}.repository .filter.menu .ui.dropdown .menu{max-height:500px;max-width:300px;overflow-x:hidden;right:0;left:auto}.repository .filter.menu .ui.dropdown.label-filter .menu{min-width:max-content;right:unset;left:0}.repository .select-label .desc{padding-left:23px}.repository .ui.tabs.container .ui.menu:not(.secondary.pointing){border-bottom:0}.repository .ui.tabs.divider{margin-top:-1px;margin-bottom:12px}.repository .clone-panel{display:flex;flex:1}.repository.wiki .clone-panel{flex:0}.repository.wiki .clone-panel input{width:20ch}.repository .clone-panel #repo-clone-url{border-radius:0;flex:1}.repository .ui.action.input.clone-panel>button+button,.repository .ui.action.input.clone-panel>button+input{margin-left:-1px}.repository .clone-panel>button:first-of-type{border-radius:var(--border-radius) 0 0 var(--border-radius)!important}.repository .clone-panel>button:last-of-type{border-radius:0 var(--border-radius) var(--border-radius) 0!important}.repository .clone-panel .dropdown .menu{right:0!important;left:auto!important}.repository .repo-description{font-size:16px;margin-bottom:5px}.commit-summary{flex:1;overflow-wrap:anywhere;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.commit-header .commit-summary,td .commit-summary{white-space:normal}.latest-commit{display:flex;flex:1;align-items:center;overflow:hidden;text-overflow:ellipsis}@media (max-width: 767.98px){.latest-commit .sha{display:none}.latest-commit .commit-summary{margin-left:8px}}.repo-path{display:flex;overflow-wrap:anywhere}#repo-files-table th:first-of-type{max-width:calc(min(100vw,1280px) - 145px - calc(2 * var(--page-margin-x)))}.repository.file.list #repo-files-table thead th{font-weight:var(--font-weight-normal)}.repository.file.list #repo-files-table tbody .svg{margin-left:3px;margin-right:5px}.repository.file.list #repo-files-table tbody .svg.octicon-reply{margin-right:10px}.repository.file.list #repo-files-table tbody .svg.octicon-file-directory-fill,.repository.file.list #repo-files-table tbody .svg.octicon-file-submodule{color:var(--color-primary)}.repository.file.list #repo-files-table tbody .svg.octicon-file,.repository.file.list #repo-files-table tbody .svg.octicon-file-symlink-file,.repository.file.list #repo-files-table tbody .svg.octicon-file-directory-symlink{color:var(--color-secondary-dark-7)}.repository.file.list #repo-files-table td{padding-top:0;padding-bottom:0;overflow:initial}.repository.file.list #repo-files-table td.name{width:33%;max-width:calc(100vw - 140px)}@media (min-width: 1201px){.repository.file.list #repo-files-table td.name{max-width:150px}}@media (min-width: 992px) and (max-width: 1200px){.repository.file.list #repo-files-table td.name{max-width:200px}}@media (min-width: 768px) and (max-width: 991.98px){.repository.file.list #repo-files-table td.name{max-width:300px}}.repository.file.list #repo-files-table td.message{color:var(--color-text-light-1);width:66%}@media (min-width: 1201px){.repository.file.list #repo-files-table td.message{max-width:400px}}@media (min-width: 992px) and (max-width: 1200px){.repository.file.list #repo-files-table td.message{max-width:350px}}@media (min-width: 768px) and (max-width: 991.98px){.repository.file.list #repo-files-table td.message{max-width:250px}}.repository.file.list #repo-files-table td.age{color:var(--color-text-light-1)}.repository.file.list #repo-files-table td .truncate{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;padding-top:8px;padding-bottom:8px}.repository.file.list #repo-files-table td a{padding-top:8px;padding-bottom:8px}.repository.file.list #repo-files-table td .at{margin-left:3px;margin-right:3px}.repository.file.list #repo-files-table td>*{vertical-align:middle}.repository.file.list #repo-files-table td.message .isSigned{cursor:default}.repository.file.list #repo-files-table tr:last-of-type td:first-child{border-bottom-left-radius:var(--border-radius)}.repository.file.list #repo-files-table tr:last-of-type td:last-child{border-bottom-right-radius:var(--border-radius)}.repository.file.list #repo-files-table tr:hover{background-color:var(--color-hover)}.repository.file.list #repo-files-table tr.has-parent a{display:inline-block;padding-top:8px;padding-bottom:8px;width:calc(100% - 1.25rem)}.repository.file.list .non-diff-file-content .header .icon{font-size:1em}.repository.file.list .non-diff-file-content .header .small.icon{font-size:.75em}.repository.file.list .non-diff-file-content .header .tiny.icon{font-size:.5em}.repository.file.list .non-diff-file-content .header .file-actions .btn-octicon{line-height:var(--line-height-default);padding:8px;vertical-align:middle;color:var(--color-text)}.repository.file.list .non-diff-file-content .header .file-actions .btn-octicon:hover{color:var(--color-primary)}.repository.file.list .non-diff-file-content .header .file-actions .btn-octicon-danger:hover{color:var(--color-red)}.repository.file.list .non-diff-file-content .header .file-actions .btn-octicon.disabled{color:inherit;opacity:var(--opacity-disabled);cursor:default}.view-raw{display:flex;justify-content:center;align-items:center}.view-raw>*{max-width:100%}.view-raw audio,.view-raw video,.view-raw img{margin:1rem 0;border-radius:0;object-fit:contain}.view-raw img[src$=".svg" i]{max-height:600px!important;max-width:600px!important}.pdf-content{width:100%;height:600px;border:none!important;display:flex;align-items:center;justify-content:center}.pdf-content .pdf-fallback-button{margin:50px auto}.repository.file.list .non-diff-file-content .plain-text{padding:1em 2em}.repository.file.list .non-diff-file-content .plain-text pre{word-break:break-word;white-space:pre-wrap}.repository.file.list .non-diff-file-content .csv{overflow-x:auto;padding:0!important}.repository.file.list .non-diff-file-content pre{overflow:auto}.repository.file.list .non-diff-file-content .asciicast{padding:0!important}.non-diff-file-content .pdfobject{border-radius:0 0 var(--border-radius) var(--border-radius)}.repository.file.list .sidebar{padding-left:0}.repository.file.list .sidebar .svg{width:16px}.repo-editor-header{width:100%}.repo-editor-header input{vertical-align:middle!important;width:auto!important;padding:7px 8px!important;margin-right:5px!important}.repository.file.editor .tabular.menu .svg{margin-right:5px}.repository.file.editor .commit-form-wrapper{padding-left:64px}.repository.file.editor .commit-form-wrapper .commit-avatar{float:left;margin-left:-64px;width:3em;height:auto}.repository.file.editor .commit-form-wrapper .commit-form{position:relative;padding:15px;margin-bottom:10px;border:1px solid var(--color-secondary);background:var(--color-box-body);border-radius:var(--border-radius)}.repository.file.editor .commit-form-wrapper .commit-form:before,.repository.file.editor .commit-form-wrapper .commit-form:after{right:100%;top:20px;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.repository.file.editor .commit-form-wrapper .commit-form:before{border-right-color:var(--color-secondary);border-width:9px;margin-top:-9px}.repository.file.editor .commit-form-wrapper .commit-form:after{border-right-color:var(--color-box-body);border-width:8px;margin-top:-8px}.repository.file.editor .commit-form-wrapper .commit-form .quick-pull-choice .branch-name{display:inline-block;padding:2px 4px;font:12px var(--fonts-monospace);color:var(--color-text);background:var(--color-secondary);border-radius:var(--border-radius);margin:0 2px}.repository.file.editor .commit-form-wrapper .commit-form .quick-pull-choice .new-branch-name-input{position:relative;margin-left:25px}.repository.file.editor .commit-form-wrapper .commit-form .quick-pull-choice .new-branch-name-input input{width:240px!important;padding-left:26px!important}.repository.file.editor .commit-form-wrapper .commit-form .quick-pull-choice .octicon-git-branch{position:absolute;top:9px;left:10px;color:var(--color-grey)}.repository.options #interval{width:100px!important;min-width:100px}#new-issue .comment .avatar{width:3em}.repository.new.issue .comment.form .content:before,.repository.new.issue .comment.form .content:after{right:100%;top:20px;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.repository.new.issue .comment.form .content:before{border-right-color:var(--color-secondary);border-width:9px;margin-top:-9px}.repository.new.issue .comment.form .content:after{border-right-color:var(--color-box-body);border-width:8px;margin-top:-8px}.repository.new.issue .comment.form .content .markup{font-size:14px}.repository.view.issue .instruct-toggle{display:inline-block}@media (max-width: 767.98px){.comment.form .issue-content-left .avatar{display:none}.comment.form .issue-content-left .content{margin-left:0!important}.comment.form .issue-content-left .content:before,.comment.form .issue-content-left .content:after,.comment.form .content .form:before,.comment.form .content .form:after{display:none}}.issue-title-header{width:100%;padding-bottom:4px;margin-bottom:1rem}.issue-title-meta{display:flex;align-items:center}.repository.view.issue .issue-title-buttons{display:flex;gap:.5em}.repository.view.issue .issue-title-buttons>.ui.button{margin:0;height:35px}.repository.view.issue .issue-title{display:flex;align-items:center;gap:.5em;margin-bottom:8px;min-height:40px}.repository.view.issue .issue-title h1{flex:1;width:100%;font-weight:var(--font-weight-normal);font-size:32px;line-height:40px;margin:0;padding-right:.25rem}@media (max-width: 767.98px){.repository.view.issue .issue-title{flex-direction:column}.repository.view.issue .issue-title-buttons{width:100%;justify-content:space-between}}.repository.view.issue .issue-title .ui.input{width:100%;height:35px}.repository.view.issue .issue-title .ui.input input{font-size:1.5em;padding:2px .5rem}.issue-title .index{color:var(--color-text-light-2)}.issue-title .label{margin-right:10px}.issue-state-label{display:flex!important;align-items:center!important;font-size:14px!important;padding:7px 10px!important;border-radius:var(--border-radius-medium)!important;flex-shrink:0}.issue-state-label .svg{margin-right:4px}.repository.view.issue .pull-desc code{color:var(--color-primary)}.repository.view.issue .pull-desc a[data-clipboard-text]{cursor:pointer}.repository.view.issue .pull-desc a[data-clipboard-text] svg{vertical-align:middle;position:relative;top:-2px;right:1px}.repository.view.issue .pull.tabs.container{width:100%;max-width:100%}.repository.view.issue .pull.tabular.menu{margin-bottom:0;overflow-x:auto;overflow-y:hidden}.repository.view.issue .pull.tabular.menu .svg{margin-right:5px}.repository.view.issue .merge.box .branch-update.grid .row{padding-bottom:1rem}.repository.view.issue .merge.box .branch-update.grid .row .icon{margin-top:1.1rem}.repository.view.issue .comment-list:not(.prevent-before-timeline):before{display:block;content:"";position:absolute;margin-top:12px;margin-bottom:14px;top:0;bottom:0;left:96px;width:2px;background-color:var(--color-timeline);z-index:-1}.repository.view.issue .comment-list .timeline{position:relative;display:block;margin-left:40px;padding-left:16px}.repository.view.issue .comment-list .timeline:before{display:block;content:"";position:absolute;margin-top:12px;margin-bottom:14px;top:0;bottom:0;left:30px;width:2px;background-color:var(--color-timeline);z-index:-1}.repository.view.issue .comment-list .timeline-item,.repository.view.issue .comment-list .timeline-item-group{padding:16px 0}.repository.view.issue .comment-list .timeline-item-group .timeline-item{padding-top:8px;padding-bottom:8px}.repository.view.issue .comment-list .timeline-avatar-offset{margin-top:48px}.repository.view.issue .comment-list .timeline-item{margin-left:16px;position:relative}.repository.view.issue .comment-list .timeline-item .timeline-avatar{position:absolute;left:-68px}.repository.view.issue .comment-list .timeline-item .inline-timeline-avatar{display:none}.repository.view.issue .comment-list .timeline-item:first-child:not(.commit){padding-top:0!important}.repository.view.issue .comment-list .timeline-item:last-child:not(.commit){padding-bottom:0!important}.repository.view.issue .comment-list .timeline-item .badge.badge-commit{border-color:transparent;background:radial-gradient(var(--color-body) 40%,transparent 40%) no-repeat}.repository.view.issue .comment-list .timeline-item .badge{width:34px;height:34px;background-color:var(--color-timeline);border-radius:var(--border-radius-full);display:flex;float:left;margin-left:-33px;margin-right:8px;color:var(--color-text);align-items:center;justify-content:center}.repository.view.issue .comment-list .timeline-item .badge .svg{width:22px;height:22px;padding:3px}.repository.view.issue .comment-list .timeline-item .badge .svg.octicon-comment{margin-top:2px}.repository.view.issue .comment-list .timeline-item.comment>.content{margin-left:-16px}.repository.view.issue .comment-list .timeline-item.event>.text{line-height:32px;vertical-align:middle}.repository.view.issue .comment-list .timeline-item.commits-list{padding-left:15px;padding-top:0}.repository.view.issue .comment-list .timeline-item.commits-list .ui.avatar{margin-right:.25em}.singular-commit{display:flex;align-items:center}.singular-commit .badge{height:30px!important}.singular-commit .shabox .sha.label{margin:0;border:1px solid var(--color-light-border)}.singular-commit .shabox .sha.label.isSigned.isWarning{border:1px solid var(--color-red-badge);background:var(--color-red-badge-bg)}.singular-commit .shabox .sha.label.isSigned.isWarning:hover{background:var(--color-red-badge-hover-bg)!important}.singular-commit .shabox .sha.label.isSigned.isVerified{border:1px solid var(--color-green-badge);background:var(--color-green-badge-bg)}.singular-commit .shabox .sha.label.isSigned.isVerified:hover{background:var(--color-green-badge-hover-bg)!important}.singular-commit .shabox .sha.label.isSigned.isVerifiedUntrusted{border:1px solid var(--color-yellow-badge);background:var(--color-yellow-badge-bg)}.singular-commit .shabox .sha.label.isSigned.isVerifiedUntrusted:hover{background:var(--color-yellow-badge-hover-bg)!important}.singular-commit .shabox .sha.label.isSigned.isVerifiedUnmatched{border:1px solid var(--color-orange-badge);background:var(--color-orange-badge-bg)}.singular-commit .shabox .sha.label.isSigned.isVerifiedUnmatched:hover{background:var(--color-orange-badge-hover-bg)!important}.repository.view.issue .comment-list .timeline-item.event>.commit-status-link{float:right;margin-right:8px;margin-top:4px}.repository.view.issue .comment-list .timeline-item .comparebox{line-height:32px;vertical-align:middle}.repository.view.issue .comment-list .timeline-item .comparebox .compare.label{font-size:1rem;margin:0;border:1px solid var(--color-light-border)}@media (max-width: 767.98px){.repository.view.issue .comment-list .timeline-item .ui.segments{margin-left:-2rem}}.repository.view.issue .comment-list .ui.comments{max-width:100%;display:flex;flex-direction:column;gap:3px}.repository.view.issue .comment-list .comment>.content>div:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.repository.view.issue .comment-list .comment>.content>div:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.repository.view.issue .comment-list .comment .comment-container{border:1px solid var(--color-secondary);border-radius:var(--border-radius);background:var(--color-box-body)}.repository.view.issue .comment-list .conversation-holder .comment .comment-container{border:none}@media (max-width: 767.98px){.repository.view.issue .comment-list .comment .content .form .button{width:100%;margin:0}.repository.view.issue .comment-list .comment .content .form .button:not(:last-child){margin-bottom:1rem}}.repository.view.issue .comment-list .comment .merge-section{background-color:var(--color-box-body)}.repository.view.issue .comment-list .comment .merge-section .item-section{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:0;gap:.5em}.repository.view.issue .comment-list .comment .merge-section .divider{margin-left:-1rem;width:calc(100% + 2rem)}.repository.view.issue .comment-list .comment .merge-section.no-header:before,.repository.view.issue .comment-list .comment .merge-section.no-header:after{right:100%;top:20px;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.repository.view.issue .comment-list .comment .merge-section.no-header:before{border-right-color:var(--color-secondary);border-width:9px;margin-top:-9px}.repository.view.issue .comment-list .comment .merge-section.no-header:after{border-right-color:var(--color-box-body);border-width:8px;margin-top:-8px}.merge-section-info code{border:1px solid var(--color-light-border);border-radius:var(--border-radius);padding:2px 4px;background:var(--color-light)}.repository.view.issue .comment-list .comment .markup{font-size:14px}.repository.view.issue .comment-list .comment .no-content{color:var(--color-text-light-2);font-style:italic}.repository.view.issue .comment-list .comment .ui.form .field:first-child{clear:none}.repository.view.issue .comment-list .comment .ui.form .field.footer{overflow:hidden}.repository.view.issue .comment-list .comment .ui.form .field .tab.markup{min-height:5rem}.repository.view.issue .comment-list .comment .edit.buttons{margin-top:10px}.repository.view.issue .comment-list .code-comment{border:1px solid transparent;margin:0}.repository.view.issue .comment-list .code-comment .comment-header{background:transparent;border-bottom:0!important;padding:0!important}.repository.view.issue .comment-list .code-comment .comment-header:after,.repository.view.issue .comment-list .code-comment .comment-header:before{display:none}.repository.view.issue .comment-list .code-comment .comment-content{margin-left:36px}.repository.view.issue .comment-list .comment>.avatar{margin-top:6px}.repository.view.issue .comment-list .comment-code-cloud button.comment-form-reply{margin:0}.repository.view.issue .comment-list .event{padding-left:15px}.repository.view.issue .comment-list .event .detail{margin-top:4px;margin-left:15px}.repository.view.issue .comment-list .event .detail .text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.repository.view.issue .comment-list .event .segments{box-shadow:none}.repository.view.issue .ui.depending .item.is-closed .title{text-decoration:line-through}.repository .comment.form .content .field:first-child{clear:none}.repository .comment.form .content .segment:before,.repository .comment.form .content .segment:after{right:100%;top:20px;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.repository .comment.form .content .segment:before{border-right-color:var(--color-secondary);border-width:9px;margin-top:-9px}.repository .comment.form .content .segment:after{border-right-color:var(--color-box-body);border-width:8px;margin-top:-8px}.repository.new.milestone textarea{height:200px}.milestone-progress-big{width:min(420px,96vw);height:10px}.repository.compare.pull .show-form-container{text-align:left}.repository .choose.branch{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.repository .choose .compare-separator{width:100%;margin-top:-1rem;text-align:center}.repository.compare.pull .comment.form .content:before,.repository.compare.pull .comment.form .content:after{right:100%;top:20px;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.repository.compare.pull .comment.form .content:before{border-right-color:var(--color-secondary);border-width:9px;margin-top:-9px}.repository.compare.pull .comment.form .content:after{border-right-color:var(--color-box-body);border-width:8px;margin-top:-8px}.repository.compare.pull .pullrequest-form{margin-top:16px;margin-bottom:16px}.repository.compare.pull .markup{font-size:14px}.repository.branches .commit-divergence .bar-group{position:relative;float:left;padding-bottom:6px;width:50%;max-width:90px}.repository.branches .commit-divergence .bar-group:last-child{border-left:1px solid var(--color-secondary-dark-2)}.repository.branches .commit-divergence .count{margin:0 3px}.repository.branches .commit-divergence .count.count-ahead{text-align:left}.repository.branches .commit-divergence .count.count-behind{text-align:right}.repository.branches .commit-divergence .bar{height:4px;position:absolute;background-color:var(--color-secondary-dark-2)}.repository.branches .commit-divergence .bar.bar-behind{right:0}.repository.branches .commit-divergence .bar.bar-ahead{left:0}.repository.commits .header .search input{font-weight:var(--font-weight-normal);padding:5px 10px}.repository #commits-table td:not(.message){white-space:nowrap}.repository #commits-table thead .sha{width:200px}.repository #commits-table thead .shatd{text-align:center}.repository #commits-table td.sha .sha.label{margin:0}.repository #commits-table.ui.basic.striped.table tbody tr:nth-child(2n){background-color:var(--color-light)!important}.repository #commits-table td.sha .sha.label,.repository #repo-files-table .sha.label,.repository #repo-file-commit-box .sha.label,.repository #rev-list .sha.label,.repository .timeline-item.commits-list .singular-commit .sha.label{border:1px solid var(--color-light-border)}.repository #commits-table td.sha .sha.label .ui.signature.avatar,.repository #repo-files-table .sha.label .ui.signature.avatar,.repository #repo-file-commit-box .sha.label .ui.signature.avatar,.repository #rev-list .sha.label .ui.signature.avatar,.repository .timeline-item.commits-list .singular-commit .sha.label .ui.signature.avatar{height:16px;margin-bottom:0;width:16px}.repository #commits-table td.sha .sha.label .detail.icon,.repository #repo-files-table .sha.label .detail.icon,.repository #repo-file-commit-box .sha.label .detail.icon,.repository #rev-list .sha.label .detail.icon,.repository .timeline-item.commits-list .singular-commit .sha.label .detail.icon{background:var(--color-light);margin:-6px -10px -4px 0;padding:5px 4px 5px 6px;border-left:1px solid var(--color-light-border);border-top:0;border-right:0;border-bottom:0;border-top-left-radius:0;border-bottom-left-radius:0}.repository #commits-table td.sha .sha.label .detail.icon img,.repository #repo-files-table .sha.label .detail.icon img,.repository #repo-file-commit-box .sha.label .detail.icon img,.repository #rev-list .sha.label .detail.icon img,.repository .timeline-item.commits-list .singular-commit .sha.label .detail.icon img{margin-right:0}.repository #commits-table td.sha .sha.label .detail.icon .svg,.repository #repo-files-table .sha.label .detail.icon .svg,.repository #repo-file-commit-box .sha.label .detail.icon .svg,.repository #rev-list .sha.label .detail.icon .svg,.repository .timeline-item.commits-list .singular-commit .sha.label .detail.icon .svg{margin:0 .25em 0 0}.repository #commits-table td.sha .sha.label .detail.icon>div,.repository #repo-files-table .sha.label .detail.icon>div,.repository #repo-file-commit-box .sha.label .detail.icon>div,.repository #rev-list .sha.label .detail.icon>div,.repository .timeline-item.commits-list .singular-commit .sha.label .detail.icon>div{display:flex;align-items:center}.repository #commits-table td.sha .sha.label.isSigned.isWarning,.repository #repo-files-table .sha.label.isSigned.isWarning,.repository #repo-file-commit-box .sha.label.isSigned.isWarning,.repository #rev-list .sha.label.isSigned.isWarning,.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isWarning{border:1px solid var(--color-red-badge);background:var(--color-red-badge-bg)}.repository #commits-table td.sha .sha.label.isSigned.isWarning .detail.icon,.repository #repo-files-table .sha.label.isSigned.isWarning .detail.icon,.repository #repo-file-commit-box .sha.label.isSigned.isWarning .detail.icon,.repository #rev-list .sha.label.isSigned.isWarning .detail.icon,.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isWarning .detail.icon{border-left:1px solid var(--color-red-badge);color:var(--color-red-badge)}.repository #commits-table td.sha .sha.label.isSigned.isWarning:hover,.repository #repo-files-table .sha.label.isSigned.isWarning:hover,.repository #repo-file-commit-box .sha.label.isSigned.isWarning:hover,.repository #rev-list .sha.label.isSigned.isWarning:hover,.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isWarning:hover{background:var(--color-red-badge-hover-bg)!important}.repository #commits-table td.sha .sha.label.isSigned.isVerified,.repository #repo-files-table .sha.label.isSigned.isVerified,.repository #repo-file-commit-box .sha.label.isSigned.isVerified,.repository #rev-list .sha.label.isSigned.isVerified,.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isVerified{border:1px solid var(--color-green-badge);background:var(--color-green-badge-bg)}.repository #commits-table td.sha .sha.label.isSigned.isVerified .detail.icon,.repository #repo-files-table .sha.label.isSigned.isVerified .detail.icon,.repository #repo-file-commit-box .sha.label.isSigned.isVerified .detail.icon,.repository #rev-list .sha.label.isSigned.isVerified .detail.icon,.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isVerified .detail.icon{border-left:1px solid var(--color-green-badge);color:var(--color-green-badge)}.repository #commits-table td.sha .sha.label.isSigned.isVerified:hover,.repository #repo-files-table .sha.label.isSigned.isVerified:hover,.repository #repo-file-commit-box .sha.label.isSigned.isVerified:hover,.repository #rev-list .sha.label.isSigned.isVerified:hover,.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isVerified:hover{background:var(--color-green-badge-hover-bg)!important}.repository #commits-table td.sha .sha.label.isSigned.isVerifiedUntrusted,.repository #repo-files-table .sha.label.isSigned.isVerifiedUntrusted,.repository #repo-file-commit-box .sha.label.isSigned.isVerifiedUntrusted,.repository #rev-list .sha.label.isSigned.isVerifiedUntrusted,.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isVerifiedUntrusted{border:1px solid var(--color-yellow-badge);background:var(--color-yellow-badge-bg)}.repository #commits-table td.sha .sha.label.isSigned.isVerifiedUntrusted .detail.icon,.repository #repo-files-table .sha.label.isSigned.isVerifiedUntrusted .detail.icon,.repository #repo-file-commit-box .sha.label.isSigned.isVerifiedUntrusted .detail.icon,.repository #rev-list .sha.label.isSigned.isVerifiedUntrusted .detail.icon,.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isVerifiedUntrusted .detail.icon{border-left:1px solid var(--color-yellow-badge);color:var(--color-yellow-badge)}.repository #commits-table td.sha .sha.label.isSigned.isVerifiedUntrusted:hover,.repository #repo-files-table .sha.label.isSigned.isVerifiedUntrusted:hover,.repository #repo-file-commit-box .sha.label.isSigned.isVerifiedUntrusted:hover,.repository #rev-list .sha.label.isSigned.isVerifiedUntrusted:hover,.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isVerifiedUntrusted:hover{background:var(--color-yellow-badge-hover-bg)!important}.repository #commits-table td.sha .sha.label.isSigned.isVerifiedUnmatched,.repository #repo-files-table .sha.label.isSigned.isVerifiedUnmatched,.repository #repo-file-commit-box .sha.label.isSigned.isVerifiedUnmatched,.repository #rev-list .sha.label.isSigned.isVerifiedUnmatched,.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isVerifiedUnmatched{border:1px solid var(--color-orange-badge);background:var(--color-orange-badge-bg)}.repository #commits-table td.sha .sha.label.isSigned.isVerifiedUnmatched .detail.icon,.repository #repo-files-table .sha.label.isSigned.isVerifiedUnmatched .detail.icon,.repository #repo-file-commit-box .sha.label.isSigned.isVerifiedUnmatched .detail.icon,.repository #rev-list .sha.label.isSigned.isVerifiedUnmatched .detail.icon,.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isVerifiedUnmatched .detail.icon{border-left:1px solid var(--color-orange-badge);color:var(--color-orange-badge)}.repository #commits-table td.sha .sha.label.isSigned.isVerifiedUnmatched:hover,.repository #repo-files-table .sha.label.isSigned.isVerifiedUnmatched:hover,.repository #repo-file-commit-box .sha.label.isSigned.isVerifiedUnmatched:hover,.repository #rev-list .sha.label.isSigned.isVerifiedUnmatched:hover,.repository .timeline-item.commits-list .singular-commit .sha.label.isSigned.isVerifiedUnmatched:hover{background:var(--color-orange-badge-hover-bg)!important}.repository .data-table{width:100%}.repository .data-table tr{border-top:0;background:none!important}.repository .data-table td,.repository .data-table th{padding:5px!important;overflow:hidden;font-size:12px;text-align:left;white-space:nowrap;border:1px solid var(--color-secondary)}.repository .data-table tr:first-child :is(td,th){border-top:none!important}.repository .data-table tr:last-child :is(td,th){border-bottom:none!important}.repository .data-table tr :is(td,th):first-child{border-left:none!important}.repository .data-table tr :is(td,th):last-child{border-right:none!important}.repository .data-table td{white-space:pre-line}.repository .data-table th{font-weight:var(--font-weight-semibold);background:var(--color-box-header);border-top:0}.repository .data-table td.added,.repository .data-table th.added,.repository .data-table tr.added{background-color:var(--color-diff-added-row-bg)!important}.repository .data-table td.removed,.repository .data-table th.removed,.repository .data-table tr.removed{background-color:var(--color-diff-removed-row-bg)!important}.repository .data-table td.moved,.repository .data-table th.moved,.repository .data-table tr.moved{background-color:var(--color-diff-moved-row-bg)!important}.repository .data-table tbody.section{border-top:2px solid var(--color-secondary)}.repository .data-table .line-num{width:1%;min-width:50px;font-family:monospace;line-height:20px;color:var(--color-text-light-1);white-space:nowrap;vertical-align:top;cursor:pointer;text-align:right;background:var(--color-body);border:0}.repository .diff-detail-box{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:8;padding:7px 5px;margin:0 -5px;height:44px;background:var(--color-body)}@media (max-width: 480px){.repository .diff-detail-box{flex-wrap:wrap}}.repository .diff-detail-box .diff-detail-stats strong{margin-left:.25rem;margin-right:.25rem}.repository .diff-detail-box .diff-detail-stats strong:nth-of-type(1){color:var(--color-yellow)}.repository .diff-detail-box .diff-detail-stats strong:nth-of-type(2){color:var(--color-green)}.repository .diff-detail-box .diff-detail-stats strong:nth-of-type(3){color:var(--color-red)}@media (max-width: 800px){.repository .diff-detail-box .diff-detail-stats{display:none!important}}.diff-detail-actions{display:flex;align-items:center;gap:.25em;justify-content:end}.diff-detail-actions>*,.diff-detail-actions .button{margin-left:0!important;margin-right:0!important}.repository .diff-detail-box span.status{display:inline-block;width:12px;height:12px;margin-right:8px;vertical-align:middle}.repository .diff-detail-box span.status.modify{background-color:var(--color-yellow)}.repository .diff-detail-box span.status.add{background-color:var(--color-green)}.repository .diff-detail-box span.status.del{background-color:var(--color-red)}.repository .diff-detail-box span.status.rename{background-color:var(--color-teal)}.repository .diff-detail-box .ui.button{padding:0 12px;height:30px}.repository .diff-box .resolved-placeholder .button{padding:8px 12px}.repository .diff-file-box .header{background-color:var(--color-box-header)}.repository .diff-file-box .file-body.file-code{background:var(--color-code-bg);border-radius:var(--border-radius)}.repository .diff-file-box .file-body.file-code .lines-num{text-align:right}.repository .diff-file-box .file-body.file-code .lines-num span.fold{display:block;text-align:center}.repository .diff-file-box .code-diff td{padding:0 0 0 10px!important;border-top:0}.repository .diff-file-box .code-diff .lines-num{padding:0 5px!important}.repository .diff-file-box .code-diff .tag-code .lines-num,.repository .diff-file-box .code-diff .tag-code td{padding:0!important}.repository .diff-file-box .code-diff table{table-layout:fixed}.repository .diff-file-box .code-diff tbody tr td.center{text-align:center}.repository .diff-file-box .code-diff tbody tr [data-line-num]:before{content:attr(data-line-num);text-align:right}.repository .diff-file-box .code-diff tbody tr .lines-type-marker{width:10px;min-width:10px}.repository .diff-file-box .code-diff tbody tr [data-type-marker]:before{content:attr(data-type-marker);text-align:right;display:inline-block}.repository .diff-file-box .code-diff-split .tag-code .lines-code code.code-inner{padding-left:10px!important}.repository .diff-file-box .code-diff-split table,.repository .diff-file-box .code-diff-split tbody{width:100%}.repository .diff-file-box.file-content{clear:right}.repository .diff-file-box.file-content .image-diff img{max-width:100%;padding:0;border-radius:0}.repository .diff-file-box .ui.bottom.attached.table.segment{padding-top:5px;padding-bottom:5px}.diff-file-box{border:1px solid transparent;border-radius:var(--border-radius);scroll-margin-top:47px}.file.editor .diff-file-box,.file.editor .diff-file-box .ui.attached.table{border:none}.diff-file-box .ui.attached.header,.diff-file-box .ui.attached.table{margin:0;width:initial;max-width:initial}.repository .diff-stats{clear:both;margin-bottom:5px;max-height:200px;height:fit-content;overflow:auto;padding-left:0}.repository .diff-stats li{list-style:none;padding-bottom:4px;margin-bottom:4px;padding-left:6px}.repository .diff-stats li+li{border-top:1px solid var(--color-secondary)}.repository .repo-search-result{padding-top:10px;padding-bottom:10px}.repository .repo-search-result .lines-num a{color:inherit}.repository.quickstart .guide .item{padding:1em}.repository.quickstart .guide .item small{font-weight:var(--font-weight-normal)}.repository.quickstart .guide #repo-clone-url{border-radius:0;padding:5px 10px;font-size:1.2em;line-height:1.4;flex:1}.empty-placeholder{display:flex;flex-direction:column;align-items:center;padding-top:40px;padding-bottom:40px}.repository.packages .file-size{white-space:nowrap}.file-view.markup{padding:1em 2em}.repository .activity-header{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.repository.settings.branches .branch-protection .ui.checkbox .help,.repository.settings.branches .branch-protection .checkbox-sub-item{padding-left:26px}.repository.settings.branches .branch-protection .status-check-matched-mark{font-weight:var(--font-weight-semibold);font-style:italic}.repository.settings.webhook .events .column{padding-bottom:0}.repository.settings.webhook .events .help{font-size:13px;margin-left:26px;padding-top:0}.repository .ui.attached.isSigned.isWarning{border-left:1px solid var(--color-error-border);border-right:1px solid var(--color-error-border)}.repository .ui.attached.isSigned.isWarning.top,.repository .ui.attached.isSigned.isWarning.message{border-top:1px solid var(--color-error-border)}.repository .ui.attached.isSigned.isWarning.message{box-shadow:none;background-color:var(--color-error-bg);color:var(--color-error-text)}.repository .ui.attached.isSigned.isWarning.message .ui.text{color:var(--color-error-text)}.repository .ui.attached.isSigned.isWarning:last-child,.repository .ui.attached.isSigned.isWarning.bottom{border-bottom:1px solid var(--color-error-border)}.repository .ui.attached.isSigned.isVerified{border-left:1px solid var(--color-success-border);border-right:1px solid var(--color-success-border)}.repository .ui.attached.isSigned.isVerified.top,.repository .ui.attached.isSigned.isVerified.message{border-top:1px solid var(--color-success-border)}.repository .ui.attached.isSigned.isVerified.message{box-shadow:none;background-color:var(--color-success-bg);color:var(--color-success-text)}.repository .ui.attached.isSigned.isVerified.message .pull-right{color:var(--color-text)}.repository .ui.attached.isSigned.isVerified.message .ui.text{color:var(--color-success-text)}.repository .ui.attached.isSigned.isVerified:last-child,.repository .ui.attached.isSigned.isVerified.bottom{border-bottom:1px solid var(--color-success-border)}.repository .ui.attached.isSigned.isVerifiedUntrusted,.repository .ui.attached.isSigned.isVerifiedUnmatched{border-left:1px solid var(--color-warning-border);border-right:1px solid var(--color-warning-border)}.repository .ui.attached.isSigned.isVerifiedUntrusted.top,.repository .ui.attached.isSigned.isVerifiedUnmatched.top,.repository .ui.attached.isSigned.isVerifiedUntrusted.message,.repository .ui.attached.isSigned.isVerifiedUnmatched.message{border-top:1px solid var(--color-warning-border)}.repository .ui.attached.isSigned.isVerifiedUntrusted.message,.repository .ui.attached.isSigned.isVerifiedUnmatched.message{box-shadow:none;background-color:var(--color-warning-bg);color:var(--color-warning-text)}.repository .ui.attached.isSigned.isVerifiedUntrusted.message .ui.text,.repository .ui.attached.isSigned.isVerifiedUnmatched.message .ui.text{color:var(--color-warning-text)}.repository .ui.attached.isSigned.isVerifiedUntrusted:last-child,.repository .ui.attached.isSigned.isVerifiedUnmatched:last-child,.repository .ui.attached.isSigned.isVerifiedUntrusted.bottom,.repository .ui.attached.isSigned.isVerifiedUnmatched.bottom{border-bottom:1px solid var(--color-warning-border)}.repository .ui.fluid.action.input .ui.search.action.input{flex:auto}.repository .repository-summary{box-shadow:none}.repository .repository-summary .segment.sub-menu{border:none;display:flex;align-items:center;padding:0;overflow:hidden}.repository .repository-summary .sub-menu .item{flex:1;height:30px;line-height:var(--line-height-default);display:flex;align-items:center;justify-content:center;gap:.25em;padding:0 .5em;text-decoration:none}.repository .repository-summary .sub-menu .item.active{background:var(--color-secondary)}.repository .repository-summary .segment.language-stats{display:flex;gap:2px;padding:0;height:10px;white-space:nowrap;border-radius:0 0 3px 3px!important;overflow:hidden}#cite-repo-modal #citation-panel{display:flex;width:100%}#cite-repo-modal #citation-panel input{border-radius:0;padding:5px 10px;width:50%;line-height:1.4}#cite-repo-modal #citation-panel .citation.button{font-size:13px;padding:7.5px 5px}#cite-repo-modal #citation-panel #citation-copy-content{border-radius:0;padding:5px 10px;font-size:1.2em;line-height:1.4;flex:1}#cite-repo-modal #citation-panel #citation-copy-apa,#cite-repo-modal #citation-panel #citation-copy-bibtex{border-right:none}#cite-repo-modal #citation-panel #goto-citation-btn{border-left:none}#cite-repo-modal #citation-panel>:first-child{border-radius:var(--border-radius) 0 0 var(--border-radius)!important}#cite-repo-modal #citation-panel>:last-child{border-radius:0 var(--border-radius) var(--border-radius) 0!important}#cite-repo-modal #citation-panel .icon.button{padding:0 10px}.user-cards .list{padding:0;display:flex;flex-wrap:wrap}.user-cards .list .item{list-style:none;width:32%;margin:10px 10px 10px 0;padding-bottom:14px;float:left}.user-cards .list .item .avatar{width:48px;height:48px;float:left;display:block;margin-right:10px}.user-cards .list .item .name{margin-top:0;margin-bottom:0;font-weight:var(--font-weight-normal)}.user-cards .list .item .meta{margin-top:5px}#search-user-box .results .result .image{order:0;margin-right:12px;width:2em;height:2em;min-width:2em;min-height:2em}#search-user-box .results .result .content{margin:0}.ui.menu .item>img:not(.ui){width:auto}.page.buttons{padding-top:15px}.commit-header-row{min-height:50px!important;padding-top:0!important;padding-bottom:0!important}.commit-header-buttons{display:flex;gap:4px;align-items:flex-start;white-space:nowrap}@media (max-width: 767.98px){.commit-header-buttons{flex-direction:column;align-items:stretch}}.settings.webhooks .list>.item:not(:first-child),.settings.githooks .list>.item:not(:first-child),.settings.actions .list>.item:not(:first-child){padding:.25rem 1rem;margin:12px -1rem -1rem}.settings .list>.item:not(:first-child){border-top:1px solid var(--color-secondary);padding:1rem;margin:16px -1rem -1rem}.settings .list>.item>.svg{display:table-cell}.settings .list>.item>.svg+.content{display:table-cell;padding:0 0 0 .5em;vertical-align:top}.settings .list>.item .info{margin-top:10px}.settings .list>.item .info .tab.segment{border:0;padding:10px 0 0}.comment:target .comment-container{border-color:var(--color-primary)!important;box-shadow:0 0 0 3px var(--color-primary-alpha-30)!important}.comment:target .header:before{border-right-color:var(--color-primary)!important;filter:drop-shadow(-3px 0 0 var(--color-primary-alpha-30))!important}.code-comment:target,.diff-file-box:target{border-color:var(--color-primary)!important;border-radius:var(--border-radius)!important;box-shadow:0 0 0 3px var(--color-primary-alpha-30)!important}.code-comment:target .content{box-shadow:none!important}.comment-header{border:none!important;background:var(--color-box-header);border-bottom:1px solid var(--color-secondary)!important;font-weight:var(--font-weight-normal)!important;padding:.5rem 1rem;margin:0!important;position:relative;color:var(--color-text);min-height:41px;background-color:var(--color-box-header);display:flex;justify-content:space-between;align-items:center}.comment-header:before,.comment-header:after{right:100%;top:20px;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.comment-header:before{border-right-color:var(--color-secondary);border-width:9px;margin-top:-9px}.comment-header:after{border-right-color:var(--color-box-header);border-width:8px;margin-top:-8px}.comment-header.arrow-top:before,.comment-header.arrow-top:after{transform:rotate(90deg)}.comment-header.arrow-top:before{top:-9px;left:6px}.comment-header.arrow-top:after{top:-8px;left:7px}.comment-header .actions a:not(.label){padding:.5rem!important}.comment-header .actions .label{margin:0!important}.comment-header-left,.comment-header-right{gap:4px}.comment-body{background:var(--color-box-body);border:none!important;width:100%!important;max-width:100%!important;margin:0!important;padding:1em}.edit-label.modal .form .column,.new-label.modal .form .column{padding-right:0}.edit-label.modal .form .buttons,.new-label.modal .form .buttons{margin-left:auto;padding-top:15px}.stats-table{display:table;width:100%;margin:6px 0;border-spacing:2px}.stats-table .table-cell{display:table-cell}.stats-table .table-cell.tiny{height:8px}.stats-table .table-cell:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.stats-table .table-cell:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.labels-list{display:inline-flex;flex-wrap:wrap;gap:2.5px;align-items:center}.labels-list .label{padding:0 6px;min-height:20px;line-height:1.3}.ui.label.scope-parent{background:none!important;padding:0!important;gap:0!important}.archived-label{filter:grayscale(.5);opacity:.5}.ui.label.scope-left{border-bottom-right-radius:0;border-top-right-radius:0;margin-right:0}.ui.label.scope-right{border-bottom-left-radius:0;border-top-left-radius:0;margin-left:0}.repo-button-row{margin:8px 0;display:flex;align-items:center;gap:8px;justify-content:space-between}.repo-button-row-left,.repo-button-row-right{display:flex;flex:1;align-items:center;gap:.5rem}.repo-button-row-right{justify-content:flex-end}.repo-button-row[data-is-homepage=false] .repo-button-row-right{flex-grow:0}@media (max-width: 991px){.repository:not(.wiki) .repo-button-row{flex-direction:column;align-items:stretch}}.repo-button-row .button{padding:6px 10px!important;height:30px;flex-shrink:0;margin:0}.repo-button-row .button.dropdown:not(.icon){padding-right:22px!important}.repo-button-row input{height:30px}@media (max-width: 600px){.repo-button-row-left{flex-wrap:wrap}}tbody.commit-list{vertical-align:baseline}.message-wrapper,.author-wrapper{overflow:hidden;text-overflow:ellipsis;max-width:100%;display:inline-block;vertical-align:middle}.author-wrapper{max-width:180px;align-self:center;white-space:nowrap}.commit-list .message-wrapper{display:inline;overflow-wrap:anywhere}#repo-files-table .commit-list .message-wrapper{display:inline-block}@media (max-width: 767.98px){tr.commit-list{width:100%}.author-wrapper{max-width:80px}}@media (min-width: 768px) and (max-width: 991.98px){tr.commit-list{width:723px}}@media (min-width: 992px) and (max-width: 1200px){tr.commit-list{width:933px}}@media (min-width: 1201px){tr.commit-list{width:1127px}}.commit-list .commit-status-link{display:inline-block;vertical-align:middle}.commit-body{margin:.25em 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:initial}.git-notes.top{text-align:left}.comment-diff-data{background:var(--color-code-bg);min-height:12em;max-height:calc(100vh - 10.5rem);overflow-y:auto}.comment-diff-data pre{line-height:18px;margin:1em;white-space:pre-wrap;word-break:break-all;overflow-wrap:break-word}.content-history-detail-dialog .header .avatar{position:relative;top:-2px}#repo-topics .repo-topic{font-weight:var(--font-weight-normal);cursor:pointer;margin:0}#new-dependency-drop-list.ui.selection.dropdown{min-width:0;width:100%;border-radius:var(--border-radius) 0 0 var(--border-radius);border-right:0;white-space:nowrap}#new-dependency-drop-list .text{width:100%;overflow:hidden}.tag-code{height:28px}.tag-code,.tag-code td,.tag-code.line-expanded{background-color:var(--color-box-body-highlight);vertical-align:middle}.diff-file-body tr.tag-code:last-child{background:none}.diff-file-body tr.tag-code:last-child>td{background:var(--color-box-body-highlight)}.diff-file-body tr.tag-code:last-child td:first-child,.diff-file-body tr.tag-code:last-child td:first-child *{border-bottom-left-radius:3px}.diff-file-body tr.tag-code:last-child td:last-child,.diff-file-body tr.tag-code:last-child td:last-child *{border-bottom-right-radius:3px}.resolved-placeholder{display:flex;align-items:center;font-size:14px!important;padding:8px!important;font-weight:var(--font-weight-normal)!important;border:1px solid var(--color-secondary)!important;border-radius:var(--border-radius)!important;margin:4px!important}.resolved-placeholder+.comment-code-cloud{padding-top:0!important}.line-expanded{background-color:var(--color-secondary-alpha-20)}.issue-keyword{border-bottom:1px dotted var(--color-text-light-3)!important}.issue-keyword:hover{border-bottom:none!important}.file-header{align-items:center;display:flex;justify-content:space-between;overflow-x:auto;padding:6px 12px!important;font-size:13px!important}.file-info{display:flex;align-items:center}.file-info-entry{display:flex;align-items:center;width:max-content}.file-info-entry+.file-info-entry{border-left:1px solid currentcolor;margin-left:8px;padding-left:8px}#diff-container{display:flex}#diff-file-boxes{flex:1;max-width:100%;display:flex;flex-direction:column;gap:8px}#diff-file-tree{flex:0 0 20%;max-width:380px;line-height:inherit;position:sticky;padding-top:0;top:47px;max-height:calc(100vh - 47px);height:100%;overflow-y:auto}.ui.message.unicode-escape-prompt{margin-bottom:0;border-radius:0;display:flex;flex-direction:column}.ui.buttons .unescape-button{border-top-right-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.webhook-info{padding:7px 12px;margin:10px 0;background-color:var(--color-markup-code-block);border:1px solid var(--color-secondary);border-radius:var(--border-radius);font-size:13px;line-height:1.5;overflow:auto}.title_wip_desc{margin-top:1em}.sidebar-item-link{display:inline-flex;align-items:center;overflow-wrap:anywhere}.diff-file-header{padding:5px 8px!important;box-shadow:0 -1px 0 1px var(--color-body);font-weight:var(--font-weight-normal);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.diff-file-header .file{min-width:0}.diff-file-header .file-link{max-width:fit-content;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.diff-file-header .button{padding:0 12px;flex:0 0 auto;margin-right:0;height:30px}@media (max-width: 767.98px){.diff-file-header{flex-direction:column;align-items:stretch}}.diff-file-box[data-folded=true] .diff-file-body{display:none}.diff-file-box[data-folded=true] .diff-file-header{border-radius:var(--border-radius)!important}.ui.attached.header.diff-file-header.sticky-2nd-row{position:sticky;top:44px;z-index:7}.diff-file-name{flex:auto;min-width:100px}.diff-file-name .ui.label{margin-left:0!important}.diff-stats-bar{display:inline-block;background-color:var(--color-red);height:12px;width:44px}.diff-stats-bar .diff-stats-add-bar{background-color:var(--color-green);height:100%}.ui.form .right .ui.button{margin-left:.25em;margin-right:0}.removed-code{background:var(--color-diff-removed-word-bg)}.added-code{background:var(--color-diff-added-word-bg)}.code-diff-unified .del-code,.code-diff-unified .del-code td,.code-diff-split .del-code .lines-num-old,.code-diff-split .del-code .lines-escape-old,.code-diff-split .del-code .lines-type-marker-old,.code-diff-split .del-code .lines-code-old{background:var(--color-diff-removed-row-bg);border-color:var(--color-diff-removed-row-border)}.code-diff-unified .add-code,.code-diff-unified .add-code td,.code-diff-split .add-code .lines-type-marker-new,.code-diff-split .add-code .lines-escape-new,.code-diff-split .add-code .lines-code-new,.code-diff-split .del-code .add-code.lines-type-marker-new,.code-diff-split .del-code .add-code.lines-escape-new,.code-diff-split .del-code .add-code.lines-code-new{background:var(--color-diff-added-row-bg);border-color:var(--color-diff-added-row-border)}.code-diff-split .del-code .lines-type-marker-new,.code-diff-split .del-code .lines-code-new,.code-diff-split .del-code .lines-escape-new,.code-diff-split .add-code .lines-escape-old,.code-diff-split .add-code .lines-type-marker-old,.code-diff-split .add-code .lines-code-old,.code-diff-split .add-code .lines-num.lines-num-old,.code-diff-split .del-code .lines-num.lines-num-new{background:var(--color-diff-inactive)}.code-diff-unified .del-code .lines-num,.code-diff-split .del-code .lines-num{background:var(--color-diff-removed-linenum-bg);color:var(--color-text)}.code-diff-unified .add-code .lines-num,.code-diff-split .add-code .lines-num,.code-diff-split .del-code .add-code.lines-num{background:var(--color-diff-added-linenum-bg);color:var(--color-text)}.code-diff-split tbody tr td:nth-child(5),.code-diff-split tbody tr td.add-comment-right{border-left:1px solid var(--color-secondary)}.migrate-entries{display:grid!important;grid-template-columns:repeat(3,1fr);gap:25px;margin:0!important}@media (max-width: 767.98px){.migrate-entries{grid-template-columns:repeat(1,1fr)}}.migrate-entry{transition:all .1s ease-in-out;box-shadow:none!important;border:1px solid var(--color-secondary);color:var(--color-text)!important;width:auto!important;margin:0!important}.migrate-entry:hover{transform:scale(105%);box-shadow:0 .5rem 1rem var(--color-shadow)!important}.migrate-entry .description{text-wrap:balance}.commits-table .commits-table-right form{display:flex;align-items:center;gap:.75em;justify-content:center;flex-wrap:wrap}@media (max-width: 767.98px){.repository.file.list #repo-files-table .entry,.repository.file.list #repo-files-table .commit-list{align-items:center;display:flex!important;padding-top:4px;padding-bottom:4px}.repository.file.list #repo-files-table .entry td.age,.repository.file.list #repo-files-table .commit-list td.age,.repository.file.list #repo-files-table .entry th.age,.repository.file.list #repo-files-table .commit-list th.age{margin-left:auto}.repository.file.list #repo-files-table .entry td.message,.repository.file.list #repo-files-table .commit-list td.message,.repository.file.list #repo-files-table .entry span.commit-summary,.repository.file.list #repo-files-table .commit-list tr span.commit-summary{display:none!important}.repository.view.issue .comment-list .timeline,.repository.view.issue .comment-list .timeline-item{margin-left:0}.repository.view.issue .comment-list .timeline:before{left:14px}.repository.view.issue .comment-list .timeline .inline-timeline-avatar{display:flex;margin-bottom:auto;margin-left:6px;margin-right:2px}.repository.view.issue .comment-list .timeline .comment-header{padding-left:4px}.repository.view.issue .comment-list .timeline .comment-header:before,.repository.view.issue .comment-list .timeline .comment-header:after{content:unset}.repository.view.issue .comment-list .timeline .timeline-avatar,.repository.view.issue .comment-list .timeline .comment-header-right .role-label{display:none}.commit-header-row .ui.horizontal.list{width:100%;overflow-x:auto;margin-top:2px}.commit-header-row .ui.horizontal.list .item{align-items:center;display:flex}.commit-header-row .author{padding:3px 0}.commit-header h3{flex-basis:auto!important;margin-bottom:.5rem!important}.commits-table{flex-direction:column}.commits-table .commits-table-left{align-items:initial!important;margin-bottom:6px}.commits-table .commits-table-right form>div:nth-child(1){order:1}.commits-table .commits-table-right form>div:nth-child(2){order:3}.commits-table .commits-table-right form>button:nth-child(3){order:2}.commit-table{overflow-x:auto}.commit-table td.sha,.commit-table th.sha{display:none!important}.comment-header,.comment-header .comment-header-left{flex-wrap:wrap}.comment-header .comment-header-right{margin-left:auto}}.commit-status-header{border:none!important;border-bottom:1px solid var(--color-secondary)!important;margin:0 0 -1px!important}.commit-status-list{max-height:240px;overflow-x:hidden;transition:max-height .2s}.commit-status-item{height:40px;padding:0 10px;display:flex;gap:8px;align-items:center}.commit-status-item+.commit-status-item{border-top:1px solid var(--color-secondary)}.commit-status-item .commit-status{flex-shrink:0}.commit-status-item .status-context{color:var(--color-text);flex:1}.commit-status-item .status-details{display:flex;align-items:center;justify-content:flex-end;gap:8px}@media (max-width: 767.98px){.commit-status-item .status-details{flex-direction:column;align-items:flex-end;justify-content:center}}.commit-status-item .status-details>span{padding-right:.5em}.search-fullname{color:var(--color-text-light-2)}#issue-pins{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}@media (max-width: 767.98px){#issue-pins{grid-template-columns:repeat(1,1fr)}}#cherry-pick-modal .scrolling.menu{max-height:200px}.branch-selector-dropdown{max-width:100%}.ui.dropdown.branch-selector-dropdown>.menu{margin-top:4px}.ui.dropdown.branch-selector-dropdown .scrolling.menu{max-width:min(400px,90vw)}.branch-selector-dropdown .branch-dropdown-button{margin:0;max-width:340px;line-height:var(--line-height-default)}@media (min-width: 768px) and (max-width: 991.98px){.branch-selector-dropdown .branch-dropdown-button{max-width:185px}}@media (max-width: 767.98px){.branch-selector-dropdown .branch-dropdown-button{max-width:165px}}.branch-selector-dropdown .branch-tag-tab{padding:0 10px}.branch-selector-dropdown .branch-tag-item{display:inline-block;padding:10px;border:1px solid transparent;border-bottom:none}.branch-selector-dropdown .branch-tag-item.active{border-color:var(--color-secondary);background:var(--color-menu);border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius)}.branch-selector-dropdown .branch-tag-divider{margin-top:-1px!important;border-top:1px solid var(--color-secondary)}.branch-selector-dropdown .scrolling.menu{border-top:none!important}.branch-selector-dropdown .menu .item .rss-icon{position:absolute;right:4px;visibility:hidden}.branch-selector-dropdown .menu .item:hover .rss-icon{visibility:visible}.branch-selector-dropdown .scrolling.menu .loading-indicator{height:4em}#release-list{display:flex;flex-direction:column;gap:var(--page-spacing);padding-left:0}#release-list .release-list-title{font-size:2rem;font-weight:var(--font-weight-normal);display:flex;align-items:center;gap:.25em;margin:0}#release-list .release-entry{display:flex;gap:var(--page-spacing)}#release-list .release-entry .meta{flex:0 0 150px;position:relative;text-align:right;display:flex;flex-direction:column;gap:10px}#release-list .release-entry .detail{flex:1;margin:0}@media (max-width: 767.98px){#release-list .release-entry{flex-direction:column;gap:var(--page-spacing)}#release-list .release-entry .meta{margin-left:6px;flex-direction:row;flex-basis:auto;display:flex;align-items:center}#release-list .js-branch-tag-selector{margin-left:auto}#release-list .branch-selector-dropdown .menu{right:0;left:auto}}#release-list .release-entry .detail .author img{margin-bottom:2px}#release-list .release-entry .detail .download .list{padding-left:0;border:1px solid var(--color-secondary);border-radius:var(--border-radius)}#release-list .release-entry .detail .download .list li{display:flex;justify-content:space-between;padding:8px;border-bottom:1px solid var(--color-secondary)}#release-list .release-entry .detail .download[open] summary{margin-bottom:10px}#release-list .download-icon{margin-right:.25rem;color:var(--color-text-light-1)}#release-list .release-entry .detail .download .list li:last-child{border-bottom:none}#tags-table .tag-list-row{padding:8px 12px}#tags-table .tag-list-row-title{font-size:18px;font-weight:var(--font-weight-normal)}.repository.new.release .target{min-width:500px}.repository.new.release .target #tag-name{margin-top:-4px}.repository.new.release .target .at{margin-left:-5px;margin-right:5px}.repository.new.release .target .selection.dropdown{padding-top:10px;padding-bottom:10px}.repository.new.release .prerelease.field{margin-bottom:0}@media (max-width: 438px){.repository.new.release .field button,.repository.new.release .field input{width:100%}}@media (max-width: 767.98px){.repository.new.release .field button{margin-bottom:1em}}.repository.new.release .field .attachment_edit{max-width:48em}.repository.new.release .markup{min-height:240px}.issue-card{display:flex;flex-direction:column;gap:4px;align-items:stretch;border-radius:var(--border-radius);padding:8px 10px;border:1px solid var(--color-secondary);background:var(--color-card)}.issue-card-icon,.issue-card-unpin{margin-top:1px;flex-shrink:0}.issue-card-title{flex:1;font-size:14px}.issue-card.sortable-chosen .issue-card-title{cursor:inherit}.issue-card-bottom{display:flex;width:100%;justify-content:space-between;gap:.25em}.issue-card-assignees{display:flex;align-items:center;gap:.25em;justify-content:end;flex-wrap:wrap}.issue-label-list{list-style:none;padding:0;margin:0}.issue-label-list .item{border-bottom:1px solid var(--color-secondary);display:flex;padding:1em 0;margin:0}.issue-label-list .item:first-child{padding-top:0}.issue-label-list .item:last-child{border-bottom:none;padding-bottom:0}.issue-label-list .item .label-title,.issue-label-list .item .label-issues,.issue-label-list .item .label-operation{width:33%}.issue-label-list .item a{font-size:12px;padding-right:10px;color:var(--color-text-light)}.issue-label-list .item.org-label{opacity:.7}.label-operation .label{height:fit-content}.archived-label-hint{float:right;margin:-12px}.issue-list-toolbar{display:flex;flex-wrap:wrap-reverse;justify-content:space-between;align-items:flex-start;gap:1rem;margin-top:1rem}.issue-list-toolbar-left{display:flex;align-items:center}.issue-list-toolbar-right .filter.menu{flex-direction:row;flex-wrap:wrap}@media (max-width: 767.98px){.issue-list-toolbar-right .dropdown .menu{left:auto!important;right:auto!important}.issue-list-navbar{order:0}.issue-list-new{order:1;margin-left:auto!important}.issue-list-search{order:2!important}}#issue-list .flex-item-body .branches{display:inline-flex}#issue-list .flex-item-body .branches .branch{background-color:var(--color-secondary-alpha-50);border-radius:var(--border-radius);padding:0 4px}#issue-list .flex-item-body .branches .truncated-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;display:inline-block;vertical-align:top}#issue-list .flex-item-body .checklist progress{margin-left:2px;width:80px;height:6px;display:inline-block}#issue-list .flex-item-body .checklist progress::-webkit-progress-value{background-color:var(--color-secondary-dark-4)}#issue-list .flex-item-body .checklist progress::-moz-progress-bar{background-color:var(--color-secondary-dark-4)}.archived-label-filter{margin-left:10px;font-size:12px;display:flex!important;margin-bottom:8px;min-width:fit-content}.list-header{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.list-header-sort{display:flex;align-items:center;padding-left:1rem;padding-right:1rem}.list-header-search{display:flex;flex:1;align-items:center;flex-wrap:wrap;justify-content:center;min-width:200px}.list-header-search .input{flex:1}@media (max-width: 767.98px){.list-header-search{order:0}.list-header-toggle{order:1}.list-header-sort{order:2;margin-left:auto}}.code-view .lines-num:hover{color:var(--color-text-dark)!important}.code-line-button{border:1px solid var(--color-secondary);border-radius:var(--border-radius);padding:1px 4px!important;position:absolute;font-family:var(--fonts-regular);left:0;transform:translate(calc(-50% + 6px));cursor:pointer}.code-line-button:hover{background:var(--color-secondary)!important}.repository.wiki .wiki-pages-list tr:hover{background-color:var(--color-hover)}.repository.wiki .wiki-pages-list .wiki-git-entry{margin-left:10px;display:none}.repository.wiki .wiki-pages-list tr:hover .wiki-git-entry{display:inline-block}.repository.wiki .markup{overflow:visible}.repository.wiki .markup[data-tab-panel=markdown-previewer]{min-height:340px}.repository.wiki .wiki-content-parts .markup{border:1px solid var(--color-secondary);border-radius:var(--border-radius);padding:1em;margin-top:1em;font-size:1em}.repository.wiki .wiki-content-main.with-sidebar{float:left;width:80%;max-width:calc(100% - 150px - 1em)}.repository.wiki .wiki-content-sidebar{float:right;width:calc(20% - 1em);min-width:150px}.repository.wiki .wiki-content-sidebar .ui.message.unicode-escape-prompt p{display:none}.repository.wiki .wiki-content-footer{margin-top:1em}.repository.wiki .wiki-content-toc ul{margin:0;list-style:none;padding:5px 0 5px 1em}.repository.wiki .wiki-content-toc ul ul{border-left:1px var(--color-secondary);border-left-style:dashed}@media (max-width: 767.98px){.repository.wiki .clone-panel #repo-clone-url{width:160px}.repository.wiki .wiki-content-main.with-sidebar,.repository.wiki .wiki-content-sidebar{float:none;width:100%;min-width:unset;max-width:unset}}.repository .secondary-nav{padding-top:12px}.repository .secondary-nav .fork-flag{margin-top:.5rem;font-size:12px}.repo-header{display:flex;flex-flow:row wrap;justify-content:space-between;gap:.5rem;margin-bottom:4px}.repo-header .flex-item{padding:0}.repo-header .flex-item-main{flex:0;flex-basis:unset}.repo-header .flex-item-trailing{flex-wrap:nowrap}.repo-buttons{align-items:center;display:flex;flex-flow:row wrap;word-break:keep-all;gap:.25em}.repo-buttons button[disabled]~.label{opacity:var(--opacity-disabled);color:var(--color-text-dark);background:var(--color-light-mimic-enabled)!important}.repo-buttons button[disabled]~.label:hover{color:var(--color-primary-dark-1)}.repo-buttons .ui.labeled.button.disabled{pointer-events:inherit!important}.repo-buttons .ui.labeled.button.disabled>.label{color:var(--color-text-dark);background:var(--color-light-mimic-enabled)!important}.repo-buttons .ui.labeled.button.disabled>.label:hover{color:var(--color-primary-dark-1)}.repo-buttons .ui.labeled.button.disabled>.button{pointer-events:none!important}@media (max-width: 767.98px){.repo-buttons .ui.button,.repo-buttons .ui.label{padding-left:8px;padding-right:8px;margin:0}}.bottom-reactions{display:flex;gap:6px;margin:0 1em 1em}.timeline-item .conversation-holder .bottom-reactions{margin:1em 0 0 36px;padding-bottom:8px}.bottom-reactions .ui.label{padding:5px 8px;font-weight:var(--font-weight-normal)}.bottom-reactions .ui.label.primary{background-color:var(--color-reaction-active-bg)!important}.bottom-reactions .ui.label:hover{background-color:var(--color-reaction-hover-bg)!important}.bottom-reactions .ui.label.disabled{cursor:default;opacity:1}.bottom-reactions .ui.label .reaction{font-size:16px;display:flex}.bottom-reactions .ui.label .reaction img{height:16px;aspect-ratio:1}.bottom-reactions .reaction-count{margin-left:4px}.ui.dropdown.select-reaction .menu{min-width:170px}.ui.dropdown.select-reaction .menu>.item{float:left;margin:4px;font-size:20px;width:34px;height:34px;border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center}.bottom-reactions .select-reaction{padding:0 10px}.bottom-reactions .select-reaction:not(.active){visibility:hidden}.bottom-reactions:hover .select-reaction{visibility:visible}.repository.file.editor .tab[data-tab=write]{padding:0!important}.repository.file.editor .tab[data-tab=write] .editor-toolbar{border:0!important}.repository.file.editor .tab[data-tab=write] .CodeMirror{border-left:0;border-right:0;border-bottom:0}.repo-editor-header{display:flex;margin:1rem 0;padding:3px 0}.editor-toolbar{border-color:var(--color-secondary)}.editor-toolbar.fullscreen{background:var(--color-body)}.editor-toolbar button{border:none!important;color:var(--color-text-light)}.editor-toolbar button:not(:hover){background-color:transparent!important}.editor-toolbar i.separator{border-left:none;border-right-color:var(--color-secondary)}.editor-toolbar button:hover{background:var(--color-hover)}.editor-toolbar button.active{background:var(--color-active)}.editor-toolbar:not(.fullscreen) .preview{display:none}.editor-toolbar.fullscreen .revert-to-textarea{display:none}.editor-preview{background-color:var(--color-body)}.editor-preview-side{border-color:var(--color-secondary)}.editor-statusbar{color:var(--color-text-light)}.editor-loading{padding:1rem;text-align:center}.edit-diff{padding:0!important}.edit-diff>div>.ui.table{border-top:none!important;border-bottom:none!important}.combo-markdown-editor{width:100%}.combo-markdown-editor markdown-toolbar{cursor:default;display:flex;align-items:center;padding-bottom:10px;gap:.5rem;flex-wrap:wrap}.combo-markdown-editor .markdown-toolbar-group{display:flex}.combo-markdown-editor .markdown-toolbar-group:last-child{flex:1;justify-content:flex-end}.combo-markdown-editor .markdown-toolbar-button{border:none;background:none;user-select:none;padding:5px;cursor:pointer;color:var(--color-text)}.combo-markdown-editor .markdown-toolbar-button:hover{color:var(--color-primary)}.ui.form .combo-markdown-editor textarea.markdown-text-editor,.combo-markdown-editor textarea.markdown-text-editor{display:block;width:100%;max-height:calc(100vh - var(--min-height-textarea));resize:vertical}.combo-markdown-editor .CodeMirror-scroll{max-height:calc(100vh - var(--min-height-textarea))}.combo-markdown-editor .CodeMirror-scroll .cm-header-1{font-size:2em}.combo-markdown-editor .CodeMirror-scroll .cm-header-2{font-size:1.5em}.combo-markdown-editor .CodeMirror-scroll .cm-header-3{font-size:1.25em}.combo-markdown-editor .CodeMirror-scroll .cm-header-4{font-size:1em}.combo-markdown-editor .CodeMirror-scroll .cm-header-5{font-size:.875em}.combo-markdown-editor .CodeMirror-scroll .cm-header-6{font-size:.85em}text-expander{display:block;position:relative}text-expander .suggestions{position:absolute;min-width:180px;padding:0;margin-top:24px;list-style:none;background:var(--color-box-body);border-radius:var(--border-radius);border:1px solid var(--color-secondary);box-shadow:0 .5rem 1rem var(--color-shadow);z-index:100}text-expander .suggestions li{display:flex;align-items:center;cursor:pointer;padding:4px 8px;font-weight:var(--font-weight-medium)}text-expander .suggestions li+li{border-top:1px solid var(--color-secondary-alpha-40)}text-expander .suggestions li:first-child{border-radius:var(--border-radius) var(--border-radius) 0 0}text-expander .suggestions li:last-child{border-radius:0 0 var(--border-radius) var(--border-radius)}text-expander .suggestions li:only-child{border-radius:var(--border-radius)}text-expander .suggestions li:hover{background:var(--color-hover)}text-expander .suggestions .fullname{font-weight:var(--font-weight-normal);margin-left:4px;color:var(--color-text-light-1)}text-expander .suggestions li[aria-selected=true],text-expander .suggestions li[aria-selected=true] span{background:var(--color-primary);color:var(--color-primary-contrast)}text-expander .suggestions img{width:24px;height:24px;margin-right:8px}#create-page-form form{margin:auto}#create-page-form form .ui.message{text-align:center}@media (min-width: 768px){#create-page-form form{width:800px!important}#create-page-form form .header{padding-left:280px!important}#create-page-form form .inline.field>label{text-align:right;width:250px!important;word-wrap:break-word}#create-page-form form .help{margin-left:265px!important}#create-page-form form .optional .title{margin-left:250px!important}#create-page-form form .inline.field>input,#create-page-form form .inline.field>textarea{width:50%}}@media (max-width: 767.98px){#create-page-form form .optional .title{margin-left:15px}#create-page-form form .inline.field>label{display:block}}.organization .head .ui.header .ui.right{margin-top:5px}.organization.new.org form{margin:auto}.organization.new.org form .ui.message{text-align:center}@media (min-width: 768px){.organization.new.org form{width:800px!important}.organization.new.org form .header{padding-left:280px!important}.organization.new.org form .inline.field>label{text-align:right;width:250px!important;word-wrap:break-word}.organization.new.org form .help{margin-left:265px!important}.organization.new.org form .optional .title{margin-left:250px!important}.organization.new.org form .inline.field>input,.organization.new.org form .inline.field>textarea{width:50%}}@media (max-width: 767.98px){.organization.new.org form .optional .title{margin-left:15px}.organization.new.org form .inline.field>label{display:block}}.organization.new.org form .header{padding-left:0!important;text-align:center}.page-content.organization .org-avatar{margin-right:15px}.page-content.organization #org-info{overflow-wrap:anywhere;flex:1}.page-content.organization #org-info .ui.header{display:flex;align-items:center;font-size:36px;margin-bottom:0}.page-content.organization #org-info .desc{font-size:16px;margin-bottom:10px}.page-content.organization #org-info .meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.page-content.organization .ui.top.header .ui.right{margin-top:0}.page-content.organization .teams .item{padding:10px 15px}.page-content.organization .members .ui.avatar{width:48px;height:48px;margin-right:5px;margin-bottom:5px}.organization.invite #invite-box{margin:50px auto auto;width:500px!important}.organization.invite #invite-box #search-user-box input{margin-left:0;width:300px}.organization.invite #invite-box .ui.button{margin-left:5px;margin-top:-3px}.organization.invite .ui.avatar{width:100%;height:100%}.organization.teams .detail .item{padding:10px 15px}.organization.teams .detail .item:not(:last-child){border-bottom:1px solid var(--color-secondary)}.org-team-navbar .active.item{background:var(--color-box-body)!important}.user.profile .ui.card .header{display:block;font-weight:var(--font-weight-semibold);font-size:1.3rem;margin-top:-.2rem;line-height:1.3rem}.user.profile .ui.card .profile-avatar-name{border-top:none;text-align:center}.user.profile .ui.card .extra.content{padding:0}.user.profile .ui.card .extra.content>ul{margin:0;padding:0}.user.profile .ui.card .extra.content>ul>li{padding:10px;display:flex;list-style:none;align-items:center;gap:.25em}.user.profile .ui.card .extra.content>ul>li:not(:last-child){border-bottom:1px solid var(--color-secondary)}.user.profile .ui.card .extra.content>ul>li.follow .ui.button{width:100%}.user.profile .ui.card #profile-avatar{padding:1rem 1rem .25rem;justify-content:center}.user.profile .ui.card #profile-avatar img{max-width:100%;height:auto}@media (max-width: 767.98px){.user.profile .ui.card #profile-avatar img{width:30vw}.user.profile .ui.card{width:100%}}.user.profile .ui.secondary.stackable.pointing.menu{flex-wrap:wrap}.user.followers .header.name{font-size:20px;line-height:24px;vertical-align:middle}.user.followers .follow .ui.button{padding:8px 15px}.user.link-account:not(.icon){padding-top:15px;padding-bottom:5px}.user-orgs{display:flex;flex-flow:row wrap;padding:0;margin:-3px!important}.user-orgs>li{display:flex;border-bottom:0!important;padding:3px!important;max-width:60px}.user-badges{display:grid;grid-template-columns:repeat(auto-fill,64px);gap:2px}.user-badges img{object-fit:contain}#readme_profile{padding:1em 2em;border-radius:var(--border-radius);background:var(--color-card);border:1px solid var(--color-secondary)}#notification_table{background:var(--color-box-body);border:1px solid var(--color-secondary);border-radius:var(--border-radius)}.notifications-item:hover{background:var(--color-hover)}.notifications-buttons{display:none;min-width:74px}.notifications-updated,.notifications-item:hover .notifications-buttons{display:flex}.notifications-item:hover .notifications-updated{display:none}.dashboard.feeds .context.user.menu,.dashboard.issues .context.user.menu{z-index:101;min-width:200px}.dashboard.feeds .context.user.menu .ui.header,.dashboard.issues .context.user.menu .ui.header{font-size:1rem}.dashboard.feeds .filter.menu,.dashboard.issues .filter.menu{width:initial}.dashboard.feeds .filter.menu .item,.dashboard.issues .filter.menu .item{text-align:left;display:flex;align-items:center;justify-content:space-between}.dashboard.feeds .filter.menu .item .text.truncate,.dashboard.issues .filter.menu .item .text.truncate{width:75%}.dashboard.feeds .filter.menu .jump.item,.dashboard.issues .filter.menu .jump.item{margin:1px;padding-right:0}.dashboard.feeds .filter.menu .menu,.dashboard.issues .filter.menu .menu{max-height:300px;overflow-x:auto;right:0!important;left:auto!important}@media (max-width: 767.98px){.dashboard.feeds .filter.menu,.dashboard.issues .filter.menu{width:100%}}.dashboard.feeds .right.stackable.menu>.item.active,.dashboard.issues .right.stackable.menu>.item.active{color:var(--color-red)}.dashboard .dashboard-repos,.dashboard .dashboard-orgs{margin:0 1px}.dashboard .secondary-nav{padding:1px 12px}.dashboard .secondary-nav .org-visibility .label{margin-left:5px}.dashboard .secondary-nav .ui.dropdown{max-width:100%}.admin.hooks .list>.item:not(:first-child){border-top:1px solid var(--color-secondary);padding:.25rem 1rem;margin:12px -1rem -1rem}.admin dl.admin-dl-horizontal{padding:1em;margin:0;display:flex;flex-wrap:wrap}.admin dl.admin-dl-horizontal dt,.admin dl.admin-dl-horizontal dd{line-height:var(--line-height-default);padding:5px 0}.admin dl.admin-dl-horizontal dt{width:300px;max-width:calc(100% - 100px - 1em);font-weight:var(--font-weight-semibold)}.admin dl.admin-dl-horizontal dd{margin-left:auto;width:calc(100% - 300px - 1em);min-width:100px}.admin code,.admin pre{white-space:pre-wrap;word-wrap:break-word}.admin .ui.table.segment{overflow-x:auto}.admin .table th{white-space:nowrap}.admin-responsive-columns{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.explore .secondary-nav{border-width:1px!important}.explore .secondary-nav .svg{width:16px;text-align:center;margin-right:5px}.ui.repository.branches .info{font-size:12px;color:var(--color-text-light);display:flex;white-space:pre}.ui.repository.branches .info .commit-message{max-width:72em;overflow:hidden;text-overflow:ellipsis}.ui.repository.branches .overflow-visible{overflow:visible}.ui.repository.branches table .ui.popup{text-align:left}.show-outdated,.hide-outdated{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;margin-right:0!important}.ui.button.add-code-comment{padding:2px;position:absolute;margin-left:-22px;z-index:5;opacity:0;transition:transform .1s ease-in-out;transform:scale(1);box-shadow:none!important;border:none!important}.ui.button.add-code-comment:hover{transform:scale(1.1)}.lines-escape .toggle-escape-button:before{visibility:visible;content:"\26a0\fe0f";font-family:var(--fonts-emoji);color:var(--color-red)}.repository .diff-file-box .code-diff td.lines-escape{padding-left:0!important}.diff-file-box .lines-code:hover .ui.button.add-code-comment{opacity:1}.ui.button.add-code-comment:focus{opacity:1}.repository .diff-file-box .code-diff .add-comment-left,.repository .diff-file-box .code-diff .add-comment-right,.repository .diff-file-box .code-diff .add-code-comment .add-comment-left,.repository .diff-file-box .code-diff .add-code-comment .add-comment-right,.repository .diff-file-box .code-diff .add-code-comment .lines-type-marker{padding-left:0!important;padding-right:0!important}.add-comment-left.add-comment-right .ui.attached.header{border:1px solid var(--color-secondary)}.add-comment-left.add-comment-right .ui.attached.header:not(.top){margin-bottom:.5em}.show-outdated:hover,.hide-outdated:hover{text-decoration:underline}.comment-code-cloud{padding:.5rem 1rem!important;position:relative}.code-diff .conversation-holder .comment-code-cloud{max-width:820px}.comment-code-cloud .comments .comment{padding:0}.comment-code-cloud .attached.tab{border:0;padding:0;margin:0}.comment-code-cloud .attached.header{padding:1px 8px 1px 12px}@media (max-width: 767.98px){.comment-code-cloud .attached.header{padding-top:4px;padding-bottom:4px}}.comment-code-cloud .attached.header .text{margin:0}.comment-code-cloud .right.menu.options .item{padding:.85714286em .442857em;cursor:pointer}.comment-code-cloud .ui.active.tab{padding:.5em}.comment-code-cloud .ui.active.tab.markup{padding:1em;min-height:168px}.comment-code-cloud .ui.tabular.menu{margin:.5em}.comment-code-cloud .editor-statusbar{display:none}.comment-code-cloud .footer{padding:10px 0}.comment-code-cloud .footer .markup-info{display:inline-block;margin:5px 0;font-size:12px;color:var(--color-text-light)}.comment-code-cloud .footer .ui.right.floated{padding-top:6px}.comment-code-cloud .footer:after{clear:both;content:"";display:block}.diff-file-body .comment-form{margin:0 0 0 3em}.diff-file-body.binary{padding:5px 10px}.file-comment{color:var(--color-text)}.code-expander-button{border:none;color:var(--color-text-light);height:28px;display:flex;justify-content:center;align-items:center;width:100%;background:var(--color-expand-button);flex:1}.code-expander-buttons[data-expand-direction="3"] .code-expander-button{height:18px}.code-expander-button:hover{background:var(--color-primary);color:var(--color-primary-contrast)}.review-box-panel .ui.segment{border:none}.review-box-panel .CodeMirror-scroll{min-height:80px;max-height:calc(100vh - 360px)}.review-box-panel .combo-markdown-editor{width:730px;max-width:calc(100vw - 70px)}#review-box{position:relative}#review-box .review-comments-counter{background-color:var(--color-primary-light-4);color:var(--color-primary-contrast)}#review-box:hover .review-comments-counter{background-color:var(--color-primary-light-5)}#review-box .review-comments-counter[data-pending-comment-number="0"]{display:none}.pull.files.diff .comment{scroll-margin-top:99px}@media (max-width: 991.98px){.pull.files.diff .comment{scroll-margin-top:130px}}.changed-since-last-review{border:1px var(--color-accent) solid;background-color:var(--color-small-accent);border-radius:var(--border-radius);padding:4px 8px;margin:-8px 0;font-size:.857rem}.viewed-file-form{display:flex;align-items:center;border:1px solid transparent;padding:4px 8px;border-radius:var(--border-radius);font-size:.857rem}@media (max-width: 767.98px){.viewed-file-form{margin-left:auto}}.viewed-file-form input{margin-right:4px}.viewed-file-checked-form{background-color:var(--color-small-accent);border-color:var(--color-accent)}#viewed-files-summary{width:100%;height:8px}.runner-container{padding-bottom:30px}.runner-container .ui.table.segment{overflow-x:auto}.runner-container .runner-ops>a{margin-left:.5em}.runner-container .runner-ops-delete{color:var(--color-red-light)}.runner-container .runner-new-text{color:var(--color-white)}.runner-container #runner-new:hover .runner-new-text{color:var(--color-white)!important}.runner-container .task-status-success{background-color:var(--color-green);color:var(--color-white)}.runner-container .task-status-failure{background-color:var(--color-red-light);color:var(--color-white)}.runner-container .task-status-running{background-color:var(--color-blue);color:var(--color-white)}.runner-container .task-status-cancelled,.runner-container .task-status-blocked{background-color:var(--color-yellow);color:var(--color-white)}.run-list-item-right{width:130px;display:flex;flex-direction:column;flex-shrink:0;gap:3px;color:var(--color-text-light)}.run-list-item-right .run-list-meta{display:flex;flex-wrap:nowrap;gap:.25rem;align-items:center}.run-list .flex-item-trailing{flex-wrap:nowrap;width:280px;flex:0 0 280px}.run-list-ref{display:inline-block!important}@media (max-width: 767.98px){.run-list .flex-item-trailing{flex-direction:column;align-items:flex-end;width:auto;flex-basis:auto}.run-list-item-right,.run-list-ref{max-width:110px}}.gt-word-break{word-wrap:break-word!important;word-break:break-word;overflow-wrap:anywhere}.gt-ellipsis{overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important}.g-table-auto-ellipsis td.auto-ellipsis{position:relative}.g-table-auto-ellipsis td.auto-ellipsis span{position:absolute;inset:0;padding:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.interact-fg{color:inherit!important}.interact-fg:hover{color:var(--color-primary)!important}.interact-fg:active{color:var(--color-primary-active)!important}.interact-bg{background:transparent!important}.interact-bg:hover{background:var(--color-hover)!important}.interact-bg:active{background:var(--color-active)!important}.tw-hidden.tw-hidden{display:none!important}.tw-break-anywhere{overflow-wrap:anywhere!important}@media (max-width: 767.98px){.not-mobile.not-mobile{display:none!important}}@media (min-width: 767.98px){.only-mobile.only-mobile{display:none!important}}.tab-size-1{tab-size:1!important}.tab-size-2{tab-size:2!important}.tab-size-3{tab-size:3!important}.tab-size-4{tab-size:4!important}.tab-size-5{tab-size:5!important}.tab-size-6{tab-size:6!important}.tab-size-7{tab-size:7!important}.tab-size-8{tab-size:8!important}.tab-size-9{tab-size:9!important}.tab-size-10{tab-size:10!important}.tab-size-11{tab-size:11!important}.tab-size-12{tab-size:12!important}.tab-size-13{tab-size:13!important}.tab-size-14{tab-size:14!important}.tab-size-15{tab-size:15!important}.tab-size-16{tab-size:16!important}.tw-pointer-events-none{pointer-events:none!important}.tw-invisible{visibility:hidden!important}.tw-relative{position:relative!important}.tw-float-right{float:right!important}.tw-clear-both{clear:both!important}.tw-m-0{margin:0!important}.tw-m-1{margin:.25rem!important}.tw-m-auto{margin:auto!important}.tw-mx-0{margin-left:0!important;margin-right:0!important}.tw-mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.tw-mx-auto{margin-left:auto!important;margin-right:auto!important}.tw-my-0{margin-top:0!important;margin-bottom:0!important}.tw-my-0\.5{margin-top:.125rem!important;margin-bottom:.125rem!important}.tw-my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.tw-my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.tw-my-8{margin-top:2rem!important;margin-bottom:2rem!important}.tw-my-\[--page-spacing\]{margin-top:var(--page-spacing)!important;margin-bottom:var(--page-spacing)!important}.tw-mb-0{margin-bottom:0!important}.tw-mb-1{margin-bottom:.25rem!important}.tw-mb-2{margin-bottom:.5rem!important}.tw-mb-4{margin-bottom:1rem!important}.tw-mb-8{margin-bottom:2rem!important}.tw-mb-\[--page-spacing\]{margin-bottom:var(--page-spacing)!important}.tw-ml-0{margin-left:0!important}.tw-ml-0\.5{margin-left:.125rem!important}.tw-ml-1{margin-left:.25rem!important}.tw-ml-2{margin-left:.5rem!important}.tw-ml-4{margin-left:1rem!important}.tw-ml-\[33px\]{margin-left:33px!important}.tw-ml-auto{margin-left:auto!important}.tw-mr-0{margin-right:0!important}.tw-mr-1{margin-right:.25rem!important}.tw-mr-2{margin-right:.5rem!important}.tw-mr-4{margin-right:1rem!important}.tw-mr-8{margin-right:2rem!important}.tw-mt-0{margin-top:0!important}.tw-mt-0\.5{margin-top:.125rem!important}.tw-mt-1{margin-top:.25rem!important}.tw-mt-2{margin-top:.5rem!important}.tw-mt-4{margin-top:1rem!important}.tw-mt-8{margin-top:2rem!important}.tw-inline-block{display:inline-block!important}.tw-flex{display:flex!important}.tw-hidden{display:none!important}.tw-h-12{height:3rem!important}.tw-h-\[40px\]{height:40px!important}.tw-w-12{width:3rem!important}.tw-w-2\/5{width:40%!important}.tw-w-4\/5{width:80%!important}.tw-w-\[40px\]{width:40px!important}.tw-w-auto{width:auto!important}.tw-w-full{width:100%!important}.tw-max-w-2xl{max-width:42rem!important}.tw-max-w-48{max-width:12rem!important}.tw-max-w-96{max-width:24rem!important}.tw-max-w-\[300px\]{max-width:300px!important}.tw-max-w-\[80vw\]{max-width:80vw!important}.tw-max-w-full{max-width:100%!important}.tw-flex-1{flex:1 1 0%!important}.tw-shrink-0{flex-shrink:0!important}.tw-cursor-default{cursor:default!important}.tw-cursor-grab{cursor:grab!important}.tw-cursor-grabbing{cursor:grabbing!important}.tw-cursor-pointer{cursor:pointer!important}.tw-flex-col{flex-direction:column!important}.tw-flex-wrap{flex-wrap:wrap!important}.tw-content-center{align-content:center!important}.tw-items-start{align-items:flex-start!important}.tw-items-center{align-items:center!important}.tw-justify-end{justify-content:flex-end!important}.tw-justify-center{justify-content:center!important}.tw-justify-between{justify-content:space-between!important}.tw-gap-1{gap:.25rem!important}.tw-gap-2{gap:.5rem!important}.tw-gap-3{gap:.75rem!important}.tw-gap-4{gap:1rem!important}.tw-gap-\[5px\]{gap:5px!important}.tw-gap-x-2{column-gap:.5rem!important}.tw-self-start{align-self:flex-start!important}.tw-overflow-hidden{overflow:hidden!important}.tw-overflow-x-scroll{overflow-x:scroll!important}.tw-whitespace-nowrap{white-space:nowrap!important}.tw-whitespace-pre{white-space:pre!important}.tw-whitespace-pre-line{white-space:pre-line!important}.tw-whitespace-pre-wrap{white-space:pre-wrap!important}.tw-break-all{word-break:break-all!important}.tw-rounded{border-radius:var(--border-radius)!important}.tw-rounded-b{border-bottom-right-radius:var(--border-radius)!important;border-bottom-left-radius:var(--border-radius)!important}.tw-border{border-width:1px!important}.tw-border-b{border-bottom-width:1px!important}.tw-border-secondary{border-color:var(--color-secondary)!important}.tw-border-b-secondary{border-bottom-color:var(--color-secondary)!important}.tw-bg-green{background-color:var(--color-green)!important}.tw-bg-grey{background-color:var(--color-grey)!important}.tw-bg-purple{background-color:var(--color-purple)!important}.tw-bg-red{background-color:var(--color-red)!important}.tw-bg-transparent{background-color:transparent!important}.tw-object-contain{object-fit:contain!important}.tw-p-0{padding:0!important}.tw-p-1{padding:.25rem!important}.tw-p-16{padding:4rem!important}.tw-p-2{padding:.5rem!important}.tw-p-3{padding:.75rem!important}.tw-p-4{padding:1rem!important}.tw-p-6{padding:1.5rem!important}.tw-px-1{padding-left:.25rem!important;padding-right:.25rem!important}.tw-px-4{padding-left:1rem!important;padding-right:1rem!important}.tw-px-8{padding-left:2rem!important;padding-right:2rem!important}.tw-py-0{padding-top:0!important;padding-bottom:0!important}.tw-py-0\.5{padding-top:.125rem!important;padding-bottom:.125rem!important}.tw-py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.tw-py-16{padding-top:4rem!important;padding-bottom:4rem!important}.tw-py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.tw-py-3{padding-top:.75rem!important;padding-bottom:.75rem!important}.tw-py-32{padding-top:8rem!important;padding-bottom:8rem!important}.tw-py-4{padding-top:1rem!important;padding-bottom:1rem!important}.tw-py-8{padding-top:2rem!important;padding-bottom:2rem!important}.tw-pb-0{padding-bottom:0!important}.tw-pb-1{padding-bottom:.25rem!important}.tw-pb-4{padding-bottom:1rem!important}.tw-pl-1{padding-left:.25rem!important}.tw-pl-2{padding-left:.5rem!important}.tw-pl-3{padding-left:.75rem!important}.tw-pl-4{padding-left:1rem!important}.tw-pl-\[26px\]{padding-left:26px!important}.tw-pr-0{padding-right:0!important}.tw-pr-1{padding-right:.25rem!important}.tw-pr-2{padding-right:.5rem!important}.tw-pr-4{padding-right:1rem!important}.tw-pt-0{padding-top:0!important}.tw-pt-1{padding-top:.25rem!important}.tw-pt-2{padding-top:.5rem!important}.tw-text-left{text-align:left!important}.tw-text-center{text-align:center!important}.tw-text-right{text-align:right!important}.tw-align-middle{vertical-align:middle!important}.tw-font-mono{font-family:var(--fonts-monospace)!important}.tw-text-12{font-size:12px!important}.tw-text-13{font-size:13px!important}.tw-text-14{font-size:14px!important}.tw-text-16{font-size:16px!important}.tw-text-18{font-size:18px!important}.tw-font-bold{font-weight:var(--font-weight-bold)!important}.tw-font-normal{font-weight:var(--font-weight-normal)!important}.tw-font-semibold{font-weight:var(--font-weight-semibold)!important}.tw-italic{font-style:italic!important}.tw-text-text{color:var(--color-text)!important}.tw-text-white{color:var(--color-white)!important}.tw-no-underline{text-decoration-line:none!important}.\[begin\:end\]{begin:end!important}.\[blobPos\:blobPos\+needWrite\]{blob-pos:blobPos+needWrite!important}.\[blobPos\:blobPos\+realRead\]{blob-pos:blobPos+realRead!important}.\[frontMatterStart\:start\]{front-matter-start:start!important}.\[i\:chunk\]{i:chunk!important}.\[i\:i\+8\]{i:i+8!important}.\[idx\:length\]{idx:length!important}.\[lastIndex\:i\]{last-index:i!important}.\[lastStart\:lastEnd\]{last-start:lastEnd!important}.\[left\:left\+right\]{left:left+right!important}.\[messageStart\:msgEnd\]{message-start:msgEnd!important}.\[openActiveIndex\:closeActiveIndex\]{open-active-index:closeActiveIndex!important}.\[p1\:p2\]{p1:p2!important}.\[pageStart\:pageEnd\]{page-start:pageEnd!important}.\[pos1\:end1\]{pos1:end1!important}.\[pos2\:end2\]{pos2:end2!important}.\[pos\:endPos\]{pos:endPos!important}.\[pos\:end\]{pos:end!important}.\[pos\:next\]{pos:next!important}.\[pos\:pos\+6\]{pos:pos+6!important}.\[pos\:pos\+right\]{pos:pos+right!important}.\[pos\:posEnd\]{pos:posEnd!important}.\[posBegin\:posEnd\]{pos-begin:posEnd!important}.\[sepAtPos\:sepEndPos\]{sep-at-pos:sepEndPos!important}.\[signStart\:signEnd\]{sign-start:signEnd!important}.\[start\:end\]{start:end!important}.\[startIndex\:endIndex\]{start-index:endIndex!important}.\[username\:password\@\]{username:password@!important} diff --git a/data/gitea/public/assets/css/katex.fb6ef55c.css b/data/gitea/public/assets/css/katex.fb6ef55c.css new file mode 100644 index 0000000..2ad27f7 --- /dev/null +++ b/data/gitea/public/assets/css/katex.fb6ef55c.css @@ -0,0 +1 @@ +@font-face{font-family:KaTeX_AMS;src:url(../fonts/KaTeX_AMS-Regular.73ea273a.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Caligraphic;src:url(../fonts/KaTeX_Caligraphic-Bold.a1abf90d.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Caligraphic;src:url(../fonts/KaTeX_Caligraphic-Regular.d6484fce.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Fraktur;src:url(../fonts/KaTeX_Fraktur-Bold.931d67ea.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Fraktur;src:url(../fonts/KaTeX_Fraktur-Regular.172d3529.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Main;src:url(../fonts/KaTeX_Main-Bold.39890742.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Main;src:url(../fonts/KaTeX_Main-BoldItalic.20f389c4.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:KaTeX_Main;src:url(../fonts/KaTeX_Main-Italic.fe2176f7.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:KaTeX_Main;src:url(../fonts/KaTeX_Main-Regular.f650f111.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Math;src:url(../fonts/KaTeX_Math-BoldItalic.dcbcbd93.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:KaTeX_Math;src:url(../fonts/KaTeX_Math-Italic.6d3d25f4.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:KaTeX_SansSerif;src:url(../fonts/KaTeX_SansSerif-Bold.95591a92.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_SansSerif;src:url(../fonts/KaTeX_SansSerif-Italic.7d393d38.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:KaTeX_SansSerif;src:url(../fonts/KaTeX_SansSerif-Regular.cd5e231e.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Script;src:url(../fonts/KaTeX_Script-Regular.c81d1b2a.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size1;src:url(../fonts/KaTeX_Size1-Regular.6eec866c.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size2;src:url(../fonts/KaTeX_Size2-Regular.2960900c.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size3;src:url(../fonts/KaTeX_Size3-Regular.e1951519.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size4;src:url(../fonts/KaTeX_Size4-Regular.e418bf25.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Typewriter;src:url(../fonts/KaTeX_Typewriter-Regular.c295e7f7.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype");font-weight:400;font-style:normal}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.10"}.katex .katex-mathml{position:absolute;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{position:relative;display:inline-block;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-weight:700;font-style:italic}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{display:inline-table;table-layout:fixed;border-collapse:collapse}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;vertical-align:bottom;position:relative}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;vertical-align:bottom;font-size:1px;width:2px;min-width:2px}.katex .vbox{display:inline-flex;flex-direction:column;align-items:baseline}.katex .hbox{display:inline-flex;flex-direction:row;width:100%}.katex .thinbox{display:inline-flex;flex-direction:row;width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{display:inline-block;width:100%;border-bottom-style:solid}.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .underline .underline-line,.katex .hline,.katex .hdashline,.katex .rule{min-height:1px}.katex .mspace{display:inline-block}.katex .llap,.katex .rlap,.katex .clap{width:0;position:relative}.katex .llap>.inner,.katex .rlap>.inner,.katex .clap>.inner{position:absolute}.katex .llap>.fix,.katex .rlap>.fix,.katex .clap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .rlap>.inner,.katex .clap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{display:inline-block;border:solid 0;position:relative}.katex .overline .overline-line,.katex .underline .underline-line,.katex .hline{display:inline-block;width:100%;border-bottom-style:solid}.katex .hdashline{display:inline-block;width:100%;border-bottom-style:dashed}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .sizing.reset-size1.size1,.katex .fontsize-ensurer.reset-size1.size1{font-size:1em}.katex .sizing.reset-size1.size2,.katex .fontsize-ensurer.reset-size1.size2{font-size:1.2em}.katex .sizing.reset-size1.size3,.katex .fontsize-ensurer.reset-size1.size3{font-size:1.4em}.katex .sizing.reset-size1.size4,.katex .fontsize-ensurer.reset-size1.size4{font-size:1.6em}.katex .sizing.reset-size1.size5,.katex .fontsize-ensurer.reset-size1.size5{font-size:1.8em}.katex .sizing.reset-size1.size6,.katex .fontsize-ensurer.reset-size1.size6{font-size:2em}.katex .sizing.reset-size1.size7,.katex .fontsize-ensurer.reset-size1.size7{font-size:2.4em}.katex .sizing.reset-size1.size8,.katex .fontsize-ensurer.reset-size1.size8{font-size:2.88em}.katex .sizing.reset-size1.size9,.katex .fontsize-ensurer.reset-size1.size9{font-size:3.456em}.katex .sizing.reset-size1.size10,.katex .fontsize-ensurer.reset-size1.size10{font-size:4.148em}.katex .sizing.reset-size1.size11,.katex .fontsize-ensurer.reset-size1.size11{font-size:4.976em}.katex .sizing.reset-size2.size1,.katex .fontsize-ensurer.reset-size2.size1{font-size:.83333333em}.katex .sizing.reset-size2.size2,.katex .fontsize-ensurer.reset-size2.size2{font-size:1em}.katex .sizing.reset-size2.size3,.katex .fontsize-ensurer.reset-size2.size3{font-size:1.16666667em}.katex .sizing.reset-size2.size4,.katex .fontsize-ensurer.reset-size2.size4{font-size:1.33333333em}.katex .sizing.reset-size2.size5,.katex .fontsize-ensurer.reset-size2.size5{font-size:1.5em}.katex .sizing.reset-size2.size6,.katex .fontsize-ensurer.reset-size2.size6{font-size:1.66666667em}.katex .sizing.reset-size2.size7,.katex .fontsize-ensurer.reset-size2.size7{font-size:2em}.katex .sizing.reset-size2.size8,.katex .fontsize-ensurer.reset-size2.size8{font-size:2.4em}.katex .sizing.reset-size2.size9,.katex .fontsize-ensurer.reset-size2.size9{font-size:2.88em}.katex .sizing.reset-size2.size10,.katex .fontsize-ensurer.reset-size2.size10{font-size:3.45666667em}.katex .sizing.reset-size2.size11,.katex .fontsize-ensurer.reset-size2.size11{font-size:4.14666667em}.katex .sizing.reset-size3.size1,.katex .fontsize-ensurer.reset-size3.size1{font-size:.71428571em}.katex .sizing.reset-size3.size2,.katex .fontsize-ensurer.reset-size3.size2{font-size:.85714286em}.katex .sizing.reset-size3.size3,.katex .fontsize-ensurer.reset-size3.size3{font-size:1em}.katex .sizing.reset-size3.size4,.katex .fontsize-ensurer.reset-size3.size4{font-size:1.14285714em}.katex .sizing.reset-size3.size5,.katex .fontsize-ensurer.reset-size3.size5{font-size:1.28571429em}.katex .sizing.reset-size3.size6,.katex .fontsize-ensurer.reset-size3.size6{font-size:1.42857143em}.katex .sizing.reset-size3.size7,.katex .fontsize-ensurer.reset-size3.size7{font-size:1.71428571em}.katex .sizing.reset-size3.size8,.katex .fontsize-ensurer.reset-size3.size8{font-size:2.05714286em}.katex .sizing.reset-size3.size9,.katex .fontsize-ensurer.reset-size3.size9{font-size:2.46857143em}.katex .sizing.reset-size3.size10,.katex .fontsize-ensurer.reset-size3.size10{font-size:2.96285714em}.katex .sizing.reset-size3.size11,.katex .fontsize-ensurer.reset-size3.size11{font-size:3.55428571em}.katex .sizing.reset-size4.size1,.katex .fontsize-ensurer.reset-size4.size1{font-size:.625em}.katex .sizing.reset-size4.size2,.katex .fontsize-ensurer.reset-size4.size2{font-size:.75em}.katex .sizing.reset-size4.size3,.katex .fontsize-ensurer.reset-size4.size3{font-size:.875em}.katex .sizing.reset-size4.size4,.katex .fontsize-ensurer.reset-size4.size4{font-size:1em}.katex .sizing.reset-size4.size5,.katex .fontsize-ensurer.reset-size4.size5{font-size:1.125em}.katex .sizing.reset-size4.size6,.katex .fontsize-ensurer.reset-size4.size6{font-size:1.25em}.katex .sizing.reset-size4.size7,.katex .fontsize-ensurer.reset-size4.size7{font-size:1.5em}.katex .sizing.reset-size4.size8,.katex .fontsize-ensurer.reset-size4.size8{font-size:1.8em}.katex .sizing.reset-size4.size9,.katex .fontsize-ensurer.reset-size4.size9{font-size:2.16em}.katex .sizing.reset-size4.size10,.katex .fontsize-ensurer.reset-size4.size10{font-size:2.5925em}.katex .sizing.reset-size4.size11,.katex .fontsize-ensurer.reset-size4.size11{font-size:3.11em}.katex .sizing.reset-size5.size1,.katex .fontsize-ensurer.reset-size5.size1{font-size:.55555556em}.katex .sizing.reset-size5.size2,.katex .fontsize-ensurer.reset-size5.size2{font-size:.66666667em}.katex .sizing.reset-size5.size3,.katex .fontsize-ensurer.reset-size5.size3{font-size:.77777778em}.katex .sizing.reset-size5.size4,.katex .fontsize-ensurer.reset-size5.size4{font-size:.88888889em}.katex .sizing.reset-size5.size5,.katex .fontsize-ensurer.reset-size5.size5{font-size:1em}.katex .sizing.reset-size5.size6,.katex .fontsize-ensurer.reset-size5.size6{font-size:1.11111111em}.katex .sizing.reset-size5.size7,.katex .fontsize-ensurer.reset-size5.size7{font-size:1.33333333em}.katex .sizing.reset-size5.size8,.katex .fontsize-ensurer.reset-size5.size8{font-size:1.6em}.katex .sizing.reset-size5.size9,.katex .fontsize-ensurer.reset-size5.size9{font-size:1.92em}.katex .sizing.reset-size5.size10,.katex .fontsize-ensurer.reset-size5.size10{font-size:2.30444444em}.katex .sizing.reset-size5.size11,.katex .fontsize-ensurer.reset-size5.size11{font-size:2.76444444em}.katex .sizing.reset-size6.size1,.katex .fontsize-ensurer.reset-size6.size1{font-size:.5em}.katex .sizing.reset-size6.size2,.katex .fontsize-ensurer.reset-size6.size2{font-size:.6em}.katex .sizing.reset-size6.size3,.katex .fontsize-ensurer.reset-size6.size3{font-size:.7em}.katex .sizing.reset-size6.size4,.katex .fontsize-ensurer.reset-size6.size4{font-size:.8em}.katex .sizing.reset-size6.size5,.katex .fontsize-ensurer.reset-size6.size5{font-size:.9em}.katex .sizing.reset-size6.size6,.katex .fontsize-ensurer.reset-size6.size6{font-size:1em}.katex .sizing.reset-size6.size7,.katex .fontsize-ensurer.reset-size6.size7{font-size:1.2em}.katex .sizing.reset-size6.size8,.katex .fontsize-ensurer.reset-size6.size8{font-size:1.44em}.katex .sizing.reset-size6.size9,.katex .fontsize-ensurer.reset-size6.size9{font-size:1.728em}.katex .sizing.reset-size6.size10,.katex .fontsize-ensurer.reset-size6.size10{font-size:2.074em}.katex .sizing.reset-size6.size11,.katex .fontsize-ensurer.reset-size6.size11{font-size:2.488em}.katex .sizing.reset-size7.size1,.katex .fontsize-ensurer.reset-size7.size1{font-size:.41666667em}.katex .sizing.reset-size7.size2,.katex .fontsize-ensurer.reset-size7.size2{font-size:.5em}.katex .sizing.reset-size7.size3,.katex .fontsize-ensurer.reset-size7.size3{font-size:.58333333em}.katex .sizing.reset-size7.size4,.katex .fontsize-ensurer.reset-size7.size4{font-size:.66666667em}.katex .sizing.reset-size7.size5,.katex .fontsize-ensurer.reset-size7.size5{font-size:.75em}.katex .sizing.reset-size7.size6,.katex .fontsize-ensurer.reset-size7.size6{font-size:.83333333em}.katex .sizing.reset-size7.size7,.katex .fontsize-ensurer.reset-size7.size7{font-size:1em}.katex .sizing.reset-size7.size8,.katex .fontsize-ensurer.reset-size7.size8{font-size:1.2em}.katex .sizing.reset-size7.size9,.katex .fontsize-ensurer.reset-size7.size9{font-size:1.44em}.katex .sizing.reset-size7.size10,.katex .fontsize-ensurer.reset-size7.size10{font-size:1.72833333em}.katex .sizing.reset-size7.size11,.katex .fontsize-ensurer.reset-size7.size11{font-size:2.07333333em}.katex .sizing.reset-size8.size1,.katex .fontsize-ensurer.reset-size8.size1{font-size:.34722222em}.katex .sizing.reset-size8.size2,.katex .fontsize-ensurer.reset-size8.size2{font-size:.41666667em}.katex .sizing.reset-size8.size3,.katex .fontsize-ensurer.reset-size8.size3{font-size:.48611111em}.katex .sizing.reset-size8.size4,.katex .fontsize-ensurer.reset-size8.size4{font-size:.55555556em}.katex .sizing.reset-size8.size5,.katex .fontsize-ensurer.reset-size8.size5{font-size:.625em}.katex .sizing.reset-size8.size6,.katex .fontsize-ensurer.reset-size8.size6{font-size:.69444444em}.katex .sizing.reset-size8.size7,.katex .fontsize-ensurer.reset-size8.size7{font-size:.83333333em}.katex .sizing.reset-size8.size8,.katex .fontsize-ensurer.reset-size8.size8{font-size:1em}.katex .sizing.reset-size8.size9,.katex .fontsize-ensurer.reset-size8.size9{font-size:1.2em}.katex .sizing.reset-size8.size10,.katex .fontsize-ensurer.reset-size8.size10{font-size:1.44027778em}.katex .sizing.reset-size8.size11,.katex .fontsize-ensurer.reset-size8.size11{font-size:1.72777778em}.katex .sizing.reset-size9.size1,.katex .fontsize-ensurer.reset-size9.size1{font-size:.28935185em}.katex .sizing.reset-size9.size2,.katex .fontsize-ensurer.reset-size9.size2{font-size:.34722222em}.katex .sizing.reset-size9.size3,.katex .fontsize-ensurer.reset-size9.size3{font-size:.40509259em}.katex .sizing.reset-size9.size4,.katex .fontsize-ensurer.reset-size9.size4{font-size:.46296296em}.katex .sizing.reset-size9.size5,.katex .fontsize-ensurer.reset-size9.size5{font-size:.52083333em}.katex .sizing.reset-size9.size6,.katex .fontsize-ensurer.reset-size9.size6{font-size:.5787037em}.katex .sizing.reset-size9.size7,.katex .fontsize-ensurer.reset-size9.size7{font-size:.69444444em}.katex .sizing.reset-size9.size8,.katex .fontsize-ensurer.reset-size9.size8{font-size:.83333333em}.katex .sizing.reset-size9.size9,.katex .fontsize-ensurer.reset-size9.size9{font-size:1em}.katex .sizing.reset-size9.size10,.katex .fontsize-ensurer.reset-size9.size10{font-size:1.20023148em}.katex .sizing.reset-size9.size11,.katex .fontsize-ensurer.reset-size9.size11{font-size:1.43981481em}.katex .sizing.reset-size10.size1,.katex .fontsize-ensurer.reset-size10.size1{font-size:.24108004em}.katex .sizing.reset-size10.size2,.katex .fontsize-ensurer.reset-size10.size2{font-size:.28929605em}.katex .sizing.reset-size10.size3,.katex .fontsize-ensurer.reset-size10.size3{font-size:.33751205em}.katex .sizing.reset-size10.size4,.katex .fontsize-ensurer.reset-size10.size4{font-size:.38572806em}.katex .sizing.reset-size10.size5,.katex .fontsize-ensurer.reset-size10.size5{font-size:.43394407em}.katex .sizing.reset-size10.size6,.katex .fontsize-ensurer.reset-size10.size6{font-size:.48216008em}.katex .sizing.reset-size10.size7,.katex .fontsize-ensurer.reset-size10.size7{font-size:.57859209em}.katex .sizing.reset-size10.size8,.katex .fontsize-ensurer.reset-size10.size8{font-size:.69431051em}.katex .sizing.reset-size10.size9,.katex .fontsize-ensurer.reset-size10.size9{font-size:.83317261em}.katex .sizing.reset-size10.size10,.katex .fontsize-ensurer.reset-size10.size10{font-size:1em}.katex .sizing.reset-size10.size11,.katex .fontsize-ensurer.reset-size10.size11{font-size:1.19961427em}.katex .sizing.reset-size11.size1,.katex .fontsize-ensurer.reset-size11.size1{font-size:.20096463em}.katex .sizing.reset-size11.size2,.katex .fontsize-ensurer.reset-size11.size2{font-size:.24115756em}.katex .sizing.reset-size11.size3,.katex .fontsize-ensurer.reset-size11.size3{font-size:.28135048em}.katex .sizing.reset-size11.size4,.katex .fontsize-ensurer.reset-size11.size4{font-size:.32154341em}.katex .sizing.reset-size11.size5,.katex .fontsize-ensurer.reset-size11.size5{font-size:.36173633em}.katex .sizing.reset-size11.size6,.katex .fontsize-ensurer.reset-size11.size6{font-size:.40192926em}.katex .sizing.reset-size11.size7,.katex .fontsize-ensurer.reset-size11.size7{font-size:.48231511em}.katex .sizing.reset-size11.size8,.katex .fontsize-ensurer.reset-size11.size8{font-size:.57877814em}.katex .sizing.reset-size11.size9,.katex .fontsize-ensurer.reset-size11.size9{font-size:.69453376em}.katex .sizing.reset-size11.size10,.katex .fontsize-ensurer.reset-size11.size10{font-size:.83360129em}.katex .sizing.reset-size11.size11,.katex .fontsize-ensurer.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .op-limits>.vlist-t{text-align:center}.katex .accent>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{display:block;position:absolute;width:100%;height:inherit;fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex svg path{stroke:none}.katex img{border-style:none;min-width:0;min-height:0;max-width:none;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:before,.katex .stretchy:after{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{position:absolute;left:0;width:50.2%;overflow:hidden}.katex .halfarrow-right{position:absolute;right:0;width:50.2%;overflow:hidden}.katex .brace-left{position:absolute;left:0;width:25.1%;overflow:hidden}.katex .brace-center{position:absolute;left:25%;width:50%;overflow:hidden}.katex .brace-right{position:absolute;right:0;width:25.1%;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .x-arrow,.katex .mover,.katex .munder{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{counter-increment:katexEqnNo;content:"(" counter(katexEqnNo) ")"}.katex .mml-eqn-num:before{counter-increment:mmlEqnNo;content:"(" counter(mmlEqnNo) ")"}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;position:absolute;left:calc(50% + .3em);text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo} diff --git a/data/gitea/public/assets/css/monaco.a3a0a182.css b/data/gitea/public/assets/css/monaco.a3a0a182.css new file mode 100644 index 0000000..d5be343 --- /dev/null +++ b/data/gitea/public/assets/css/monaco.a3a0a182.css @@ -0,0 +1 @@ +.monaco-aria-container{position:absolute;left:-999em}.monaco-editor .selection-anchor{background-color:#007acc;width:2px!important}.monaco-editor .bracket-match{box-sizing:border-box;background-color:var(--vscode-editorBracketMatch-background);border:1px solid var(--vscode-editorBracketMatch-border)}.inline-editor-progress-decoration{display:inline-block;width:1em;height:1em}.inline-progress-widget{display:flex!important;justify-content:center;align-items:center}.inline-progress-widget .icon{font-size:80%!important}.inline-progress-widget:hover .icon{font-size:90%!important;animation:none}.inline-progress-widget:hover .icon:before{content:"\ea76"}.monaco-editor .monaco-editor-overlaymessage{padding-bottom:8px;z-index:10000}.monaco-editor .monaco-editor-overlaymessage.below{padding-bottom:0;padding-top:8px;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:fadeIn .15s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:fadeOut .1s ease-out}.monaco-editor .monaco-editor-overlaymessage .message{padding:2px 4px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-inputValidation-infoBorder);border-radius:3px}.monaco-editor .monaco-editor-overlaymessage .message p{margin-block:0px}.monaco-editor .monaco-editor-overlaymessage .message a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-editor-overlaymessage .message a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor.hc-black .monaco-editor-overlaymessage .message,.monaco-editor.hc-light .monaco-editor-overlaymessage .message{border-width:2px}.monaco-editor .monaco-editor-overlaymessage .anchor{width:0!important;height:0!important;border-color:transparent;border-style:solid;z-index:1000;border-width:8px;position:absolute;left:2px}.monaco-editor .monaco-editor-overlaymessage .anchor.top{border-bottom-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage .anchor.below{border-top-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top,.monaco-editor .monaco-editor-overlaymessage.below .anchor.below{display:none}.monaco-editor .monaco-editor-overlaymessage.below .anchor.top{display:inherit;top:-8px}.monaco-editor .rendered-markdown kbd{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-style:solid;border-width:1px;border-radius:3px;border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);vertical-align:middle;padding:1px 3px}.rendered-markdown li:has(input[type=checkbox]){list-style-type:none}.monaco-text-button{box-sizing:border-box;display:flex;width:100%;padding:4px;border-radius:2px;text-align:center;cursor:pointer;justify-content:center;align-items:center;border:1px solid var(--vscode-button-border, transparent);line-height:18px}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled:focus,.monaco-button.disabled{opacity:.4!important;cursor:default}.monaco-text-button .codicon{margin:0 .2em;color:inherit!important}.monaco-text-button.monaco-text-button-with-short-label{flex-direction:row;flex-wrap:wrap;padding:0 4px;overflow:hidden;height:28px}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label{flex-basis:100%}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{flex-grow:1;width:0;overflow:hidden}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label,.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{display:flex;justify-content:center;align-items:center;font-weight:400;font-style:inherit;padding:4px 0}.monaco-button-dropdown{display:flex;cursor:pointer}.monaco-button-dropdown.disabled{cursor:default}.monaco-button-dropdown>.monaco-button:focus{outline-offset:-1px!important}.monaco-button-dropdown.disabled>.monaco-button.disabled,.monaco-button-dropdown.disabled>.monaco-button.disabled:focus,.monaco-button-dropdown.disabled>.monaco-button-dropdown-separator{opacity:.4!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-right-width:0!important}.monaco-button-dropdown .monaco-button-dropdown-separator{padding:4px 0;cursor:default}.monaco-button-dropdown .monaco-button-dropdown-separator>div{height:100%;width:1px}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button{border:1px solid var(--vscode-button-border, transparent);border-left-width:0!important;border-radius:0 2px 2px 0;display:flex;align-items:center}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-radius:2px 0 0 2px}.monaco-description-button{display:flex;flex-direction:column;align-items:center;margin:4px 5px}.monaco-description-button .monaco-button-description{font-style:italic;font-size:11px;padding:4px 20px}.monaco-description-button .monaco-button-label,.monaco-description-button .monaco-button-description{display:flex;justify-content:center;align-items:center}.monaco-description-button .monaco-button-label>.codicon,.monaco-description-button .monaco-button-description>.codicon{margin:0 .2em;color:inherit!important}.monaco-button.default-colors,.monaco-button-dropdown.default-colors>.monaco-button{color:var(--vscode-button-foreground);background-color:var(--vscode-button-background)}.monaco-button.default-colors:hover,.monaco-button-dropdown.default-colors>.monaco-button:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-button.default-colors.secondary,.monaco-button-dropdown.default-colors>.monaco-button.secondary{color:var(--vscode-button-secondaryForeground);background-color:var(--vscode-button-secondaryBackground)}.monaco-button.default-colors.secondary:hover,.monaco-button-dropdown.default-colors>.monaco-button.secondary:hover{background-color:var(--vscode-button-secondaryHoverBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator{background-color:var(--vscode-button-background);border-top:1px solid var(--vscode-button-border);border-bottom:1px solid var(--vscode-button-border)}.monaco-button-dropdown.default-colors .monaco-button.secondary+.monaco-button-dropdown-separator{background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator>div{background-color:var(--vscode-button-separator)}.post-edit-widget{box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:1px solid var(--vscode-widget-border, transparent);border-radius:4px;background-color:var(--vscode-editorWidget-background);overflow:hidden}.post-edit-widget .monaco-button{padding:2px;border:none;border-radius:0}.post-edit-widget .monaco-button:hover{background-color:var(--vscode-button-secondaryHoverBackground)!important}.post-edit-widget .monaco-button .codicon{margin:0}@font-face{font-family:codicon;font-display:block;src:url(../fonts/codicon.762fced4.ttf) format("truetype")}.codicon[class*=codicon-]{font: 16px/1 codicon;display:inline-block;text-decoration:none;text-rendering:auto;text-align:center;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none}.codicon-wrench-subaction{opacity:.5}@keyframes codicon-spin{to{transform:rotate(360deg)}}.codicon-sync.codicon-modifier-spin,.codicon-loading.codicon-modifier-spin,.codicon-gear.codicon-modifier-spin,.codicon-notebook-state-executing.codicon-modifier-spin{animation:codicon-spin 1.5s steps(30) infinite}.codicon-modifier-disabled{opacity:.4}.codicon-loading,.codicon-tree-item-loading:before{animation-duration:1s!important;animation-timing-function:cubic-bezier(.53,.21,.29,.67)!important}.monaco-editor .codicon.codicon-symbol-array,.monaco-workbench .codicon.codicon-symbol-array{color:var(--vscode-symbolIcon-arrayForeground)}.monaco-editor .codicon.codicon-symbol-boolean,.monaco-workbench .codicon.codicon-symbol-boolean{color:var(--vscode-symbolIcon-booleanForeground)}.monaco-editor .codicon.codicon-symbol-class,.monaco-workbench .codicon.codicon-symbol-class{color:var(--vscode-symbolIcon-classForeground)}.monaco-editor .codicon.codicon-symbol-method,.monaco-workbench .codicon.codicon-symbol-method{color:var(--vscode-symbolIcon-methodForeground)}.monaco-editor .codicon.codicon-symbol-color,.monaco-workbench .codicon.codicon-symbol-color{color:var(--vscode-symbolIcon-colorForeground)}.monaco-editor .codicon.codicon-symbol-constant,.monaco-workbench .codicon.codicon-symbol-constant{color:var(--vscode-symbolIcon-constantForeground)}.monaco-editor .codicon.codicon-symbol-constructor,.monaco-workbench .codicon.codicon-symbol-constructor{color:var(--vscode-symbolIcon-constructorForeground)}.monaco-editor .codicon.codicon-symbol-value,.monaco-workbench .codicon.codicon-symbol-value,.monaco-editor .codicon.codicon-symbol-enum,.monaco-workbench .codicon.codicon-symbol-enum{color:var(--vscode-symbolIcon-enumeratorForeground)}.monaco-editor .codicon.codicon-symbol-enum-member,.monaco-workbench .codicon.codicon-symbol-enum-member{color:var(--vscode-symbolIcon-enumeratorMemberForeground)}.monaco-editor .codicon.codicon-symbol-event,.monaco-workbench .codicon.codicon-symbol-event{color:var(--vscode-symbolIcon-eventForeground)}.monaco-editor .codicon.codicon-symbol-field,.monaco-workbench .codicon.codicon-symbol-field{color:var(--vscode-symbolIcon-fieldForeground)}.monaco-editor .codicon.codicon-symbol-file,.monaco-workbench .codicon.codicon-symbol-file{color:var(--vscode-symbolIcon-fileForeground)}.monaco-editor .codicon.codicon-symbol-folder,.monaco-workbench .codicon.codicon-symbol-folder{color:var(--vscode-symbolIcon-folderForeground)}.monaco-editor .codicon.codicon-symbol-function,.monaco-workbench .codicon.codicon-symbol-function{color:var(--vscode-symbolIcon-functionForeground)}.monaco-editor .codicon.codicon-symbol-interface,.monaco-workbench .codicon.codicon-symbol-interface{color:var(--vscode-symbolIcon-interfaceForeground)}.monaco-editor .codicon.codicon-symbol-key,.monaco-workbench .codicon.codicon-symbol-key{color:var(--vscode-symbolIcon-keyForeground)}.monaco-editor .codicon.codicon-symbol-keyword,.monaco-workbench .codicon.codicon-symbol-keyword{color:var(--vscode-symbolIcon-keywordForeground)}.monaco-editor .codicon.codicon-symbol-module,.monaco-workbench .codicon.codicon-symbol-module{color:var(--vscode-symbolIcon-moduleForeground)}.monaco-editor .codicon.codicon-symbol-namespace,.monaco-workbench .codicon.codicon-symbol-namespace{color:var(--vscode-symbolIcon-namespaceForeground)}.monaco-editor .codicon.codicon-symbol-null,.monaco-workbench .codicon.codicon-symbol-null{color:var(--vscode-symbolIcon-nullForeground)}.monaco-editor .codicon.codicon-symbol-number,.monaco-workbench .codicon.codicon-symbol-number{color:var(--vscode-symbolIcon-numberForeground)}.monaco-editor .codicon.codicon-symbol-object,.monaco-workbench .codicon.codicon-symbol-object{color:var(--vscode-symbolIcon-objectForeground)}.monaco-editor .codicon.codicon-symbol-operator,.monaco-workbench .codicon.codicon-symbol-operator{color:var(--vscode-symbolIcon-operatorForeground)}.monaco-editor .codicon.codicon-symbol-package,.monaco-workbench .codicon.codicon-symbol-package{color:var(--vscode-symbolIcon-packageForeground)}.monaco-editor .codicon.codicon-symbol-property,.monaco-workbench .codicon.codicon-symbol-property{color:var(--vscode-symbolIcon-propertyForeground)}.monaco-editor .codicon.codicon-symbol-reference,.monaco-workbench .codicon.codicon-symbol-reference{color:var(--vscode-symbolIcon-referenceForeground)}.monaco-editor .codicon.codicon-symbol-snippet,.monaco-workbench .codicon.codicon-symbol-snippet{color:var(--vscode-symbolIcon-snippetForeground)}.monaco-editor .codicon.codicon-symbol-string,.monaco-workbench .codicon.codicon-symbol-string{color:var(--vscode-symbolIcon-stringForeground)}.monaco-editor .codicon.codicon-symbol-struct,.monaco-workbench .codicon.codicon-symbol-struct{color:var(--vscode-symbolIcon-structForeground)}.monaco-editor .codicon.codicon-symbol-text,.monaco-workbench .codicon.codicon-symbol-text{color:var(--vscode-symbolIcon-textForeground)}.monaco-editor .codicon.codicon-symbol-type-parameter,.monaco-workbench .codicon.codicon-symbol-type-parameter{color:var(--vscode-symbolIcon-typeParameterForeground)}.monaco-editor .codicon.codicon-symbol-unit,.monaco-workbench .codicon.codicon-symbol-unit{color:var(--vscode-symbolIcon-unitForeground)}.monaco-editor .codicon.codicon-symbol-variable,.monaco-workbench .codicon.codicon-symbol-variable{color:var(--vscode-symbolIcon-variableForeground)}.monaco-editor .lightBulbWidget{display:flex;align-items:center;justify-content:center}.monaco-editor .lightBulbWidget:hover{cursor:pointer}.monaco-editor .lightBulbWidget.codicon-light-bulb,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix{color:var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-foreground))}.monaco-editor .lightBulbWidget.codicon-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground, var(--vscode-icon-foreground))}.monaco-editor .lightBulbWidget:before{position:relative;z-index:2}.monaco-editor .lightBulbWidget:after{position:absolute;top:0;left:0;content:"";display:block;width:100%;height:100%;opacity:.3;background-color:var(--vscode-editor-background);z-index:1}.monaco-list{position:relative;height:100%;width:100%;white-space:nowrap}.monaco-list.mouse-support{user-select:none;-webkit-user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{position:relative;width:100%;height:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{width:auto;min-width:100%}.monaco-list-row{position:absolute;box-sizing:border-box;overflow:hidden;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list .monaco-scrollable-element>.scrollbar.vertical,.monaco-pane-view>.monaco-split-view2.vertical>.monaco-scrollable-element>.scrollbar.vertical{z-index:14}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-single,.monaco-list.selection-multiple{outline:0!important}.monaco-drag-image{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;position:absolute;z-index:1000}.monaco-list-type-filter-message{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;padding:40px 1em 1em;text-align:center;white-space:normal;opacity:.7;pointer-events:none}.monaco-list-type-filter-message:empty{display:none}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-select-box-dropdown-padding{--dropdown-padding-top: 1px;--dropdown-padding-bottom: 1px}.hc-black .monaco-select-box-dropdown-padding,.hc-light .monaco-select-box-dropdown-padding{--dropdown-padding-top: 3px;--dropdown-padding-bottom: 4px}.monaco-select-box-dropdown-container{display:none;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown *{margin:0}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown code{line-height:15px;font-family:var(--monaco-monospace-font)}.monaco-select-box-dropdown-container.visible{display:flex;flex-direction:column;text-align:left;width:1px;overflow:hidden;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container{flex:0 0 auto;align-self:flex-start;padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom);padding-left:1px;padding-right:1px;width:100%;overflow:hidden;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane{padding:5px}.hc-black .monaco-select-box-dropdown-container>.select-box-dropdown-list-container{padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom)}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row{cursor:pointer}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-text{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-detail{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left;opacity:.7}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-decorator-right{text-overflow:ellipsis;overflow:hidden;padding-right:10px;white-space:nowrap;float:right}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.visually-hidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control{flex:1 1 auto;align-self:flex-start;opacity:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div{overflow:hidden;max-height:0px}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div>.option-text-width-control{padding-left:4px;padding-right:8px;white-space:nowrap}.monaco-select-box{width:100%;cursor:pointer;border-radius:2px}.monaco-select-box-dropdown-container{font-size:13px;font-weight:400;text-transform:none}.monaco-action-bar .action-item.select-container{cursor:default}.monaco-action-bar .action-item .monaco-select-box{cursor:pointer;min-width:100px;min-height:18px;padding:2px 23px 2px 8px}.mac .monaco-action-bar .action-item .monaco-select-box{font-size:11px;border-radius:5px}.monaco-action-bar{white-space:nowrap;height:100%}.monaco-action-bar .actions-container{display:flex;margin:0 auto;padding:0;height:100%;width:100%;align-items:center}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{display:block;align-items:center;justify-content:center;cursor:pointer;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .icon,.monaco-action-bar .action-item .codicon{display:block}.monaco-action-bar .action-item .codicon{display:flex;align-items:center;width:16px;height:16px}.monaco-action-bar .action-label{display:flex;font-size:11px;padding:3px;border-radius:5px}.monaco-action-bar .action-item.disabled .action-label,.monaco-action-bar .action-item.disabled .action-label:before,.monaco-action-bar .action-item.disabled .action-label:hover{color:var(--vscode-disabledForeground)}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-label.separator{display:block;border-bottom:1px solid #bbb;padding-top:1px;margin-left:.8em;margin-right:.8em}.monaco-action-bar .action-item .action-label.separator{width:1px;height:16px;margin:5px 4px!important;cursor:default;min-width:1px;padding:0;background-color:#bbb}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{overflow:hidden;flex:1;max-width:170px;min-width:60px;display:flex;align-items:center;justify-content:center;margin-right:10px}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{display:flex;align-items:center;cursor:default}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{width:1px}.action-widget{font-size:13px;min-width:160px;max-width:80vw;z-index:40;display:block;width:100%;border:1px solid var(--vscode-editorWidget-border)!important;border-radius:2px;background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground)}.context-view-block{position:fixed;cursor:initial;left:0;top:0;width:100%;height:100%;z-index:-1}.context-view-pointerBlock{position:fixed;cursor:initial;left:0;top:0;width:100%;height:100%;z-index:2}.action-widget .monaco-list{user-select:none;-webkit-user-select:none;border:none!important;border-width:0!important}.action-widget .monaco-list:focus:before{outline:0!important}.action-widget .monaco-list .monaco-scrollable-element{overflow:visible}.action-widget .monaco-list .monaco-list-row{padding:0 10px;white-space:nowrap;cursor:pointer;touch-action:none;width:100%}.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled){background-color:var(--vscode-quickInputList-focusBackground)!important;color:var(--vscode-quickInputList-focusForeground);outline:1px solid var(--vscode-menu-selectionBorder, transparent);outline-offset:-1px}.action-widget .monaco-list-row.group-header{color:var(--vscode-descriptionForeground)!important;font-weight:600}.action-widget .monaco-list .group-header,.action-widget .monaco-list .option-disabled,.action-widget .monaco-list .option-disabled:before,.action-widget .monaco-list .option-disabled .focused,.action-widget .monaco-list .option-disabled .focused:before{cursor:default!important;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background-color:transparent!important;outline:0 solid!important}.action-widget .monaco-list-row.action{display:flex;gap:6px;align-items:center}.action-widget .monaco-list-row.action.option-disabled,.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,.action-widget .monaco-list-row.action.option-disabled .codicon,.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled{color:var(--vscode-disabledForeground)}.action-widget .monaco-list-row.action:not(.option-disabled) .codicon{color:inherit}.action-widget .monaco-list-row.action .title{flex:1;overflow:hidden;text-overflow:ellipsis}.action-widget .monaco-list-row.action .monaco-keybinding>.monaco-keybinding-key{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-style:solid;border-width:1px;border-radius:3px;border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow)}.action-widget .action-widget-action-bar{background-color:var(--vscode-editorHoverWidget-statusBarBackground);border-top:1px solid var(--vscode-editorHoverWidget-border)}.action-widget .action-widget-action-bar:before{display:block;content:"";width:100%}.action-widget .action-widget-action-bar .actions-container{padding:0 8px}.action-widget-action-bar .action-label{color:var(--vscode-textLink-activeForeground);font-size:12px;line-height:22px;padding:0;pointer-events:all}.action-widget-action-bar .action-item{margin-right:16px;pointer-events:none}.action-widget-action-bar .action-label:hover{background-color:transparent!important}.monaco-action-bar .actions-container.highlight-toggled .action-label.checked{background:var(--vscode-actionBar-toggledBackground)!important}.monaco-keybinding{display:flex;align-items:center;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{display:inline-block;border-style:solid;border-width:1px;border-radius:3px;vertical-align:middle;font-size:11px;padding:3px 5px;margin:0 2px}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;color:var(--vscode-editor-foreground);background-color:var(--vscode-editor-background)}.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-rangeHighlightBorder)}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-symbolHighlightBorder)}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .view-overlays>div,.monaco-editor .margin-view-overlays>div{position:absolute;width:100%}.monaco-editor .view-overlays>div>div,.monaco-editor .margin-view-overlays>div>div{bottom:0}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorError-background)}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorWarning-background)}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorInfo-background)}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;text-decoration-color:var(--vscode-editor-foreground, inherit)}.monaco-editor .inputarea{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent;z-index:-10}.monaco-editor .inputarea.ime-input{z-index:10;caret-color:var(--vscode-editorCursor-foreground);color:var(--vscode-editor-foreground)}.monaco-editor .margin-view-overlays .line-numbers{bottom:0;font-variant-numeric:tabular-nums;position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numbers.active-line-number{color:var(--vscode-editorLineNumber-activeForeground)}.monaco-editor .margin{background-color:var(--vscode-editorGutter-background)}.monaco-mouse-cursor-text{cursor:text}.monaco-editor .blockDecorations-container{position:absolute;top:0;pointer-events:none}.monaco-editor .blockDecorations-block{position:absolute;box-sizing:border-box}.monaco-editor .view-overlays .current-line,.monaco-editor .margin-view-overlays .current-line{display:block;position:absolute;left:0;top:0;box-sizing:border-box;height:100%}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute;height:100%}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{position:absolute;display:flex;align-items:center;justify-content:center}.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.monaco-editor .lines-content .core-guide{position:absolute;box-sizing:border-box;height:100%}.mtkcontrol{color:#fff!important;background:#960000!important}.mtkoverflow{background-color:var(--vscode-button-background, var(--vscode-editor-background));color:var(--vscode-button-foreground, var(--vscode-editor-foreground));border-width:1px;border-style:solid;border-color:var(--vscode-contrastBorder);border-radius:2px;padding:4px;cursor:pointer}.mtkoverflow:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{user-select:none;-webkit-user-select:none}.monaco-editor.mac .lines-content:hover,.monaco-editor.mac .view-line:hover,.monaco-editor.mac .view-lines:hover{user-select:text;-webkit-user-select:text;-ms-user-select:text}.monaco-editor.enable-user-select{user-select:initial;-webkit-user-select:initial}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{position:absolute;width:100%}.monaco-editor .lines-content>.view-lines>.view-line>span{top:0;bottom:0;position:absolute}.monaco-editor .mtkw{color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .mtkz{display:inline-block;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .lines-decorations{position:absolute;top:0;background:#fff}.monaco-editor .margin-view-overlays .cldr{position:absolute;height:100%}.monaco-editor .margin-view-overlays .cmdr{position:absolute;left:0;width:100%;height:100%}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover:hover .minimap-slider,.monaco-editor .minimap.slider-mouseover .minimap-slider.active{opacity:1}.monaco-editor .minimap-slider .minimap-slider-horizontal{background:var(--vscode-minimapSlider-background)}.monaco-editor .minimap-slider:hover .minimap-slider-horizontal{background:var(--vscode-minimapSlider-hoverBackground)}.monaco-editor .minimap-slider.active .minimap-slider-horizontal{background:var(--vscode-minimapSlider-activeBackground)}.monaco-editor .minimap-shadow-visible{box-shadow:var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{position:absolute;left:-6px;width:6px}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{position:absolute;left:-1px;width:1px}.minimap.autohide{opacity:0;transition:opacity .5s}.minimap.autohide:hover{opacity:1}.monaco-editor .minimap{z-index:5}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{position:absolute;top:0;box-shadow:1px 0 0 0 var(--vscode-editorRuler-foreground) inset}.monaco-editor .scroll-decoration{position:absolute;top:0;left:0;height:6px;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.monaco-editor .selected-text{background-color:var(--vscode-editor-inactiveSelectionBackground)}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor.hc-light .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-light .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-light .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-light .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;overflow:hidden;box-sizing:border-box}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-width:2px;border-bottom-style:solid;background:transparent!important}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-width:1px;border-bottom-style:solid;background:transparent!important}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-editor .mwh{position:absolute;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .codelens-decoration{overflow:hidden;display:inline-block;text-overflow:ellipsis;white-space:nowrap;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize);padding-right:calc(var(--vscode-editorCodeLens-fontSize)*.5);font-feature-settings:var(--vscode-editorCodeLens-fontFeatureSettings);font-family:var(--vscode-editorCodeLens-fontFamily),var(--vscode-editorCodeLens-fontFamilyDefault)}.monaco-editor .codelens-decoration>span,.monaco-editor .codelens-decoration>a{user-select:none;-webkit-user-select:none;white-space:nowrap;vertical-align:sub}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .codelens-decoration>a:hover{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration>a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration .codicon{vertical-align:middle;color:currentColor!important;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize)}.monaco-editor .codelens-decoration>a:hover .codicon:before{cursor:pointer}@keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}.monaco-editor .codelens-decoration.fadein{animation:fadein .1s linear}.colorpicker-widget{height:190px;user-select:none;-webkit-user-select:none}.colorpicker-color-decoration,.hc-light .colorpicker-color-decoration{border:solid .1em #000;box-sizing:border-box;margin:.1em .2em 0;width:.8em;height:.8em;line-height:.8em;display:inline-block;cursor:pointer}.hc-black .colorpicker-color-decoration,.vs-dark .colorpicker-color-decoration{border:solid .1em #eee}.colorpicker-header{display:flex;height:24px;position:relative;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-header .picked-color{width:240px;display:flex;align-items:center;justify-content:center;line-height:24px;cursor:pointer;color:#fff;flex:1;white-space:nowrap;overflow:hidden}.colorpicker-header .picked-color .picked-color-presentation{white-space:nowrap;margin-left:5px;margin-right:5px}.colorpicker-header .picked-color .codicon{color:inherit;font-size:14px}.colorpicker-header .picked-color.light{color:#000}.colorpicker-header .original-color{width:74px;z-index:inherit;cursor:pointer}.standalone-colorpicker{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header.standalone-colorpicker{border-bottom:none}.colorpicker-header .close-button{cursor:pointer;background-color:var(--vscode-editorHoverWidget-background);border-left:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header .close-button-inner-div{width:100%;height:100%;text-align:center}.colorpicker-header .close-button-inner-div:hover{background-color:var(--vscode-toolbar-hoverBackground)}.colorpicker-header .close-icon{padding:3px}.colorpicker-body{display:flex;padding:8px;position:relative}.colorpicker-body .saturation-wrap{overflow:hidden;height:150px;position:relative;min-width:220px;flex:1}.colorpicker-body .saturation-box{height:150px;position:absolute}.colorpicker-body .saturation-selection{width:9px;height:9px;margin:-5px 0 0 -5px;border:1px solid rgb(255,255,255);border-radius:100%;box-shadow:0 0 2px #000c;position:absolute}.colorpicker-body .strip{width:25px;height:150px}.colorpicker-body .standalone-strip{width:25px;height:122px}.colorpicker-body .hue-strip{position:relative;margin-left:8px;cursor:grab;background:linear-gradient(to bottom,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.colorpicker-body .opacity-strip{position:relative;margin-left:8px;cursor:grab;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-body .strip.grabbing{cursor:grabbing}.colorpicker-body .slider{position:absolute;top:0;left:-2px;width:calc(100% + 4px);height:4px;box-sizing:border-box;border:1px solid rgba(255,255,255,.71);box-shadow:0 0 1px #000000d9}.colorpicker-body .strip .overlay{height:150px;pointer-events:none}.colorpicker-body .standalone-strip .standalone-overlay{height:122px;pointer-events:none}.standalone-colorpicker-body{display:block;border:1px solid transparent;border-bottom:1px solid var(--vscode-editorHoverWidget-border);overflow:hidden}.colorpicker-body .insert-button{position:absolute;height:20px;width:58px;padding:0;right:8px;bottom:8px;background:var(--vscode-button-background);color:var(--vscode-button-foreground);border-radius:2px;border:none;cursor:pointer}.colorpicker-body .insert-button:hover{background:var(--vscode-button-hoverBackground)}.monaco-editor .goto-definition-link{text-decoration:underline;cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .peekview-widget .head{box-sizing:border-box;display:flex;justify-content:space-between;flex-wrap:nowrap}.monaco-editor .peekview-widget .head .peekview-title{display:flex;align-items:baseline;font-size:13px;margin-left:20px;min-width:0;text-overflow:ellipsis;overflow:hidden}.monaco-editor .peekview-widget .head .peekview-title.clickable{cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.monaco-editor .peekview-widget .head .peekview-title .meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monaco-editor .peekview-widget .head .peekview-title .dirname,.monaco-editor .peekview-widget .head .peekview-title .filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty):before{content:"-";padding:0 .3em}.monaco-editor .peekview-widget .head .peekview-actions{flex:1;text-align:right;padding-right:2px}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar{display:inline-block}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar,.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar>.actions-container{height:100%}.monaco-editor .peekview-widget>.body{border-top:1px solid;position:relative}.monaco-editor .peekview-widget .head .peekview-title .codicon{margin-right:4px;align-self:center}.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon{color:inherit!important}:root{--vscode-sash-size: 4px;--vscode-sash-hover-size: 4px}.monaco-sash{position:absolute;z-index:35;touch-action:none}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;top:0;width:var(--vscode-sash-size);height:100%}.monaco-sash.horizontal{cursor:ns-resize;left:0;width:100%;height:var(--vscode-sash-size)}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:" ";height:calc(var(--vscode-sash-size) * 2);width:calc(var(--vscode-sash-size) * 2);z-index:100;display:block;cursor:all-scroll;position:absolute}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size) * -.5);top:calc(var(--vscode-sash-size) * -1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{left:calc(var(--vscode-sash-size) * -.5);bottom:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{top:calc(var(--vscode-sash-size) * -.5);left:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{top:calc(var(--vscode-sash-size) * -.5);right:calc(var(--vscode-sash-size) * -1)}.monaco-sash:before{content:"";pointer-events:none;position:absolute;width:100%;height:100%;background:transparent}.monaco-workbench:not(.reduce-motion) .monaco-sash:before{transition:background-color .1s ease-out}.monaco-sash.hover:before,.monaco-sash.active:before{background:var(--vscode-sash-hoverBorder)}.monaco-sash.vertical:before{width:var(--vscode-sash-hover-size);left:calc(50% - (var(--vscode-sash-hover-size) / 2))}.monaco-sash.horizontal:before{height:var(--vscode-sash-hover-size);top:calc(50% - (var(--vscode-sash-hover-size) / 2))}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:#0ff}.monaco-sash.debug.disabled{background:#0ff3}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-editor .zone-widget{position:absolute;z-index:10}.monaco-editor .zone-widget .zone-widget-container{border-top-style:solid;border-bottom-style:solid;border-top-width:0;border-bottom-width:0;position:relative}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{cursor:pointer;height:100%;display:flex;align-items:center;justify-content:center}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown-with-primary{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}.monaco-action-bar .action-item.menu-entry .action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}.monaco-split-view2{position:relative;width:100%;height:100%}.monaco-split-view2>.sash-container{position:absolute;width:100%;height:100%;pointer-events:none}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:initial}.monaco-split-view2>.monaco-scrollable-element{width:100%;height:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{width:100%;height:100%;white-space:nowrap;position:relative}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{white-space:initial;position:absolute}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--separator-border)}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:100%;width:1px}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:1px;width:100%}.monaco-table{display:flex;flex-direction:column;position:relative;height:100%;width:100%;white-space:nowrap;overflow:hidden}.monaco-table>.monaco-split-view2{border-bottom:1px solid transparent}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{display:flex;height:100%}.monaco-table-th{width:100%;height:100%;font-weight:700;overflow:hidden;text-overflow:ellipsis}.monaco-table-th,.monaco-table-td{box-sizing:border-box;flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{content:"";position:absolute;left:calc(var(--vscode-sash-size) / 2);width:0;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2,.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-custom-toggle{margin-left:2px;float:left;cursor:pointer;overflow:hidden;width:20px;height:20px;border-radius:3px;border:1px solid transparent;padding:1px;box-sizing:border-box;user-select:none;-webkit-user-select:none}.monaco-custom-toggle:hover{background-color:var(--vscode-inputOption-hoverBackground)}.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-toggle,.hc-light .monaco-custom-toggle,.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{background:none}.monaco-custom-toggle.monaco-checkbox{height:18px;width:18px;border:1px solid transparent;border-radius:3px;margin-right:9px;margin-left:0;padding:0;opacity:1;background-size:16px!important}.monaco-action-bar .checkbox-action-item{display:flex;align-items:center}.monaco-action-bar .checkbox-action-item>.monaco-custom-toggle.monaco-checkbox{margin-right:4px}.monaco-action-bar .checkbox-action-item>.checkbox-label{font-size:12px}.monaco-custom-toggle.monaco-checkbox:not(.checked):before{visibility:hidden}.monaco-inputbox{position:relative;display:block;padding:0;box-sizing:border-box;border-radius:2px;font-size:inherit}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px 6px}.monaco-inputbox>.ibwrapper{position:relative;width:100%;height:100%}.monaco-inputbox>.ibwrapper>.input{display:inline-block;box-sizing:border-box;width:100%;height:100%;line-height:inherit;border:none;font-family:inherit;font-size:inherit;resize:none;color:inherit}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{display:block;scrollbar-width:none;outline:none}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{position:absolute;display:inline-block;width:100%;top:0;left:0;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{display:inline-block;overflow:hidden;text-align:left;width:100%;box-sizing:border-box;padding:.4em;font-size:12px;line-height:17px;margin-top:-1px;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{background-repeat:no-repeat;width:16px;height:16px}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.monaco-findInput.highlight-0 .controls,.hc-light .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.monaco-findInput.highlight-1 .controls,.hc-light .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:#fdff00cc}to{background:transparent}}@keyframes monaco-findInput-highlight-1{0%{background:#fdff00cc}99%{background:transparent}}@keyframes monaco-findInput-highlight-dark-0{0%{background:#ffffff70}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:#ffffff70}99%{background:transparent}}.monaco-tl-row{display:flex;height:100%;align-items:center;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{height:100%;position:absolute;top:0;left:16px;pointer-events:none}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{display:inline-block;box-sizing:border-box;height:100%;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-tl-indent>.indent-guide{transition:border-color .1s linear}.monaco-tl-twistie,.monaco-tl-contents{height:100%}.monaco-tl-twistie{font-size:10px;text-align:right;padding-right:6px;flex-shrink:0;width:16px;display:flex!important;align-items:center;justify-content:center;transform:translate(3px)}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite}.monaco-tree-type-filter{position:absolute;top:0;display:flex;padding:3px;max-width:200px;z-index:100;margin:0 6px;border:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-grab{display:flex!important;align-items:center;justify-content:center;cursor:grab;margin-right:2px}.monaco-tree-type-filter-grab.grabbing{cursor:grabbing}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{position:absolute;top:0;left:0;width:100%;height:0;z-index:13;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{position:absolute;width:100%;opacity:1!important;overflow:hidden;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{background-color:var(--vscode-list-hoverBackground)!important;cursor:pointer}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty,.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty .monaco-tree-sticky-container-shadow{display:none}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{position:absolute;bottom:-3px;left:0;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container[tabindex="0"]:focus{outline:none}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-top-width:1px;border-bottom-width:1px}.monaco-editor .reference-zone-widget .inline{display:inline-block;vertical-align:top}.monaco-editor .reference-zone-widget .messages{height:100%;width:100%;text-align:center;padding:3em 0}.monaco-editor .reference-zone-widget .ref-tree{line-height:23px;background-color:var(--vscode-peekViewResult-background);color:var(--vscode-peekViewResult-lineForeground)}.monaco-editor .reference-zone-widget .ref-tree .reference{text-overflow:ellipsis;overflow:hidden}.monaco-editor .reference-zone-widget .ref-tree .reference-file{display:inline-flex;width:100%;height:100%;color:var(--vscode-peekViewResult-fileForeground)}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file{color:inherit!important}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows>.monaco-list-row.selected:not(.highlighted){background-color:var(--vscode-peekViewResult-selectionBackground);color:var(--vscode-peekViewResult-selectionForeground)!important}.monaco-editor .reference-zone-widget .ref-tree .reference-file .count{margin-right:12px;margin-left:auto}.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight{background-color:var(--vscode-peekViewResult-matchHighlightBackground)}.monaco-editor .reference-zone-widget .preview .reference-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input{background-color:var(--vscode-peekViewEditor-background)}.monaco-editor .reference-zone-widget .preview .monaco-editor .margin{background-color:var(--vscode-peekViewEditorGutter-background)}.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file{font-weight:700}.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight{border:1px dotted var(--vscode-contrastActiveBorder, transparent);box-sizing:border-box}.monaco-count-badge{padding:3px 6px;border-radius:11px;font-size:11px;min-width:18px;min-height:18px;line-height:11px;font-weight:400;text-align:center;display:inline-block;box-sizing:border-box}.monaco-count-badge.long{padding:2px 3px;border-radius:2px;min-height:auto;line-height:normal}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;line-height:inherit!important;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;flex-shrink:0}.monaco-icon-label-container.disabled{color:var(--vscode-disabledForeground)}.monaco-icon-label>.monaco-icon-label-container{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{margin:0 2px;opacity:.5}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-suffix-container>.label-suffix{opacity:.7;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.7;margin-left:.5em;font-size:.9em;white-space:pre}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{font-style:italic}.monaco-icon-label.deprecated{text-decoration:line-through;opacity:.66}.monaco-icon-label.italic:after{font-style:italic}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{text-decoration:line-through}.monaco-icon-label:after{opacity:.75;font-size:90%;font-weight:600;margin:auto 16px 0 5px;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-hover{cursor:default;position:absolute;overflow:hidden;user-select:text;-webkit-user-select:text;box-sizing:border-box;animation:fadein .1s linear;line-height:1.5em;white-space:var(--vscode-hover-whiteSpace, normal)}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:var(--vscode-hover-maxWidth, 500px);word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover p,.monaco-hover .code,.monaco-hover ul,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{box-sizing:border-box;border-left:0px;border-right:0px;margin:4px -8px -4px;height:1px}.monaco-hover p:first-child,.monaco-hover .code:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover p:last-child,.monaco-hover .code:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ul,.monaco-hover ol{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace, pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px}.monaco-hover .hover-row.status-bar .actions .action-container{margin-right:16px;cursor:pointer}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link:hover,.monaco-hover .hover-contents a.code-link{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:"("}.monaco-hover .hover-contents a.code-link:after{content:")"}.monaco-hover .hover-contents a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground)}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span{margin-bottom:4px;display:inline-block}.monaco-hover-content .action-container a{-webkit-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{pointer-events:none;opacity:.4;cursor:default}.monaco-editor .peekview-widget .head .peekview-title .severity-icon{display:inline-block;vertical-align:text-top;margin-right:4px}.monaco-editor .marker-widget{text-overflow:ellipsis;white-space:nowrap}.monaco-editor .marker-widget>.stale{opacity:.6;font-style:italic}.monaco-editor .marker-widget .title{display:inline-block;padding-right:5px}.monaco-editor .marker-widget .descriptioncontainer{position:absolute;white-space:pre;user-select:text;-webkit-user-select:text;padding:8px 12px 0 20px}.monaco-editor .marker-widget .descriptioncontainer .message{display:flex;flex-direction:column}.monaco-editor .marker-widget .descriptioncontainer .message .details{padding-left:6px}.monaco-editor .marker-widget .descriptioncontainer .message .source,.monaco-editor .marker-widget .descriptioncontainer .message span.code{opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link{opacity:.6;color:inherit}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before{content:"("}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after{content:")"}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-activeForeground)}.monaco-editor .marker-widget .descriptioncontainer .filename{cursor:pointer;color:var(--vscode-textLink-activeForeground)}.monaco-editor .zone-widget .codicon.codicon-error,.markers-panel .marker-icon.error,.markers-panel .marker-icon .codicon.codicon-error,.text-search-provider-messages .providerMessage .codicon.codicon-error,.extensions-viewlet>.extensions .codicon.codicon-error,.extension-editor .codicon.codicon-error,.preferences-editor .codicon.codicon-error{color:var(--vscode-problemsErrorIcon-foreground)}.monaco-editor .zone-widget .codicon.codicon-warning,.markers-panel .marker-icon.warning,.markers-panel .marker-icon .codicon.codicon-warning,.text-search-provider-messages .providerMessage .codicon.codicon-warning,.extensions-viewlet>.extensions .codicon.codicon-warning,.extension-editor .codicon.codicon-warning,.preferences-editor .codicon.codicon-warning{color:var(--vscode-problemsWarningIcon-foreground)}.monaco-editor .zone-widget .codicon.codicon-info,.markers-panel .marker-icon.info,.markers-panel .marker-icon .codicon.codicon-info,.text-search-provider-messages .providerMessage .codicon.codicon-info,.extensions-viewlet>.extensions .codicon.codicon-info,.extension-editor .codicon.codicon-info,.preferences-editor .codicon.codicon-info{color:var(--vscode-problemsInfoIcon-foreground)}.monaco-editor .inlineSuggestionsHints.withBorder{z-index:39;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .inlineSuggestionsHints a,.monaco-editor .inlineSuggestionsHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineSuggestionsHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a{display:flex;min-width:19px;justify-content:center}.monaco-editor .inlineSuggestionStatusBarItemLabel{margin-right:2px}.monaco-toolbar{height:100%}.monaco-toolbar .toolbar-toggle-more{display:inline-block;padding:0}.monaco-editor .hoverHighlight{background-color:var(--vscode-editor-hoverHighlightBackground)}.monaco-editor .monaco-hover{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px}.monaco-editor .monaco-hover a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .monaco-hover .hover-row .actions{background-color:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-editor .monaco-hover code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .diff-hidden-lines-widget{width:100%}.monaco-editor .diff-hidden-lines{height:0px;transform:translateY(-10px);font-size:13px;line-height:14px}.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover,.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,.monaco-editor .diff-hidden-lines .top.dragging,.monaco-editor .diff-hidden-lines .bottom.dragging{background-color:var(--vscode-focusBorder)}.monaco-editor .diff-hidden-lines .top,.monaco-editor .diff-hidden-lines .bottom{transition:background-color .1s ease-out;height:4px;background-color:transparent;background-clip:padding-box;border-bottom:2px solid transparent;border-top:4px solid transparent}.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *,.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom){cursor:n-resize!important}.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *,.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom{cursor:s-resize!important}.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *,.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom{cursor:ns-resize!important}.monaco-editor .diff-hidden-lines .top{transform:translateY(4px)}.monaco-editor .diff-hidden-lines .bottom{transform:translateY(-6px)}.monaco-editor .diff-unchanged-lines{background:var(--vscode-diffEditor-unchangedCodeBackground)}.monaco-editor .noModificationsOverlay{z-index:1;background:var(--vscode-editor-background);display:flex;justify-content:center;align-items:center}.monaco-editor .diff-hidden-lines .center{background:var(--vscode-diffEditor-unchangedRegionBackground);color:var(--vscode-diffEditor-unchangedRegionForeground);overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap;height:24px;box-shadow:inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow),inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow)}.monaco-editor .diff-hidden-lines .center span.codicon{vertical-align:middle}.monaco-editor .diff-hidden-lines .center a:hover .codicon{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .diff-hidden-lines div.breadcrumb-item{cursor:pointer}.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover{color:var(--vscode-editorLink-activeForeground)}.monaco-editor .movedOriginal,.monaco-editor .movedModified{border:2px solid var(--vscode-diffEditor-move-border)}.monaco-editor .movedOriginal.currentMove,.monaco-editor .movedModified.currentMove{border:2px solid var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path.currentMove{stroke:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path{pointer-events:visiblestroke}.monaco-diff-editor .moved-blocks-lines .arrow{fill:var(--vscode-diffEditor-move-border)}.monaco-diff-editor .moved-blocks-lines .arrow.currentMove{fill:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines .arrow-rectangle{fill:var(--vscode-editor-background)}.monaco-diff-editor .moved-blocks-lines{position:absolute;pointer-events:none}.monaco-diff-editor .moved-blocks-lines path{fill:none;stroke:var(--vscode-diffEditor-move-border);stroke-width:2}.monaco-editor .char-delete.diff-range-empty{margin-left:-1px;border-left:solid var(--vscode-diffEditor-removedTextBackground) 3px}.monaco-editor .char-insert.diff-range-empty{border-left:solid var(--vscode-diffEditor-insertedTextBackground) 3px}.monaco-editor .fold-unchanged{cursor:pointer}.monaco-diff-editor .diff-moved-code-block{display:flex;justify-content:flex-end;margin-top:-4px}.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon{width:12px;height:12px;font-size:12px}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs .diffOverview{background:#00000008}.monaco-diff-editor.vs-dark .diffOverview{background:#ffffff03}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar{background:#0000}.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light .scrollbar{background:none}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:#ababab66}.modified-in-monaco-diff-editor.hc-black .slider.active,.modified-in-monaco-diff-editor.hc-light .slider.active{background:none}.monaco-editor .insert-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-diff-editor .delete-sign{font-size:11px!important;opacity:.7!important;display:flex!important;align-items:center}.monaco-editor.hc-black .insert-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .delete-sign,.monaco-editor.hc-light .insert-sign,.monaco-diff-editor.hc-light .insert-sign,.monaco-editor.hc-light .delete-sign,.monaco-diff-editor.hc-light .delete-sign{opacity:1}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .inline-added-margin-view-zone{text-align:right}.monaco-editor .arrow-revert-change{z-index:10;position:absolute}.monaco-editor .arrow-revert-change:hover{cursor:pointer}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-editor .char-insert,.monaco-diff-editor .char-insert{background-color:var(--vscode-diffEditor-insertedTextBackground)}.monaco-editor .line-insert,.monaco-diff-editor .line-insert{background-color:var(--vscode-diffEditor-insertedLineBackground, var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .line-insert,.monaco-editor .char-insert{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-insertedTextBorder)}.monaco-editor.hc-black .line-insert,.monaco-editor.hc-light .line-insert,.monaco-editor.hc-black .char-insert,.monaco-editor.hc-light .char-insert{border-style:dashed}.monaco-editor .line-delete,.monaco-editor .char-delete{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-removedTextBorder)}.monaco-editor.hc-black .line-delete,.monaco-editor.hc-light .line-delete,.monaco-editor.hc-black .char-delete,.monaco-editor.hc-light .char-delete{border-style:dashed}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .gutter-insert,.monaco-diff-editor .gutter-insert{background-color:var(--vscode-diffEditorGutter-insertedLineBackground, var(--vscode-diffEditor-insertedLineBackground), var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .char-delete,.monaco-diff-editor .char-delete{background-color:var(--vscode-diffEditor-removedTextBackground)}.monaco-editor .line-delete,.monaco-diff-editor .line-delete{background-color:var(--vscode-diffEditor-removedLineBackground, var(--vscode-diffEditor-removedTextBackground))}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .gutter-delete,.monaco-diff-editor .gutter-delete{background-color:var(--vscode-diffEditorGutter-removedLineBackground, var(--vscode-diffEditor-removedLineBackground), var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor.side-by-side .editor.modified{box-shadow:-6px 0 5px -5px var(--vscode-scrollbar-shadow);border-left:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor.side-by-side .editor.original{box-shadow:6px 0 5px -5px var(--vscode-scrollbar-shadow);border-right:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor .diffViewport{background:var(--vscode-scrollbarSlider-background)}.monaco-diff-editor .diffViewport:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-diff-editor .diffViewport:active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .diagonal-fill{background-image:linear-gradient(-45deg,var(--vscode-diffEditor-diagonalFill) 12.5%,#0000 12.5%,#0000 50%,var(--vscode-diffEditor-diagonalFill) 50%,var(--vscode-diffEditor-diagonalFill) 62.5%,#0000 62.5%,#0000 100%);background-size:8px 8px}.monaco-diff-editor .gutter{position:relative;overflow:hidden;flex-shrink:0;flex-grow:0}:is(.monaco-diff-editor .gutter) .gutterItem{opacity:0;transition:opacity .7s}.showAlways:is(:is(.monaco-diff-editor .gutter) .gutterItem){opacity:1;transition:none}.noTransition:is(:is(.monaco-diff-editor .gutter) .gutterItem){transition:none}:is(.monaco-diff-editor .gutter):hover .gutterItem{opacity:1;transition:opacity .1s ease-in-out}:is(:is(.monaco-diff-editor .gutter) .gutterItem) .background{position:absolute;height:100%;left:50%;width:1px;border-left:2px var(--vscode-menu-border) solid}:is(:is(.monaco-diff-editor .gutter) .gutterItem) .buttons{position:absolute;width:100%;display:flex;justify-content:center;align-items:center}:is(:is(:is(.monaco-diff-editor .gutter) .gutterItem) .buttons) .monaco-toolbar{height:fit-content}:is(:is(:is(:is(.monaco-diff-editor .gutter) .gutterItem) .buttons) .monaco-toolbar) .monaco-action-bar{line-height:1}:is(:is(:is(:is(:is(.monaco-diff-editor .gutter) .gutterItem) .buttons) .monaco-toolbar) .monaco-action-bar) .actions-container{width:fit-content;border-radius:4px;border:1px var(--vscode-menu-border) solid;background:var(--vscode-editor-background)}:is(:is(:is(:is(:is(:is(:is(.monaco-diff-editor .gutter) .gutterItem) .buttons) .monaco-toolbar) .monaco-action-bar) .actions-container) .action-item):hover{background:var(--vscode-toolbar-hoverBackground)}:is(:is(:is(:is(:is(:is(:is(.monaco-diff-editor .gutter) .gutterItem) .buttons) .monaco-toolbar) .monaco-action-bar) .actions-container) .action-item) .action-label{padding:.5px 1px}.monaco-component.diff-review{user-select:none;-webkit-user-select:none;z-index:99}.monaco-diff-editor .diff-review{position:absolute}.monaco-component.diff-review .diff-review-line-number{text-align:right;display:inline-block;color:var(--vscode-editorLineNumber-foreground)}.monaco-component.diff-review .diff-review-summary{padding-left:10px}.monaco-component.diff-review .diff-review-shadow{position:absolute;box-shadow:var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset}.monaco-component.diff-review .diff-review-row{white-space:pre}.monaco-component.diff-review .diff-review-table{display:table;min-width:100%}.monaco-component.diff-review .diff-review-row{display:table-row;width:100%}.monaco-component.diff-review .diff-review-spacer{display:inline-block;width:10px;vertical-align:middle}.monaco-component.diff-review .diff-review-spacer>.codicon{font-size:9px!important}.monaco-component.diff-review .diff-review-actions{display:inline-block;position:absolute;right:10px;top:2px;z-index:100}.monaco-component.diff-review .diff-review-actions .action-label{width:16px;height:16px;margin:2px 0}.monaco-component.diff-review .revertButton{cursor:pointer}.monaco-editor.vs .dnd-target,.monaco-editor.hc-light .dnd-target{border-right:2px dotted black;color:#fff}.monaco-editor.vs-dark .dnd-target{border-right:2px dotted #AEAFAD;color:#51504f}.monaco-editor.hc-black .dnd-target{border-right:2px dotted #fff;color:#000}.monaco-editor.mouse-default .view-lines,.monaco-editor.vs-dark.mac.mouse-default .view-lines,.monaco-editor.hc-black.mac.mouse-default .view-lines,.monaco-editor.hc-light.mac.mouse-default .view-lines{cursor:default}.monaco-editor.mouse-copy .view-lines,.monaco-editor.vs-dark.mac.mouse-copy .view-lines,.monaco-editor.hc-black.mac.mouse-copy .view-lines,.monaco-editor.hc-light.mac.mouse-copy .view-lines{cursor:copy}.monaco-editor .findOptionsWidget{background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground);box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:2px solid var(--vscode-contrastBorder)}.monaco-editor .find-widget{position:absolute;z-index:35;height:33px;overflow:hidden;line-height:19px;transition:transform .2s linear;padding:0 4px;box-sizing:border-box;transform:translateY(calc(-100% - 10px));box-shadow:0 0 8px 2px var(--vscode-widget-shadow);color:var(--vscode-editorWidget-foreground);border-left:1px solid var(--vscode-widget-border);border-right:1px solid var(--vscode-widget-border);border-bottom:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px;background-color:var(--vscode-editorWidget-background)}.monaco-workbench.reduce-motion .monaco-editor .find-widget{transition:transform 0ms linear}.monaco-editor .find-widget textarea{margin:0}.monaco-editor .find-widget.hiddenEditor{display:none}.monaco-editor .find-widget.replaceToggled>.replace-part{display:flex}.monaco-editor .find-widget.visible{transform:translateY(0)}.monaco-editor .find-widget .monaco-inputbox.synthetic-focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px;outline-color:var(--vscode-focusBorder)}.monaco-editor .find-widget .monaco-inputbox .input{background-color:transparent;min-height:0}.monaco-editor .find-widget .monaco-findInput .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{margin:3px 25px 0 17px;font-size:12px;display:flex}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{min-height:25px}.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-right:22px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.mirror,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-top:2px;padding-bottom:2px}.monaco-editor .find-widget>.find-part .find-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget>.replace-part .replace-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget .monaco-findInput{vertical-align:middle;display:flex;flex:1}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element{width:100%}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical{opacity:0}.monaco-editor .find-widget .matchesCount{display:flex;flex:initial;margin:0 0 0 3px;padding:2px 0 0 2px;height:25px;vertical-align:middle;box-sizing:border-box;text-align:center;line-height:23px}.monaco-editor .find-widget .button{width:16px;height:16px;padding:3px;border-radius:5px;flex:initial;margin-left:3px;background-position:center center;background-repeat:no-repeat;cursor:pointer;display:flex;align-items:center;justify-content:center}.monaco-editor .find-widget .codicon-find-selection{width:22px;height:22px;padding:3px;border-radius:5px}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{width:auto;padding:1px 6px;top:-1px}.monaco-editor .find-widget .button.toggle{position:absolute;top:0;left:3px;width:18px;height:100%;border-radius:0;box-sizing:border-box}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .disabled{color:var(--vscode-disabledForeground);cursor:default}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput{position:relative;display:flex;vertical-align:middle;flex:auto;flex-grow:0;flex-shrink:0}.monaco-editor .find-widget>.replace-part>.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.monaco-editor .find-widget.reduced-find-widget .matchesCount{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:170px!important}.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.next,.monaco-editor .find-widget.collapsed-find-widget .button.replace,.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-findInput .controls{display:none}.monaco-editor .find-widget.no-results .matchesCount{color:var(--vscode-errorForeground)}.monaco-editor .findMatch{animation-duration:0;animation-name:inherit!important;background-color:var(--vscode-editor-findMatchHighlightBackground)}.monaco-editor .currentFindMatch{background-color:var(--vscode-editor-findMatchBackground);border:2px solid var(--vscode-editor-findMatchBorder);padding:1px;box-sizing:border-box}.monaco-editor .findScope{background-color:var(--vscode-editor-findRangeHighlightBackground)}.monaco-editor .find-widget .monaco-sash{left:0!important;background-color:var(--vscode-editorWidget-resizeBorder, var(--vscode-editorWidget-border))}.monaco-editor.hc-black .find-widget .button:before{position:relative;top:1px;left:2px}.monaco-editor .find-widget .button:not(.disabled):hover,.monaco-editor .find-widget .codicon-find-selection:hover{background-color:var(--vscode-toolbar-hoverBackground)!important}.monaco-editor.findMatch{background-color:var(--vscode-editor-findMatchHighlightBackground)}.monaco-editor.currentFindMatch{background-color:var(--vscode-editor-findMatchBackground)}.monaco-editor.findScope{background-color:var(--vscode-editor-findRangeHighlightBackground)}.monaco-editor.findMatch{background-color:var(--vscode-editorWidget-background)}.monaco-editor .find-widget>.button.codicon-widget-close{position:absolute;top:5px;right:4px}.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,.monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-editor .margin-view-overlays .codicon-folding-collapsed{cursor:pointer;opacity:0;transition:opacity .5s;display:flex;align-items:center;justify-content:center;font-size:140%;margin-left:2px}.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed{transition:initial}.monaco-editor .margin-view-overlays:hover .codicon,.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons{opacity:1}.monaco-editor .inline-folded:after{color:gray;margin:.1em .2em 0;content:"\22ef";display:inline;line-height:1em;cursor:pointer}.monaco-editor .folded-background{background-color:var(--vscode-editor-foldBackground)}.monaco-editor .cldr.codicon.codicon-folding-expanded,.monaco-editor .cldr.codicon.codicon-folding-collapsed,.monaco-editor .cldr.codicon.codicon-folding-manual-expanded,.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed{color:var(--vscode-editorGutter-foldingControlForeground)!important}.monaco-editor .iPadShowKeyboard{width:58px;min-width:0;height:36px;min-height:0;margin:0;padding:0;position:absolute;resize:none;overflow:hidden;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjNDI0MjQyIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==) center center no-repeat;border:4px solid #F6F6F6;border-radius:4px}.monaco-editor.vs-dark .iPadShowKeyboard{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjQzVDNUM1Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==) center center no-repeat;border:4px solid #252526}.monaco-editor.vs .valueSetReplacement{outline:solid 2px var(--vscode-editorBracketMatch-border)}.monaco-editor .suggest-preview-additional-widget{white-space:nowrap}.monaco-editor .suggest-preview-additional-widget .content-spacer{color:transparent;white-space:pre}.monaco-editor .suggest-preview-additional-widget .button{display:inline-block;cursor:pointer;text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-hidden{opacity:0;font-size:0}.monaco-editor .ghost-text-decoration,.monaco-editor .suggest-preview-text .ghost-text{font-style:italic}.monaco-editor .ghost-text-decoration,.monaco-editor .ghost-text-decoration-preview,.monaco-editor .suggest-preview-text .ghost-text{color:var(--vscode-editorGhostText-foreground)!important;background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border)}.monaco-editor .snippet-placeholder{min-width:2px;outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetTabstopHighlightBackground, transparent);outline-color:var(--vscode-editor-snippetTabstopHighlightBorder, transparent)}.monaco-editor .finish-snippet-placeholder{outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetFinalTabstopHighlightBackground, transparent);outline-color:var(--vscode-editor-snippetFinalTabstopHighlightBorder, transparent)}.monaco-editor .suggest-widget{width:430px;z-index:40;display:flex;flex-direction:column;border-radius:3px}.monaco-editor .suggest-widget.message{flex-direction:row;align-items:center}.monaco-editor .suggest-widget,.monaco-editor .suggest-details{flex:0 1 auto;width:100%;border-style:solid;border-width:1px;border-color:var(--vscode-editorSuggestWidget-border);background-color:var(--vscode-editorSuggestWidget-background)}.monaco-editor.hc-black .suggest-widget,.monaco-editor.hc-black .suggest-details,.monaco-editor.hc-light .suggest-widget,.monaco-editor.hc-light .suggest-details{border-width:2px}.monaco-editor .suggest-widget .suggest-status-bar{box-sizing:border-box;display:none;flex-flow:row nowrap;justify-content:space-between;width:100%;font-size:80%;padding:0 4px;border-top:1px solid var(--vscode-editorSuggestWidget-border);overflow:hidden}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar{display:flex}.monaco-editor .suggest-widget .suggest-status-bar .left{padding-right:8px}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label{color:var(--vscode-editorSuggestWidgetStatus-foreground)}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label{margin-right:0}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label:after{content:", ";margin-right:.3em}.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore,.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label{width:100%}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{height:100%;width:100%}.monaco-editor .suggest-widget .monaco-list{user-select:none;-webkit-user-select:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{display:flex;-mox-box-sizing:border-box;box-sizing:border-box;padding-right:10px;background-repeat:no-repeat;background-position:2px 2px;white-space:nowrap;cursor:pointer;touch-action:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{color:var(--vscode-editorSuggestWidget-selectedForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon{color:var(--vscode-editorSuggestWidget-selectedIconForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{flex:1;height:100%;overflow:hidden;padding-left:2px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:pre;justify-content:space-between}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{display:flex}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label{color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-highlightForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-focusHighlightForeground)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:before{color:inherit;opacity:1;font-size:14px;cursor:pointer}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close{position:absolute;top:6px;right:2px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{opacity:.7}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{overflow:hidden;text-overflow:ellipsis;opacity:.6}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label{margin-left:12px;opacity:.4;font-size:85%;line-height:initial;text-overflow:ellipsis;overflow:hidden;align-self:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{font-size:85%;margin-left:1.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{display:none}.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label{width:calc(100% - 26px)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left{flex-shrink:1;flex-grow:1;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label{flex-shrink:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label{max-width:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label{flex-shrink:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{overflow:hidden;flex-shrink:4;max-width:70%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:inline-block;position:absolute;right:10px;width:18px;height:18px;visibility:hidden}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:inline-block}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore{visibility:visible}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated{opacity:.66;text-decoration:unset}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container{text-decoration:line-through}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{display:block;height:16px;width:16px;margin-left:2px;background-repeat:no-repeat;background-size:80%;background-position:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{display:flex;align-items:center;margin-right:4px}.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon:before{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{margin:0 0 0 .3em;border:.1em solid #000;width:.7em;height:.7em;display:inline-block}.monaco-editor .suggest-details-container{z-index:41}.monaco-editor .suggest-details{display:flex;flex-direction:column;cursor:default;color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-details.focused{border-color:var(--vscode-focusBorder)}.monaco-editor .suggest-details a{color:var(--vscode-textLink-foreground)}.monaco-editor .suggest-details a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .suggest-details code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .suggest-details.no-docs{display:none}.monaco-editor .suggest-details>.monaco-scrollable-element{flex:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body{box-sizing:border-box;height:100%;width:100%}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type{flex:2;overflow:hidden;text-overflow:ellipsis;opacity:.7;white-space:pre;margin:0 24px 0 0;padding:4px 0 12px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap{white-space:normal;word-break:break-all}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs{margin:0;padding:4px 5px;white-space:pre-wrap}.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs{margin-right:24px;overflow:hidden}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs{padding:0;white-space:initial;min-height:calc(1rem + 8px)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty){padding:4px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child{margin-top:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child{margin-bottom:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source{white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon{vertical-align:sub}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-details code{border-radius:3px;padding:0 .4em}.monaco-editor .suggest-details ul,.monaco-editor .suggest-details ol{padding-left:20px}.monaco-editor .suggest-details p code{font-family:var(--monaco-monospace-font)}.monaco-editor .inline-edit-remove{background-color:var(--vscode-editorGhostText-background);font-style:italic;text-decoration:line-through}.monaco-editor .inline-edit-remove.backgroundColoring{background-color:var(--vscode-diffEditor-removedLineBackground)}.monaco-editor .inline-edit-hidden{opacity:0;font-size:0}.monaco-editor .inline-edit-decoration,.monaco-editor .suggest-preview-text .inline-edit{font-style:italic}.monaco-editor .inline-completion-text-to-replace{text-decoration:underline;text-underline-position:under}.monaco-editor .inline-edit-decoration,.monaco-editor .inline-edit-decoration-preview,.monaco-editor .suggest-preview-text .inline-edit{color:var(--vscode-editorGhostText-foreground)!important;background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border)}.monaco-editor .inlineEditHints.withBorder{z-index:39;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .inlineEditHints a,.monaco-editor .inlineEditHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineEditHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineEditHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineEditStatusBarItemLabel{margin-right:2px}.monaco-editor .tokens-inspect-widget{z-index:50;user-select:text;-webkit-user-select:text;padding:10px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor.hc-black .tokens-inspect-widget,.monaco-editor.hc-light .tokens-inspect-widget{border-width:2px}.monaco-editor .tokens-inspect-widget .tokens-inspect-separator{height:1px;border:0;background-color:var(--vscode-editorHoverWidget-border)}.monaco-editor .tokens-inspect-widget .tm-token{font-family:var(--monaco-monospace-font)}.monaco-editor .tokens-inspect-widget .tm-token-length{font-weight:400;font-size:60%;float:right}.monaco-editor .tokens-inspect-widget .tm-metadata-table{width:100%}.monaco-editor .tokens-inspect-widget .tm-metadata-value{font-family:var(--monaco-monospace-font);text-align:right}.monaco-editor .tokens-inspect-widget .tm-token-type{font-family:var(--monaco-monospace-font)}.monaco-editor .linked-editing-decoration{background-color:var(--vscode-editor-linkedEditingBackground);min-width:1px}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-decoration:underline;text-underline-position:under}.monaco-editor .detected-link-active{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .focused .selectionHighlight{background-color:var(--vscode-editor-selectionHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-selectionHighlightBorder)}.monaco-editor.hc-black .focused .selectionHighlight,.monaco-editor.hc-light .focused .selectionHighlight{border-style:dotted}.monaco-editor .wordHighlight{background-color:var(--vscode-editor-wordHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightBorder)}.monaco-editor.hc-black .wordHighlight,.monaco-editor.hc-light .wordHighlight{border-style:dotted}.monaco-editor .wordHighlightStrong{background-color:var(--vscode-editor-wordHighlightStrongBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightStrongBorder)}.monaco-editor.hc-black .wordHighlightStrong,.monaco-editor.hc-light .wordHighlightStrong{border-style:dotted}.monaco-editor .wordHighlightText{background-color:var(--vscode-editor-wordHighlightTextBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightTextBorder)}.monaco-editor.hc-black .wordHighlightText,.monaco-editor.hc-light .wordHighlightText{border-style:dotted}.monaco-editor .parameter-hints-widget{z-index:39;display:flex;flex-direction:column;line-height:1.5em;cursor:default;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.hc-black .monaco-editor .parameter-hints-widget,.hc-light .monaco-editor .parameter-hints-widget{border-width:2px}.monaco-editor .parameter-hints-widget>.phwrapper{max-width:440px;display:flex;flex-direction:row}.monaco-editor .parameter-hints-widget.multiple{min-height:3.3em;padding:0}.monaco-editor .parameter-hints-widget.multiple .body:before{content:"";display:block;height:100%;position:absolute;opacity:.5;border-left:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget p,.monaco-editor .parameter-hints-widget ul{margin:8px 0}.monaco-editor .parameter-hints-widget .monaco-scrollable-element,.monaco-editor .parameter-hints-widget .body{display:flex;flex:1;flex-direction:column;min-height:100%}.monaco-editor .parameter-hints-widget .signature{padding:4px 5px;position:relative}.monaco-editor .parameter-hints-widget .signature.has-docs:after{content:"";display:block;position:absolute;left:0;width:100%;padding-top:4px;opacity:.5;border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget .docs{padding:0 10px 0 5px;white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs.empty{display:none}.monaco-editor .parameter-hints-widget .docs a{color:var(--vscode-textLink-foreground)}.monaco-editor .parameter-hints-widget .docs a:hover{color:var(--vscode-textLink-activeForeground);cursor:pointer}.monaco-editor .parameter-hints-widget .docs .markdown-docs{white-space:initial}.monaco-editor .parameter-hints-widget .docs code{font-family:var(--monaco-monospace-font);border-radius:3px;padding:0 .4em;background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source,.monaco-editor .parameter-hints-widget .docs .code{white-space:pre-wrap}.monaco-editor .parameter-hints-widget .controls{display:none;flex-direction:column;align-items:center;min-width:22px;justify-content:flex-end}.monaco-editor .parameter-hints-widget.multiple .controls{display:flex;padding:0 2px}.monaco-editor .parameter-hints-widget.multiple .button{width:16px;height:16px;background-repeat:no-repeat;cursor:pointer}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px}.monaco-editor .parameter-hints-widget .overloads{text-align:center;height:12px;line-height:12px;font-family:var(--monaco-monospace-font)}.monaco-editor .parameter-hints-widget .signature .parameter.active{color:var(--vscode-editorHoverWidget-highlightForeground);font-weight:700}.monaco-editor .parameter-hints-widget .documentation-parameter>.parameter{font-weight:700;margin-right:.5em}.monaco-editor .rename-box{z-index:100;color:inherit;border-radius:4px}.monaco-editor .rename-box.preview{padding:4px 4px 0}.monaco-editor .rename-box .rename-input{padding:3px;border-radius:2px;width:calc(100% - 8px)}.monaco-editor .rename-box .rename-label{display:none;opacity:.8}.monaco-editor .rename-box.preview .rename-label{display:inherit}.monaco-editor .sticky-widget{overflow:hidden}.monaco-editor .sticky-widget-line-numbers{float:left;background-color:inherit}.monaco-editor .sticky-widget-lines-scrollable{display:inline-block;position:absolute;overflow:hidden;width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit}.monaco-editor .sticky-widget-lines{position:absolute;background-color:inherit}.monaco-editor .sticky-line-number,.monaco-editor .sticky-line-content{color:var(--vscode-editorLineNumber-foreground);white-space:nowrap;display:inline-block;position:absolute;background-color:inherit}.monaco-editor .sticky-line-number .codicon-folding-expanded,.monaco-editor .sticky-line-number .codicon-folding-collapsed{float:right;transition:var(--vscode-editorStickyScroll-foldingOpacityTransition)}.monaco-editor .sticky-line-content{width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit;white-space:nowrap}.monaco-editor .sticky-line-number-inner{display:inline-block;text-align:right}.monaco-editor .sticky-widget{border-bottom:1px solid var(--vscode-editorStickyScroll-border)}.monaco-editor .sticky-line-content:hover{background-color:var(--vscode-editorStickyScrollHover-background);cursor:pointer}.monaco-editor .sticky-widget{width:100%;box-shadow:var(--vscode-editorStickyScroll-shadow) 0 3px 2px -2px;z-index:4;background-color:var(--vscode-editorStickyScroll-background)}.monaco-editor .sticky-widget.peek{background-color:var(--vscode-peekViewEditorStickyScroll-background)}.monaco-editor .unicode-highlight{border:1px solid var(--vscode-editorUnicodeHighlight-border);background-color:var(--vscode-editorUnicodeHighlight-background);box-sizing:border-box}.editor-banner{box-sizing:border-box;cursor:default;width:100%;font-size:12px;display:flex;overflow:visible;height:26px;background:var(--vscode-banner-background)}.editor-banner .icon-container{display:flex;flex-shrink:0;align-items:center;padding:0 6px 0 10px}.editor-banner .icon-container.custom-icon{background-repeat:no-repeat;background-position:center center;background-size:16px;width:16px;padding:0;margin:0 6px 0 10px}.editor-banner .message-container{display:flex;align-items:center;line-height:26px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-banner .message-container p{margin-block-start:0;margin-block-end:0}.editor-banner .message-actions-container{flex-grow:1;flex-shrink:0;line-height:26px;margin:0 4px}.editor-banner .message-actions-container a.monaco-button{width:inherit;margin:2px 8px;padding:0 12px}.editor-banner .message-actions-container a{padding:3px;margin-left:12px;text-decoration:underline}.editor-banner .action-container{padding:0 10px 0 6px}.editor-banner{background-color:var(--vscode-banner-background)}.editor-banner,.editor-banner .action-container .codicon,.editor-banner .message-actions-container .monaco-link{color:var(--vscode-banner-foreground)}.editor-banner .icon-container .codicon{color:var(--vscode-banner-iconForeground)}.monaco-link{color:var(--vscode-textLink-foreground)}.monaco-link:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droid Sans,sans-serif;--monaco-monospace-font: "SF Mono", Monaco, Menlo, Consolas, "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace}.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{position:absolute!important;top:0;height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}.monaco-editor,.monaco-diff-editor .synthetic-focus,.monaco-diff-editor [tabindex="0"]:focus,.monaco-diff-editor [tabindex="-1"]:focus,.monaco-diff-editor button:focus,.monaco-diff-editor input[type=button]:focus,.monaco-diff-editor input[type=checkbox]:focus,.monaco-diff-editor input[type=search]:focus,.monaco-diff-editor input[type=text]:focus,.monaco-diff-editor select:focus,.monaco-diff-editor textarea:focus{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:var(--vscode-focusBorder);opacity:1}.monaco-workbench .workbench-hover{position:relative;font-size:13px;line-height:19px;z-index:40;overflow:hidden;max-width:700px;background:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px;color:var(--vscode-editorHoverWidget-foreground);box-shadow:0 2px 8px var(--vscode-widget-shadow)}.monaco-workbench .workbench-hover hr{border-bottom:none}.monaco-workbench .workbench-hover:not(.skip-fade-in){animation:fadein .1s linear}.monaco-workbench .workbench-hover.compact{font-size:12px}.monaco-workbench .workbench-hover.compact .hover-contents{padding:2px 8px}.monaco-workbench .workbench-hover-container.locked .workbench-hover{outline:1px solid var(--vscode-editorHoverWidget-border)}.monaco-workbench .workbench-hover-container.locked .workbench-hover:focus,.monaco-workbench .workbench-hover-lock:focus{outline:1px solid var(--vscode-focusBorder)}.monaco-workbench .workbench-hover-container.locked .workbench-hover-lock:hover{background:var(--vscode-toolbar-hoverBackground)}.monaco-workbench .workbench-hover-pointer{position:absolute;z-index:41;pointer-events:none}.monaco-workbench .workbench-hover-pointer:after{content:"";position:absolute;width:5px;height:5px;background-color:var(--vscode-editorHoverWidget-background);border-right:1px solid var(--vscode-editorHoverWidget-border);border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-workbench .locked .workbench-hover-pointer:after{width:4px;height:4px;border-right-width:2px;border-bottom-width:2px}.monaco-workbench .workbench-hover-pointer.left{left:-3px}.monaco-workbench .workbench-hover-pointer.right{right:3px}.monaco-workbench .workbench-hover-pointer.top{top:-3px}.monaco-workbench .workbench-hover-pointer.bottom{bottom:3px}.monaco-workbench .workbench-hover-pointer.left:after{transform:rotate(135deg)}.monaco-workbench .workbench-hover-pointer.right:after{transform:rotate(315deg)}.monaco-workbench .workbench-hover-pointer.top:after{transform:rotate(225deg)}.monaco-workbench .workbench-hover-pointer.bottom:after{transform:rotate(45deg)}.monaco-workbench .workbench-hover a{color:var(--vscode-textLink-foreground)}.monaco-workbench .workbench-hover a:focus{outline:1px solid;outline-offset:-1px;text-decoration:underline;outline-color:var(--vscode-focusBorder)}.monaco-workbench .workbench-hover a:hover,.monaco-workbench .workbench-hover a:active{color:var(--vscode-textLink-activeForeground)}.monaco-workbench .workbench-hover code{background:var(--vscode-textCodeBlock-background)}.monaco-workbench .workbench-hover .hover-row .actions{background:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-workbench .workbench-hover.right-aligned{left:1px}.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions{flex-direction:row-reverse}.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions .action-container{margin-right:0;margin-left:16px}.context-view{position:absolute}.context-view.fixed{all:initial;font-family:inherit;font-size:13px;position:fixed;color:inherit}.quick-input-widget{font-size:13px}.quick-input-widget .monaco-highlighted-label .highlight{color:#0066bf}.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight{color:#9dddff}.vs-dark .quick-input-widget .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .quick-input-widget .monaco-highlighted-label .highlight{color:#f38518}.hc-light .quick-input-widget .monaco-highlighted-label .highlight{color:#0f4a85}.monaco-keybinding>.monaco-keybinding-key{background-color:#ddd6;border:solid 1px rgba(204,204,204,.4);border-bottom-color:#bbb6;box-shadow:inset 0 -1px #bbb6;color:#555}.hc-black .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px rgb(111,195,223);box-shadow:none;color:#fff}.hc-light .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px #0F4A85;box-shadow:none;color:#292929}.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:#8080802b;border:solid 1px rgba(51,51,51,.6);border-bottom-color:#4449;box-shadow:inset 0 -1px #4449;color:#ccc}.quick-input-widget{position:absolute;width:600px;z-index:2550;left:50%;margin-left:-300px;-webkit-app-region:no-drag;border-radius:6px}.quick-input-titlebar{display:flex;align-items:center;border-radius:inherit}.quick-input-left-action-bar{display:flex;margin-left:4px;flex:1}.quick-input-title{padding:3px 0;text-align:center;text-overflow:ellipsis;overflow:hidden}.quick-input-right-action-bar{display:flex;margin-right:4px;flex:1}.quick-input-right-action-bar>.actions-container{justify-content:flex-end}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:center;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px 6px 6px 11px}.quick-input-header .quick-input-description{margin:4px 2px;flex:1}.quick-input-header{display:flex;padding:8px 6px 2px}.quick-input-widget.hidden-input .quick-input-header{padding:0;margin-bottom:0}.quick-input-and-message{display:flex;flex-direction:column;flex-grow:1;min-width:0;position:relative}.quick-input-check-all{align-self:center;margin:0}.quick-input-filter{flex-grow:1;display:flex;position:relative}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{position:absolute;left:-10000px}.quick-input-count{align-self:center;position:absolute;right:4px;display:flex;align-items:center}.quick-input-count .monaco-count-badge{vertical-align:middle;padding:2px 4px;border-radius:2px;min-height:auto;line-height:normal}.quick-input-action{margin-left:6px}.quick-input-action .monaco-text-button{font-size:11px;padding:0 6px;display:flex;height:25px;align-items:center}.quick-input-message{margin-top:-1px;padding:5px;overflow-wrap:break-word}.quick-input-message>.codicon{margin:0 .2em;vertical-align:text-bottom}.quick-input-message a{color:inherit}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-list{line-height:22px}.quick-input-widget.hidden-input .quick-input-list{margin-top:4px;padding-bottom:4px}.quick-input-list .monaco-list{overflow:hidden;max-height:440px;padding-bottom:5px}.quick-input-list .monaco-scrollable-element{padding:0 5px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;overflow:hidden;display:flex;height:100%;padding:0 6px}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-width:1px;border-top-style:solid}.quick-input-list .monaco-list-row{border-radius:3px}.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-list .quick-input-list-checkbox{align-self:center;margin:0}.quick-input-list .quick-input-list-icon{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:flex;align-items:center;justify-content:center}.quick-input-list .quick-input-list-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows{margin-left:10px}.quick-input-widget .quick-input-list .quick-input-list-checkbox{display:none}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox{display:inline}.quick-input-list .quick-input-list-rows>.quick-input-list-row{display:flex;align-items:center}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label>span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{opacity:.7;line-height:normal;text-overflow:ellipsis;overflow:hidden}.quick-input-list .monaco-list .monaco-list-row .monaco-highlighted-label .highlight{font-weight:700;background-color:unset;color:var(--vscode-list-highlightForeground)!important}.quick-input-list .monaco-list .monaco-list-row.focused .monaco-highlighted-label .highlight{color:var(--vscode-list-focusHighlightForeground)!important}.quick-input-list .quick-input-list-entry .quick-input-list-separator{margin-right:4px}.quick-input-list .quick-input-list-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-list .quick-input-list-entry-action-bar .action-label{display:none}.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon{margin-right:4px;padding:0 2px 2px}.quick-input-list .quick-input-list-entry-action-bar{margin-top:1px;margin-right:4px}.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry.focus-inside .quick-input-list-entry-action-bar .action-label,.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .monaco-list-row.passive-focused .quick-input-list-entry-action-bar .action-label{display:flex}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator{color:inherit}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key{background:none}.quick-input-list .quick-input-list-separator-as-item{padding:4px 6px;font-size:12px}.quick-input-list .quick-input-list-separator-as-item .label-name{font-weight:600}.quick-input-list .quick-input-list-separator-as-item .label-description{opacity:1!important}.quick-input-list .monaco-tree-sticky-row .quick-input-list-entry.quick-input-list-separator-as-item.quick-input-list-separator-border{border-top-style:none}.quick-input-list .monaco-tree-sticky-row{padding:0 5px}.quick-input-list .monaco-tl-twistie{display:none!important}.monaco-progress-container{width:100%;height:2px;overflow:hidden}.monaco-progress-container .progress-bit{width:2%;height:2px;position:absolute;left:0;display:none}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;transform:translateZ(0);animation-timing-function:linear}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100)}@keyframes progress{0%{transform:translate(0) scaleX(1)}50%{transform:translate(2500%) scaleX(3)}to{transform:translate(4900%) scaleX(1)}}.monaco-component.multiDiffEditor{background:var(--vscode-multiDiffEditor-background);overflow-y:hidden}.monaco-component.multiDiffEditor .focused{--vscode-multiDiffEditor-border: var(--vscode-focusBorder)}.monaco-component.multiDiffEditor .multiDiffEntry{display:flex;flex-direction:column;flex:1;overflow:hidden}:is(.monaco-component.multiDiffEditor .multiDiffEntry) .collapse-button{margin:0 5px;cursor:pointer}:is(:is(.monaco-component.multiDiffEditor .multiDiffEntry) .collapse-button) a{display:block}:is(.monaco-component.multiDiffEditor .multiDiffEntry) .header{z-index:1000;background:var(--vscode-editor-background)}:is(:is(.monaco-component.multiDiffEditor .multiDiffEntry) .header):not(.collapsed) .header-content{border-bottom:1px solid var(--vscode-sideBarSectionHeader-border)}:is(:is(.monaco-component.multiDiffEditor .multiDiffEntry) .header) .header-content{margin:8px 8px 0;padding:4px 5px;border-top:1px solid var(--vscode-multiDiffEditor-border);border-right:1px solid var(--vscode-multiDiffEditor-border);border-left:1px solid var(--vscode-multiDiffEditor-border);border-top-left-radius:2px;border-top-right-radius:2px;display:flex;align-items:center;color:var(--vscode-foreground);background:var(--vscode-multiDiffEditor-headerBackground)}.shadow:is(:is(:is(.monaco-component.multiDiffEditor .multiDiffEntry) .header) .header-content){box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px}:is(:is(:is(.monaco-component.multiDiffEditor .multiDiffEntry) .header) .header-content) .file-path{display:flex;flex:1;min-width:0}:is(:is(:is(:is(.monaco-component.multiDiffEditor .multiDiffEntry) .header) .header-content) .file-path) .title{font-size:14px;line-height:22px}.original:is(:is(:is(:is(:is(.monaco-component.multiDiffEditor .multiDiffEntry) .header) .header-content) .file-path) .title){flex:1;min-width:0;text-overflow:ellipsis}:is(:is(:is(:is(.monaco-component.multiDiffEditor .multiDiffEntry) .header) .header-content) .file-path) .status{font-weight:600;opacity:.75;margin:0 10px;line-height:22px}:is(:is(:is(.monaco-component.multiDiffEditor .multiDiffEntry) .header) .header-content) .actions{padding:0 8px}:is(.monaco-component.multiDiffEditor .multiDiffEntry) .editorParent{flex:1;display:flex;flex-direction:column;margin-right:8px;margin-left:8px;border-right:1px solid var(--vscode-multiDiffEditor-border);border-left:1px solid var(--vscode-multiDiffEditor-border);border-bottom:1px solid var(--vscode-multiDiffEditor-border);border-radius:2px;overflow:hidden}:is(.monaco-component.multiDiffEditor .multiDiffEntry) .editorContainer{flex:1} diff --git a/data/gitea/public/assets/css/recent-commits-graph.45c55234.css b/data/gitea/public/assets/css/recent-commits-graph.45c55234.css new file mode 100644 index 0000000..7df2421 --- /dev/null +++ b/data/gitea/public/assets/css/recent-commits-graph.45c55234.css @@ -0,0 +1 @@ +.main-graph[data-v-33ced179]{height:250px} diff --git a/data/gitea/public/assets/css/swagger.css b/data/gitea/public/assets/css/swagger.css new file mode 100644 index 0000000..2f717f5 --- /dev/null +++ b/data/gitea/public/assets/css/swagger.css @@ -0,0 +1 @@ +.swagger-ui{color:#3b4151;font-family:sans-serif}.swagger-ui html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}.swagger-ui body{margin:0}.swagger-ui article,.swagger-ui aside,.swagger-ui footer,.swagger-ui header,.swagger-ui nav,.swagger-ui section{display:block}.swagger-ui h1{font-size:2em;margin:.67em 0}.swagger-ui figcaption,.swagger-ui figure,.swagger-ui main{display:block}.swagger-ui figure{margin:1em 40px}.swagger-ui hr{box-sizing:content-box;height:0;overflow:visible}.swagger-ui pre{font-family:monospace,monospace;font-size:1em}.swagger-ui a{background-color:transparent;-webkit-text-decoration-skip:objects}.swagger-ui abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.swagger-ui b,.swagger-ui strong{font-weight:inherit;font-weight:bolder}.swagger-ui code,.swagger-ui kbd,.swagger-ui samp{font-family:monospace,monospace;font-size:1em}.swagger-ui dfn{font-style:italic}.swagger-ui mark{background-color:#ff0;color:#000}.swagger-ui small{font-size:80%}.swagger-ui sub,.swagger-ui sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.swagger-ui sub{bottom:-.25em}.swagger-ui sup{top:-.5em}.swagger-ui audio,.swagger-ui video{display:inline-block}.swagger-ui audio:not([controls]){display:none;height:0}.swagger-ui img{border-style:none}.swagger-ui svg:not(:root){overflow:hidden}.swagger-ui button,.swagger-ui input,.swagger-ui optgroup,.swagger-ui select,.swagger-ui textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}.swagger-ui button,.swagger-ui input{overflow:visible}.swagger-ui button,.swagger-ui select{text-transform:none}.swagger-ui [type=reset],.swagger-ui [type=submit],.swagger-ui button,.swagger-ui html [type=button]{-webkit-appearance:button}.swagger-ui [type=button]::-moz-focus-inner,.swagger-ui [type=reset]::-moz-focus-inner,.swagger-ui [type=submit]::-moz-focus-inner,.swagger-ui button::-moz-focus-inner{border-style:none;padding:0}.swagger-ui [type=button]:-moz-focusring,.swagger-ui [type=reset]:-moz-focusring,.swagger-ui [type=submit]:-moz-focusring,.swagger-ui button:-moz-focusring{outline:1px dotted ButtonText}.swagger-ui fieldset{padding:.35em .75em .625em}.swagger-ui legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}.swagger-ui progress{display:inline-block;vertical-align:baseline}.swagger-ui textarea{overflow:auto}.swagger-ui [type=checkbox],.swagger-ui [type=radio]{box-sizing:border-box;padding:0}.swagger-ui [type=number]::-webkit-inner-spin-button,.swagger-ui [type=number]::-webkit-outer-spin-button{height:auto}.swagger-ui [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.swagger-ui [type=search]::-webkit-search-cancel-button,.swagger-ui [type=search]::-webkit-search-decoration{-webkit-appearance:none}.swagger-ui ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.swagger-ui details,.swagger-ui menu{display:block}.swagger-ui summary{display:list-item}.swagger-ui canvas{display:inline-block}.swagger-ui [hidden],.swagger-ui template{display:none}.swagger-ui .debug *{outline:1px solid gold}.swagger-ui .debug-white *{outline:1px solid #fff}.swagger-ui .debug-black *{outline:1px solid #000}.swagger-ui .debug-grid{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTRDOTY4N0U2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTRDOTY4N0Q2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3NjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3NzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsBS+GMAAAAjSURBVHjaYvz//z8DLsD4gcGXiYEAGBIKGBne//fFpwAgwAB98AaF2pjlUQAAAABJRU5ErkJggg==) repeat 0 0}.swagger-ui .debug-grid-16{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODYyRjhERDU2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODYyRjhERDQ2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QTY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3QjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvCS01IAAABMSURBVHjaYmR4/5+BFPBfAMFm/MBgx8RAGWCn1AAmSg34Q6kBDKMGMDCwICeMIemF/5QawEipAWwUhwEjMDvbAWlWkvVBwu8vQIABAEwBCph8U6c0AAAAAElFTkSuQmCC) repeat 0 0}.swagger-ui .debug-grid-8-solid{background:#fff url(data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAAAAAD/4QMxaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzExMSA3OS4xNTgzMjUsIDIwMTUvMDkvMTAtMDE6MTA6MjAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkIxMjI0OTczNjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkIxMjI0OTc0NjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjEyMjQ5NzE2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QjEyMjQ5NzI2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAbGhopHSlBJiZBQi8vL0JHPz4+P0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHAR0pKTQmND8oKD9HPzU/R0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0f/wAARCAAIAAgDASIAAhEBAxEB/8QAWQABAQAAAAAAAAAAAAAAAAAAAAYBAQEAAAAAAAAAAAAAAAAAAAIEEAEBAAMBAAAAAAAAAAAAAAABADECA0ERAAEDBQAAAAAAAAAAAAAAAAARITFBUWESIv/aAAwDAQACEQMRAD8AoOnTV1QTD7JJshP3vSM3P//Z) repeat 0 0}.swagger-ui .debug-grid-16-solid{background:#fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzY3MkJEN0U2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzY3MkJEN0Y2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3RDY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pve6J3kAAAAzSURBVHjaYvz//z8D0UDsMwMjSRoYP5Gq4SPNbRjVMEQ1fCRDg+in/6+J1AJUxsgAEGAA31BAJMS0GYEAAAAASUVORK5CYII=) repeat 0 0}.swagger-ui .border-box,.swagger-ui a,.swagger-ui article,.swagger-ui body,.swagger-ui code,.swagger-ui dd,.swagger-ui div,.swagger-ui dl,.swagger-ui dt,.swagger-ui fieldset,.swagger-ui footer,.swagger-ui form,.swagger-ui h1,.swagger-ui h2,.swagger-ui h3,.swagger-ui h4,.swagger-ui h5,.swagger-ui h6,.swagger-ui header,.swagger-ui html,.swagger-ui input[type=email],.swagger-ui input[type=number],.swagger-ui input[type=password],.swagger-ui input[type=tel],.swagger-ui input[type=text],.swagger-ui input[type=url],.swagger-ui legend,.swagger-ui li,.swagger-ui main,.swagger-ui ol,.swagger-ui p,.swagger-ui pre,.swagger-ui section,.swagger-ui table,.swagger-ui td,.swagger-ui textarea,.swagger-ui th,.swagger-ui tr,.swagger-ui ul{box-sizing:border-box}.swagger-ui .aspect-ratio{height:0;position:relative}.swagger-ui .aspect-ratio--16x9{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1{padding-bottom:100%}.swagger-ui .aspect-ratio--object{height:100%;inset:0;position:absolute;width:100%;z-index:100}@media screen and (min-width:30em){.swagger-ui .aspect-ratio-ns{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-ns{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-ns{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-ns{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-ns{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-ns{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-ns{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-ns{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-ns{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-ns{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-ns{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-ns{padding-bottom:100%}.swagger-ui .aspect-ratio--object-ns{height:100%;inset:0;position:absolute;width:100%;z-index:100}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .aspect-ratio-m{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-m{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-m{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-m{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-m{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-m{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-m{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-m{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-m{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-m{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-m{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-m{padding-bottom:100%}.swagger-ui .aspect-ratio--object-m{height:100%;inset:0;position:absolute;width:100%;z-index:100}}@media screen and (min-width:60em){.swagger-ui .aspect-ratio-l{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-l{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-l{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-l{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-l{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-l{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-l{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-l{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-l{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-l{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-l{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-l{padding-bottom:100%}.swagger-ui .aspect-ratio--object-l{height:100%;inset:0;position:absolute;width:100%;z-index:100}}.swagger-ui img{max-width:100%}.swagger-ui .cover{background-size:cover!important}.swagger-ui .contain{background-size:contain!important}@media screen and (min-width:30em){.swagger-ui .cover-ns{background-size:cover!important}.swagger-ui .contain-ns{background-size:contain!important}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .cover-m{background-size:cover!important}.swagger-ui .contain-m{background-size:contain!important}}@media screen and (min-width:60em){.swagger-ui .cover-l{background-size:cover!important}.swagger-ui .contain-l{background-size:contain!important}}.swagger-ui .bg-center{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left{background-position:0;background-repeat:no-repeat}@media screen and (min-width:30em){.swagger-ui .bg-center-ns{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top-ns{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right-ns{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom-ns{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left-ns{background-position:0;background-repeat:no-repeat}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .bg-center-m{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top-m{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right-m{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom-m{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left-m{background-position:0;background-repeat:no-repeat}}@media screen and (min-width:60em){.swagger-ui .bg-center-l{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top-l{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right-l{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom-l{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left-l{background-position:0;background-repeat:no-repeat}}.swagger-ui .outline{outline:1px solid}.swagger-ui .outline-transparent{outline:1px solid transparent}.swagger-ui .outline-0{outline:0}@media screen and (min-width:30em){.swagger-ui .outline-ns{outline:1px solid}.swagger-ui .outline-transparent-ns{outline:1px solid transparent}.swagger-ui .outline-0-ns{outline:0}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .outline-m{outline:1px solid}.swagger-ui .outline-transparent-m{outline:1px solid transparent}.swagger-ui .outline-0-m{outline:0}}@media screen and (min-width:60em){.swagger-ui .outline-l{outline:1px solid}.swagger-ui .outline-transparent-l{outline:1px solid transparent}.swagger-ui .outline-0-l{outline:0}}.swagger-ui .ba{border-style:solid;border-width:1px}.swagger-ui .bt{border-top-style:solid;border-top-width:1px}.swagger-ui .br{border-right-style:solid;border-right-width:1px}.swagger-ui .bb{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl{border-left-style:solid;border-left-width:1px}.swagger-ui .bn{border-style:none;border-width:0}@media screen and (min-width:30em){.swagger-ui .ba-ns{border-style:solid;border-width:1px}.swagger-ui .bt-ns{border-top-style:solid;border-top-width:1px}.swagger-ui .br-ns{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-ns{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-ns{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-ns{border-style:none;border-width:0}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .ba-m{border-style:solid;border-width:1px}.swagger-ui .bt-m{border-top-style:solid;border-top-width:1px}.swagger-ui .br-m{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-m{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-m{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-m{border-style:none;border-width:0}}@media screen and (min-width:60em){.swagger-ui .ba-l{border-style:solid;border-width:1px}.swagger-ui .bt-l{border-top-style:solid;border-top-width:1px}.swagger-ui .br-l{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-l{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-l{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-l{border-style:none;border-width:0}}.swagger-ui .b--black{border-color:#000}.swagger-ui .b--near-black{border-color:#111}.swagger-ui .b--dark-gray{border-color:#333}.swagger-ui .b--mid-gray{border-color:#555}.swagger-ui .b--gray{border-color:#777}.swagger-ui .b--silver{border-color:#999}.swagger-ui .b--light-silver{border-color:#aaa}.swagger-ui .b--moon-gray{border-color:#ccc}.swagger-ui .b--light-gray{border-color:#eee}.swagger-ui .b--near-white{border-color:#f4f4f4}.swagger-ui .b--white{border-color:#fff}.swagger-ui .b--white-90{border-color:#ffffffe6}.swagger-ui .b--white-80{border-color:#fffc}.swagger-ui .b--white-70{border-color:#ffffffb3}.swagger-ui .b--white-60{border-color:#fff9}.swagger-ui .b--white-50{border-color:#ffffff80}.swagger-ui .b--white-40{border-color:#fff6}.swagger-ui .b--white-30{border-color:#ffffff4d}.swagger-ui .b--white-20{border-color:#fff3}.swagger-ui .b--white-10{border-color:#ffffff1a}.swagger-ui .b--white-05{border-color:#ffffff0d}.swagger-ui .b--white-025{border-color:#ffffff06}.swagger-ui .b--white-0125{border-color:#ffffff03}.swagger-ui .b--black-90{border-color:#000000e6}.swagger-ui .b--black-80{border-color:#000c}.swagger-ui .b--black-70{border-color:#000000b3}.swagger-ui .b--black-60{border-color:#0009}.swagger-ui .b--black-50{border-color:#00000080}.swagger-ui .b--black-40{border-color:#0006}.swagger-ui .b--black-30{border-color:#0000004d}.swagger-ui .b--black-20{border-color:#0003}.swagger-ui .b--black-10{border-color:#0000001a}.swagger-ui .b--black-05{border-color:#0000000d}.swagger-ui .b--black-025{border-color:#00000006}.swagger-ui .b--black-0125{border-color:#00000003}.swagger-ui .b--dark-red{border-color:#e7040f}.swagger-ui .b--red{border-color:#ff4136}.swagger-ui .b--light-red{border-color:#ff725c}.swagger-ui .b--orange{border-color:#ff6300}.swagger-ui .b--gold{border-color:#ffb700}.swagger-ui .b--yellow{border-color:gold}.swagger-ui .b--light-yellow{border-color:#fbf1a9}.swagger-ui .b--purple{border-color:#5e2ca5}.swagger-ui .b--light-purple{border-color:#a463f2}.swagger-ui .b--dark-pink{border-color:#d5008f}.swagger-ui .b--hot-pink{border-color:#ff41b4}.swagger-ui .b--pink{border-color:#ff80cc}.swagger-ui .b--light-pink{border-color:#ffa3d7}.swagger-ui .b--dark-green{border-color:#137752}.swagger-ui .b--green{border-color:#19a974}.swagger-ui .b--light-green{border-color:#9eebcf}.swagger-ui .b--navy{border-color:#001b44}.swagger-ui .b--dark-blue{border-color:#00449e}.swagger-ui .b--blue{border-color:#357edd}.swagger-ui .b--light-blue{border-color:#96ccff}.swagger-ui .b--lightest-blue{border-color:#cdecff}.swagger-ui .b--washed-blue{border-color:#f6fffe}.swagger-ui .b--washed-green{border-color:#e8fdf5}.swagger-ui .b--washed-yellow{border-color:#fffceb}.swagger-ui .b--washed-red{border-color:#ffdfdf}.swagger-ui .b--transparent{border-color:transparent}.swagger-ui .b--inherit{border-color:inherit}.swagger-ui .br0{border-radius:0}.swagger-ui .br1{border-radius:.125rem}.swagger-ui .br2{border-radius:.25rem}.swagger-ui .br3{border-radius:.5rem}.swagger-ui .br4{border-radius:1rem}.swagger-ui .br-100{border-radius:100%}.swagger-ui .br-pill{border-radius:9999px}.swagger-ui .br--bottom{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left{border-bottom-right-radius:0;border-top-right-radius:0}@media screen and (min-width:30em){.swagger-ui .br0-ns{border-radius:0}.swagger-ui .br1-ns{border-radius:.125rem}.swagger-ui .br2-ns{border-radius:.25rem}.swagger-ui .br3-ns{border-radius:.5rem}.swagger-ui .br4-ns{border-radius:1rem}.swagger-ui .br-100-ns{border-radius:100%}.swagger-ui .br-pill-ns{border-radius:9999px}.swagger-ui .br--bottom-ns{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-ns{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-ns{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left-ns{border-bottom-right-radius:0;border-top-right-radius:0}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .br0-m{border-radius:0}.swagger-ui .br1-m{border-radius:.125rem}.swagger-ui .br2-m{border-radius:.25rem}.swagger-ui .br3-m{border-radius:.5rem}.swagger-ui .br4-m{border-radius:1rem}.swagger-ui .br-100-m{border-radius:100%}.swagger-ui .br-pill-m{border-radius:9999px}.swagger-ui .br--bottom-m{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-m{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-m{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left-m{border-bottom-right-radius:0;border-top-right-radius:0}}@media screen and (min-width:60em){.swagger-ui .br0-l{border-radius:0}.swagger-ui .br1-l{border-radius:.125rem}.swagger-ui .br2-l{border-radius:.25rem}.swagger-ui .br3-l{border-radius:.5rem}.swagger-ui .br4-l{border-radius:1rem}.swagger-ui .br-100-l{border-radius:100%}.swagger-ui .br-pill-l{border-radius:9999px}.swagger-ui .br--bottom-l{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-l{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-l{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left-l{border-bottom-right-radius:0;border-top-right-radius:0}}.swagger-ui .b--dotted{border-style:dotted}.swagger-ui .b--dashed{border-style:dashed}.swagger-ui .b--solid{border-style:solid}.swagger-ui .b--none{border-style:none}@media screen and (min-width:30em){.swagger-ui .b--dotted-ns{border-style:dotted}.swagger-ui .b--dashed-ns{border-style:dashed}.swagger-ui .b--solid-ns{border-style:solid}.swagger-ui .b--none-ns{border-style:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .b--dotted-m{border-style:dotted}.swagger-ui .b--dashed-m{border-style:dashed}.swagger-ui .b--solid-m{border-style:solid}.swagger-ui .b--none-m{border-style:none}}@media screen and (min-width:60em){.swagger-ui .b--dotted-l{border-style:dotted}.swagger-ui .b--dashed-l{border-style:dashed}.swagger-ui .b--solid-l{border-style:solid}.swagger-ui .b--none-l{border-style:none}}.swagger-ui .bw0{border-width:0}.swagger-ui .bw1{border-width:.125rem}.swagger-ui .bw2{border-width:.25rem}.swagger-ui .bw3{border-width:.5rem}.swagger-ui .bw4{border-width:1rem}.swagger-ui .bw5{border-width:2rem}.swagger-ui .bt-0{border-top-width:0}.swagger-ui .br-0{border-right-width:0}.swagger-ui .bb-0{border-bottom-width:0}.swagger-ui .bl-0{border-left-width:0}@media screen and (min-width:30em){.swagger-ui .bw0-ns{border-width:0}.swagger-ui .bw1-ns{border-width:.125rem}.swagger-ui .bw2-ns{border-width:.25rem}.swagger-ui .bw3-ns{border-width:.5rem}.swagger-ui .bw4-ns{border-width:1rem}.swagger-ui .bw5-ns{border-width:2rem}.swagger-ui .bt-0-ns{border-top-width:0}.swagger-ui .br-0-ns{border-right-width:0}.swagger-ui .bb-0-ns{border-bottom-width:0}.swagger-ui .bl-0-ns{border-left-width:0}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .bw0-m{border-width:0}.swagger-ui .bw1-m{border-width:.125rem}.swagger-ui .bw2-m{border-width:.25rem}.swagger-ui .bw3-m{border-width:.5rem}.swagger-ui .bw4-m{border-width:1rem}.swagger-ui .bw5-m{border-width:2rem}.swagger-ui .bt-0-m{border-top-width:0}.swagger-ui .br-0-m{border-right-width:0}.swagger-ui .bb-0-m{border-bottom-width:0}.swagger-ui .bl-0-m{border-left-width:0}}@media screen and (min-width:60em){.swagger-ui .bw0-l{border-width:0}.swagger-ui .bw1-l{border-width:.125rem}.swagger-ui .bw2-l{border-width:.25rem}.swagger-ui .bw3-l{border-width:.5rem}.swagger-ui .bw4-l{border-width:1rem}.swagger-ui .bw5-l{border-width:2rem}.swagger-ui .bt-0-l{border-top-width:0}.swagger-ui .br-0-l{border-right-width:0}.swagger-ui .bb-0-l{border-bottom-width:0}.swagger-ui .bl-0-l{border-left-width:0}}.swagger-ui .shadow-1{box-shadow:0 0 4px 2px #0003}.swagger-ui .shadow-2{box-shadow:0 0 8px 2px #0003}.swagger-ui .shadow-3{box-shadow:2px 2px 4px 2px #0003}.swagger-ui .shadow-4{box-shadow:2px 2px 8px #0003}.swagger-ui .shadow-5{box-shadow:4px 4px 8px #0003}@media screen and (min-width:30em){.swagger-ui .shadow-1-ns{box-shadow:0 0 4px 2px #0003}.swagger-ui .shadow-2-ns{box-shadow:0 0 8px 2px #0003}.swagger-ui .shadow-3-ns{box-shadow:2px 2px 4px 2px #0003}.swagger-ui .shadow-4-ns{box-shadow:2px 2px 8px #0003}.swagger-ui .shadow-5-ns{box-shadow:4px 4px 8px #0003}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .shadow-1-m{box-shadow:0 0 4px 2px #0003}.swagger-ui .shadow-2-m{box-shadow:0 0 8px 2px #0003}.swagger-ui .shadow-3-m{box-shadow:2px 2px 4px 2px #0003}.swagger-ui .shadow-4-m{box-shadow:2px 2px 8px #0003}.swagger-ui .shadow-5-m{box-shadow:4px 4px 8px #0003}}@media screen and (min-width:60em){.swagger-ui .shadow-1-l{box-shadow:0 0 4px 2px #0003}.swagger-ui .shadow-2-l{box-shadow:0 0 8px 2px #0003}.swagger-ui .shadow-3-l{box-shadow:2px 2px 4px 2px #0003}.swagger-ui .shadow-4-l{box-shadow:2px 2px 8px #0003}.swagger-ui .shadow-5-l{box-shadow:4px 4px 8px #0003}}.swagger-ui .pre{overflow-x:auto;overflow-y:hidden;overflow:scroll}.swagger-ui .top-0{top:0}.swagger-ui .right-0{right:0}.swagger-ui .bottom-0{bottom:0}.swagger-ui .left-0{left:0}.swagger-ui .top-1{top:1rem}.swagger-ui .right-1{right:1rem}.swagger-ui .bottom-1{bottom:1rem}.swagger-ui .left-1{left:1rem}.swagger-ui .top-2{top:2rem}.swagger-ui .right-2{right:2rem}.swagger-ui .bottom-2{bottom:2rem}.swagger-ui .left-2{left:2rem}.swagger-ui .top--1{top:-1rem}.swagger-ui .right--1{right:-1rem}.swagger-ui .bottom--1{bottom:-1rem}.swagger-ui .left--1{left:-1rem}.swagger-ui .top--2{top:-2rem}.swagger-ui .right--2{right:-2rem}.swagger-ui .bottom--2{bottom:-2rem}.swagger-ui .left--2{left:-2rem}.swagger-ui .absolute--fill{inset:0}@media screen and (min-width:30em){.swagger-ui .top-0-ns{top:0}.swagger-ui .left-0-ns{left:0}.swagger-ui .right-0-ns{right:0}.swagger-ui .bottom-0-ns{bottom:0}.swagger-ui .top-1-ns{top:1rem}.swagger-ui .left-1-ns{left:1rem}.swagger-ui .right-1-ns{right:1rem}.swagger-ui .bottom-1-ns{bottom:1rem}.swagger-ui .top-2-ns{top:2rem}.swagger-ui .left-2-ns{left:2rem}.swagger-ui .right-2-ns{right:2rem}.swagger-ui .bottom-2-ns{bottom:2rem}.swagger-ui .top--1-ns{top:-1rem}.swagger-ui .right--1-ns{right:-1rem}.swagger-ui .bottom--1-ns{bottom:-1rem}.swagger-ui .left--1-ns{left:-1rem}.swagger-ui .top--2-ns{top:-2rem}.swagger-ui .right--2-ns{right:-2rem}.swagger-ui .bottom--2-ns{bottom:-2rem}.swagger-ui .left--2-ns{left:-2rem}.swagger-ui .absolute--fill-ns{inset:0}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .top-0-m{top:0}.swagger-ui .left-0-m{left:0}.swagger-ui .right-0-m{right:0}.swagger-ui .bottom-0-m{bottom:0}.swagger-ui .top-1-m{top:1rem}.swagger-ui .left-1-m{left:1rem}.swagger-ui .right-1-m{right:1rem}.swagger-ui .bottom-1-m{bottom:1rem}.swagger-ui .top-2-m{top:2rem}.swagger-ui .left-2-m{left:2rem}.swagger-ui .right-2-m{right:2rem}.swagger-ui .bottom-2-m{bottom:2rem}.swagger-ui .top--1-m{top:-1rem}.swagger-ui .right--1-m{right:-1rem}.swagger-ui .bottom--1-m{bottom:-1rem}.swagger-ui .left--1-m{left:-1rem}.swagger-ui .top--2-m{top:-2rem}.swagger-ui .right--2-m{right:-2rem}.swagger-ui .bottom--2-m{bottom:-2rem}.swagger-ui .left--2-m{left:-2rem}.swagger-ui .absolute--fill-m{inset:0}}@media screen and (min-width:60em){.swagger-ui .top-0-l{top:0}.swagger-ui .left-0-l{left:0}.swagger-ui .right-0-l{right:0}.swagger-ui .bottom-0-l{bottom:0}.swagger-ui .top-1-l{top:1rem}.swagger-ui .left-1-l{left:1rem}.swagger-ui .right-1-l{right:1rem}.swagger-ui .bottom-1-l{bottom:1rem}.swagger-ui .top-2-l{top:2rem}.swagger-ui .left-2-l{left:2rem}.swagger-ui .right-2-l{right:2rem}.swagger-ui .bottom-2-l{bottom:2rem}.swagger-ui .top--1-l{top:-1rem}.swagger-ui .right--1-l{right:-1rem}.swagger-ui .bottom--1-l{bottom:-1rem}.swagger-ui .left--1-l{left:-1rem}.swagger-ui .top--2-l{top:-2rem}.swagger-ui .right--2-l{right:-2rem}.swagger-ui .bottom--2-l{bottom:-2rem}.swagger-ui .left--2-l{left:-2rem}.swagger-ui .absolute--fill-l{inset:0}}.swagger-ui .cf:after,.swagger-ui .cf:before{content:" ";display:table}.swagger-ui .cf:after{clear:both}.swagger-ui .cf{zoom:1}.swagger-ui .cl{clear:left}.swagger-ui .cr{clear:right}.swagger-ui .cb{clear:both}.swagger-ui .cn{clear:none}@media screen and (min-width:30em){.swagger-ui .cl-ns{clear:left}.swagger-ui .cr-ns{clear:right}.swagger-ui .cb-ns{clear:both}.swagger-ui .cn-ns{clear:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .cl-m{clear:left}.swagger-ui .cr-m{clear:right}.swagger-ui .cb-m{clear:both}.swagger-ui .cn-m{clear:none}}@media screen and (min-width:60em){.swagger-ui .cl-l{clear:left}.swagger-ui .cr-l{clear:right}.swagger-ui .cb-l{clear:both}.swagger-ui .cn-l{clear:none}}.swagger-ui .flex{display:flex}.swagger-ui .inline-flex{display:inline-flex}.swagger-ui .flex-auto{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none{flex:none}.swagger-ui .flex-column{flex-direction:column}.swagger-ui .flex-row{flex-direction:row}.swagger-ui .flex-wrap{flex-wrap:wrap}.swagger-ui .flex-nowrap{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse{flex-direction:column-reverse}.swagger-ui .flex-row-reverse{flex-direction:row-reverse}.swagger-ui .items-start{align-items:flex-start}.swagger-ui .items-end{align-items:flex-end}.swagger-ui .items-center{align-items:center}.swagger-ui .items-baseline{align-items:baseline}.swagger-ui .items-stretch{align-items:stretch}.swagger-ui .self-start{align-self:flex-start}.swagger-ui .self-end{align-self:flex-end}.swagger-ui .self-center{align-self:center}.swagger-ui .self-baseline{align-self:baseline}.swagger-ui .self-stretch{align-self:stretch}.swagger-ui .justify-start{justify-content:flex-start}.swagger-ui .justify-end{justify-content:flex-end}.swagger-ui .justify-center{justify-content:center}.swagger-ui .justify-between{justify-content:space-between}.swagger-ui .justify-around{justify-content:space-around}.swagger-ui .content-start{align-content:flex-start}.swagger-ui .content-end{align-content:flex-end}.swagger-ui .content-center{align-content:center}.swagger-ui .content-between{align-content:space-between}.swagger-ui .content-around{align-content:space-around}.swagger-ui .content-stretch{align-content:stretch}.swagger-ui .order-0{order:0}.swagger-ui .order-1{order:1}.swagger-ui .order-2{order:2}.swagger-ui .order-3{order:3}.swagger-ui .order-4{order:4}.swagger-ui .order-5{order:5}.swagger-ui .order-6{order:6}.swagger-ui .order-7{order:7}.swagger-ui .order-8{order:8}.swagger-ui .order-last{order:99999}.swagger-ui .flex-grow-0{flex-grow:0}.swagger-ui .flex-grow-1{flex-grow:1}.swagger-ui .flex-shrink-0{flex-shrink:0}.swagger-ui .flex-shrink-1{flex-shrink:1}@media screen and (min-width:30em){.swagger-ui .flex-ns{display:flex}.swagger-ui .inline-flex-ns{display:inline-flex}.swagger-ui .flex-auto-ns{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none-ns{flex:none}.swagger-ui .flex-column-ns{flex-direction:column}.swagger-ui .flex-row-ns{flex-direction:row}.swagger-ui .flex-wrap-ns{flex-wrap:wrap}.swagger-ui .flex-nowrap-ns{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-ns{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-ns{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-ns{flex-direction:row-reverse}.swagger-ui .items-start-ns{align-items:flex-start}.swagger-ui .items-end-ns{align-items:flex-end}.swagger-ui .items-center-ns{align-items:center}.swagger-ui .items-baseline-ns{align-items:baseline}.swagger-ui .items-stretch-ns{align-items:stretch}.swagger-ui .self-start-ns{align-self:flex-start}.swagger-ui .self-end-ns{align-self:flex-end}.swagger-ui .self-center-ns{align-self:center}.swagger-ui .self-baseline-ns{align-self:baseline}.swagger-ui .self-stretch-ns{align-self:stretch}.swagger-ui .justify-start-ns{justify-content:flex-start}.swagger-ui .justify-end-ns{justify-content:flex-end}.swagger-ui .justify-center-ns{justify-content:center}.swagger-ui .justify-between-ns{justify-content:space-between}.swagger-ui .justify-around-ns{justify-content:space-around}.swagger-ui .content-start-ns{align-content:flex-start}.swagger-ui .content-end-ns{align-content:flex-end}.swagger-ui .content-center-ns{align-content:center}.swagger-ui .content-between-ns{align-content:space-between}.swagger-ui .content-around-ns{align-content:space-around}.swagger-ui .content-stretch-ns{align-content:stretch}.swagger-ui .order-0-ns{order:0}.swagger-ui .order-1-ns{order:1}.swagger-ui .order-2-ns{order:2}.swagger-ui .order-3-ns{order:3}.swagger-ui .order-4-ns{order:4}.swagger-ui .order-5-ns{order:5}.swagger-ui .order-6-ns{order:6}.swagger-ui .order-7-ns{order:7}.swagger-ui .order-8-ns{order:8}.swagger-ui .order-last-ns{order:99999}.swagger-ui .flex-grow-0-ns{flex-grow:0}.swagger-ui .flex-grow-1-ns{flex-grow:1}.swagger-ui .flex-shrink-0-ns{flex-shrink:0}.swagger-ui .flex-shrink-1-ns{flex-shrink:1}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .flex-m{display:flex}.swagger-ui .inline-flex-m{display:inline-flex}.swagger-ui .flex-auto-m{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none-m{flex:none}.swagger-ui .flex-column-m{flex-direction:column}.swagger-ui .flex-row-m{flex-direction:row}.swagger-ui .flex-wrap-m{flex-wrap:wrap}.swagger-ui .flex-nowrap-m{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-m{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-m{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-m{flex-direction:row-reverse}.swagger-ui .items-start-m{align-items:flex-start}.swagger-ui .items-end-m{align-items:flex-end}.swagger-ui .items-center-m{align-items:center}.swagger-ui .items-baseline-m{align-items:baseline}.swagger-ui .items-stretch-m{align-items:stretch}.swagger-ui .self-start-m{align-self:flex-start}.swagger-ui .self-end-m{align-self:flex-end}.swagger-ui .self-center-m{align-self:center}.swagger-ui .self-baseline-m{align-self:baseline}.swagger-ui .self-stretch-m{align-self:stretch}.swagger-ui .justify-start-m{justify-content:flex-start}.swagger-ui .justify-end-m{justify-content:flex-end}.swagger-ui .justify-center-m{justify-content:center}.swagger-ui .justify-between-m{justify-content:space-between}.swagger-ui .justify-around-m{justify-content:space-around}.swagger-ui .content-start-m{align-content:flex-start}.swagger-ui .content-end-m{align-content:flex-end}.swagger-ui .content-center-m{align-content:center}.swagger-ui .content-between-m{align-content:space-between}.swagger-ui .content-around-m{align-content:space-around}.swagger-ui .content-stretch-m{align-content:stretch}.swagger-ui .order-0-m{order:0}.swagger-ui .order-1-m{order:1}.swagger-ui .order-2-m{order:2}.swagger-ui .order-3-m{order:3}.swagger-ui .order-4-m{order:4}.swagger-ui .order-5-m{order:5}.swagger-ui .order-6-m{order:6}.swagger-ui .order-7-m{order:7}.swagger-ui .order-8-m{order:8}.swagger-ui .order-last-m{order:99999}.swagger-ui .flex-grow-0-m{flex-grow:0}.swagger-ui .flex-grow-1-m{flex-grow:1}.swagger-ui .flex-shrink-0-m{flex-shrink:0}.swagger-ui .flex-shrink-1-m{flex-shrink:1}}@media screen and (min-width:60em){.swagger-ui .flex-l{display:flex}.swagger-ui .inline-flex-l{display:inline-flex}.swagger-ui .flex-auto-l{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none-l{flex:none}.swagger-ui .flex-column-l{flex-direction:column}.swagger-ui .flex-row-l{flex-direction:row}.swagger-ui .flex-wrap-l{flex-wrap:wrap}.swagger-ui .flex-nowrap-l{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-l{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-l{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-l{flex-direction:row-reverse}.swagger-ui .items-start-l{align-items:flex-start}.swagger-ui .items-end-l{align-items:flex-end}.swagger-ui .items-center-l{align-items:center}.swagger-ui .items-baseline-l{align-items:baseline}.swagger-ui .items-stretch-l{align-items:stretch}.swagger-ui .self-start-l{align-self:flex-start}.swagger-ui .self-end-l{align-self:flex-end}.swagger-ui .self-center-l{align-self:center}.swagger-ui .self-baseline-l{align-self:baseline}.swagger-ui .self-stretch-l{align-self:stretch}.swagger-ui .justify-start-l{justify-content:flex-start}.swagger-ui .justify-end-l{justify-content:flex-end}.swagger-ui .justify-center-l{justify-content:center}.swagger-ui .justify-between-l{justify-content:space-between}.swagger-ui .justify-around-l{justify-content:space-around}.swagger-ui .content-start-l{align-content:flex-start}.swagger-ui .content-end-l{align-content:flex-end}.swagger-ui .content-center-l{align-content:center}.swagger-ui .content-between-l{align-content:space-between}.swagger-ui .content-around-l{align-content:space-around}.swagger-ui .content-stretch-l{align-content:stretch}.swagger-ui .order-0-l{order:0}.swagger-ui .order-1-l{order:1}.swagger-ui .order-2-l{order:2}.swagger-ui .order-3-l{order:3}.swagger-ui .order-4-l{order:4}.swagger-ui .order-5-l{order:5}.swagger-ui .order-6-l{order:6}.swagger-ui .order-7-l{order:7}.swagger-ui .order-8-l{order:8}.swagger-ui .order-last-l{order:99999}.swagger-ui .flex-grow-0-l{flex-grow:0}.swagger-ui .flex-grow-1-l{flex-grow:1}.swagger-ui .flex-shrink-0-l{flex-shrink:0}.swagger-ui .flex-shrink-1-l{flex-shrink:1}}.swagger-ui .dn{display:none}.swagger-ui .di{display:inline}.swagger-ui .db{display:block}.swagger-ui .dib{display:inline-block}.swagger-ui .dit{display:inline-table}.swagger-ui .dt{display:table}.swagger-ui .dtc{display:table-cell}.swagger-ui .dt-row{display:table-row}.swagger-ui .dt-row-group{display:table-row-group}.swagger-ui .dt-column{display:table-column}.swagger-ui .dt-column-group{display:table-column-group}.swagger-ui .dt--fixed{table-layout:fixed;width:100%}@media screen and (min-width:30em){.swagger-ui .dn-ns{display:none}.swagger-ui .di-ns{display:inline}.swagger-ui .db-ns{display:block}.swagger-ui .dib-ns{display:inline-block}.swagger-ui .dit-ns{display:inline-table}.swagger-ui .dt-ns{display:table}.swagger-ui .dtc-ns{display:table-cell}.swagger-ui .dt-row-ns{display:table-row}.swagger-ui .dt-row-group-ns{display:table-row-group}.swagger-ui .dt-column-ns{display:table-column}.swagger-ui .dt-column-group-ns{display:table-column-group}.swagger-ui .dt--fixed-ns{table-layout:fixed;width:100%}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .dn-m{display:none}.swagger-ui .di-m{display:inline}.swagger-ui .db-m{display:block}.swagger-ui .dib-m{display:inline-block}.swagger-ui .dit-m{display:inline-table}.swagger-ui .dt-m{display:table}.swagger-ui .dtc-m{display:table-cell}.swagger-ui .dt-row-m{display:table-row}.swagger-ui .dt-row-group-m{display:table-row-group}.swagger-ui .dt-column-m{display:table-column}.swagger-ui .dt-column-group-m{display:table-column-group}.swagger-ui .dt--fixed-m{table-layout:fixed;width:100%}}@media screen and (min-width:60em){.swagger-ui .dn-l{display:none}.swagger-ui .di-l{display:inline}.swagger-ui .db-l{display:block}.swagger-ui .dib-l{display:inline-block}.swagger-ui .dit-l{display:inline-table}.swagger-ui .dt-l{display:table}.swagger-ui .dtc-l{display:table-cell}.swagger-ui .dt-row-l{display:table-row}.swagger-ui .dt-row-group-l{display:table-row-group}.swagger-ui .dt-column-l{display:table-column}.swagger-ui .dt-column-group-l{display:table-column-group}.swagger-ui .dt--fixed-l{table-layout:fixed;width:100%}}.swagger-ui .fl{_display:inline;float:left}.swagger-ui .fr{_display:inline;float:right}.swagger-ui .fn{float:none}@media screen and (min-width:30em){.swagger-ui .fl-ns{_display:inline;float:left}.swagger-ui .fr-ns{_display:inline;float:right}.swagger-ui .fn-ns{float:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .fl-m{_display:inline;float:left}.swagger-ui .fr-m{_display:inline;float:right}.swagger-ui .fn-m{float:none}}@media screen and (min-width:60em){.swagger-ui .fl-l{_display:inline;float:left}.swagger-ui .fr-l{_display:inline;float:right}.swagger-ui .fn-l{float:none}}.swagger-ui .sans-serif{font-family:-apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica,helvetica neue,ubuntu,roboto,noto,segoe ui,arial,sans-serif}.swagger-ui .serif{font-family:georgia,serif}.swagger-ui .system-sans-serif{font-family:sans-serif}.swagger-ui .system-serif{font-family:serif}.swagger-ui .code,.swagger-ui code{font-family:Consolas,monaco,monospace}.swagger-ui .courier{font-family:Courier Next,courier,monospace}.swagger-ui .helvetica{font-family:helvetica neue,helvetica,sans-serif}.swagger-ui .avenir{font-family:avenir next,avenir,sans-serif}.swagger-ui .athelas{font-family:athelas,georgia,serif}.swagger-ui .georgia{font-family:georgia,serif}.swagger-ui .times{font-family:times,serif}.swagger-ui .bodoni{font-family:Bodoni MT,serif}.swagger-ui .calisto{font-family:Calisto MT,serif}.swagger-ui .garamond{font-family:garamond,serif}.swagger-ui .baskerville{font-family:baskerville,serif}.swagger-ui .i{font-style:italic}.swagger-ui .fs-normal{font-style:normal}@media screen and (min-width:30em){.swagger-ui .i-ns{font-style:italic}.swagger-ui .fs-normal-ns{font-style:normal}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .i-m{font-style:italic}.swagger-ui .fs-normal-m{font-style:normal}}@media screen and (min-width:60em){.swagger-ui .i-l{font-style:italic}.swagger-ui .fs-normal-l{font-style:normal}}.swagger-ui .normal{font-weight:400}.swagger-ui .b{font-weight:700}.swagger-ui .fw1{font-weight:100}.swagger-ui .fw2{font-weight:200}.swagger-ui .fw3{font-weight:300}.swagger-ui .fw4{font-weight:400}.swagger-ui .fw5{font-weight:500}.swagger-ui .fw6{font-weight:600}.swagger-ui .fw7{font-weight:700}.swagger-ui .fw8{font-weight:800}.swagger-ui .fw9{font-weight:900}@media screen and (min-width:30em){.swagger-ui .normal-ns{font-weight:400}.swagger-ui .b-ns{font-weight:700}.swagger-ui .fw1-ns{font-weight:100}.swagger-ui .fw2-ns{font-weight:200}.swagger-ui .fw3-ns{font-weight:300}.swagger-ui .fw4-ns{font-weight:400}.swagger-ui .fw5-ns{font-weight:500}.swagger-ui .fw6-ns{font-weight:600}.swagger-ui .fw7-ns{font-weight:700}.swagger-ui .fw8-ns{font-weight:800}.swagger-ui .fw9-ns{font-weight:900}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .normal-m{font-weight:400}.swagger-ui .b-m{font-weight:700}.swagger-ui .fw1-m{font-weight:100}.swagger-ui .fw2-m{font-weight:200}.swagger-ui .fw3-m{font-weight:300}.swagger-ui .fw4-m{font-weight:400}.swagger-ui .fw5-m{font-weight:500}.swagger-ui .fw6-m{font-weight:600}.swagger-ui .fw7-m{font-weight:700}.swagger-ui .fw8-m{font-weight:800}.swagger-ui .fw9-m{font-weight:900}}@media screen and (min-width:60em){.swagger-ui .normal-l{font-weight:400}.swagger-ui .b-l{font-weight:700}.swagger-ui .fw1-l{font-weight:100}.swagger-ui .fw2-l{font-weight:200}.swagger-ui .fw3-l{font-weight:300}.swagger-ui .fw4-l{font-weight:400}.swagger-ui .fw5-l{font-weight:500}.swagger-ui .fw6-l{font-weight:600}.swagger-ui .fw7-l{font-weight:700}.swagger-ui .fw8-l{font-weight:800}.swagger-ui .fw9-l{font-weight:900}}.swagger-ui .input-reset{-webkit-appearance:none;-moz-appearance:none}.swagger-ui .button-reset::-moz-focus-inner,.swagger-ui .input-reset::-moz-focus-inner{border:0;padding:0}.swagger-ui .h1{height:1rem}.swagger-ui .h2{height:2rem}.swagger-ui .h3{height:4rem}.swagger-ui .h4{height:8rem}.swagger-ui .h5{height:16rem}.swagger-ui .h-25{height:25%}.swagger-ui .h-50{height:50%}.swagger-ui .h-75{height:75%}.swagger-ui .h-100{height:100%}.swagger-ui .min-h-100{min-height:100%}.swagger-ui .vh-25{height:25vh}.swagger-ui .vh-50{height:50vh}.swagger-ui .vh-75{height:75vh}.swagger-ui .vh-100{height:100vh}.swagger-ui .min-vh-100{min-height:100vh}.swagger-ui .h-auto{height:auto}.swagger-ui .h-inherit{height:inherit}@media screen and (min-width:30em){.swagger-ui .h1-ns{height:1rem}.swagger-ui .h2-ns{height:2rem}.swagger-ui .h3-ns{height:4rem}.swagger-ui .h4-ns{height:8rem}.swagger-ui .h5-ns{height:16rem}.swagger-ui .h-25-ns{height:25%}.swagger-ui .h-50-ns{height:50%}.swagger-ui .h-75-ns{height:75%}.swagger-ui .h-100-ns{height:100%}.swagger-ui .min-h-100-ns{min-height:100%}.swagger-ui .vh-25-ns{height:25vh}.swagger-ui .vh-50-ns{height:50vh}.swagger-ui .vh-75-ns{height:75vh}.swagger-ui .vh-100-ns{height:100vh}.swagger-ui .min-vh-100-ns{min-height:100vh}.swagger-ui .h-auto-ns{height:auto}.swagger-ui .h-inherit-ns{height:inherit}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .h1-m{height:1rem}.swagger-ui .h2-m{height:2rem}.swagger-ui .h3-m{height:4rem}.swagger-ui .h4-m{height:8rem}.swagger-ui .h5-m{height:16rem}.swagger-ui .h-25-m{height:25%}.swagger-ui .h-50-m{height:50%}.swagger-ui .h-75-m{height:75%}.swagger-ui .h-100-m{height:100%}.swagger-ui .min-h-100-m{min-height:100%}.swagger-ui .vh-25-m{height:25vh}.swagger-ui .vh-50-m{height:50vh}.swagger-ui .vh-75-m{height:75vh}.swagger-ui .vh-100-m{height:100vh}.swagger-ui .min-vh-100-m{min-height:100vh}.swagger-ui .h-auto-m{height:auto}.swagger-ui .h-inherit-m{height:inherit}}@media screen and (min-width:60em){.swagger-ui .h1-l{height:1rem}.swagger-ui .h2-l{height:2rem}.swagger-ui .h3-l{height:4rem}.swagger-ui .h4-l{height:8rem}.swagger-ui .h5-l{height:16rem}.swagger-ui .h-25-l{height:25%}.swagger-ui .h-50-l{height:50%}.swagger-ui .h-75-l{height:75%}.swagger-ui .h-100-l{height:100%}.swagger-ui .min-h-100-l{min-height:100%}.swagger-ui .vh-25-l{height:25vh}.swagger-ui .vh-50-l{height:50vh}.swagger-ui .vh-75-l{height:75vh}.swagger-ui .vh-100-l{height:100vh}.swagger-ui .min-vh-100-l{min-height:100vh}.swagger-ui .h-auto-l{height:auto}.swagger-ui .h-inherit-l{height:inherit}}.swagger-ui .tracked{letter-spacing:.1em}.swagger-ui .tracked-tight{letter-spacing:-.05em}.swagger-ui .tracked-mega{letter-spacing:.25em}@media screen and (min-width:30em){.swagger-ui .tracked-ns{letter-spacing:.1em}.swagger-ui .tracked-tight-ns{letter-spacing:-.05em}.swagger-ui .tracked-mega-ns{letter-spacing:.25em}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .tracked-m{letter-spacing:.1em}.swagger-ui .tracked-tight-m{letter-spacing:-.05em}.swagger-ui .tracked-mega-m{letter-spacing:.25em}}@media screen and (min-width:60em){.swagger-ui .tracked-l{letter-spacing:.1em}.swagger-ui .tracked-tight-l{letter-spacing:-.05em}.swagger-ui .tracked-mega-l{letter-spacing:.25em}}.swagger-ui .lh-solid{line-height:1}.swagger-ui .lh-title{line-height:1.25}.swagger-ui .lh-copy{line-height:1.5}@media screen and (min-width:30em){.swagger-ui .lh-solid-ns{line-height:1}.swagger-ui .lh-title-ns{line-height:1.25}.swagger-ui .lh-copy-ns{line-height:1.5}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .lh-solid-m{line-height:1}.swagger-ui .lh-title-m{line-height:1.25}.swagger-ui .lh-copy-m{line-height:1.5}}@media screen and (min-width:60em){.swagger-ui .lh-solid-l{line-height:1}.swagger-ui .lh-title-l{line-height:1.25}.swagger-ui .lh-copy-l{line-height:1.5}}.swagger-ui .link{-webkit-text-decoration:none;text-decoration:none}.swagger-ui .link,.swagger-ui .link:active,.swagger-ui .link:focus,.swagger-ui .link:hover,.swagger-ui .link:link,.swagger-ui .link:visited{transition:color .15s ease-in}.swagger-ui .link:focus{outline:1px dotted currentColor}.swagger-ui .list{list-style-type:none}.swagger-ui .mw-100{max-width:100%}.swagger-ui .mw1{max-width:1rem}.swagger-ui .mw2{max-width:2rem}.swagger-ui .mw3{max-width:4rem}.swagger-ui .mw4{max-width:8rem}.swagger-ui .mw5{max-width:16rem}.swagger-ui .mw6{max-width:32rem}.swagger-ui .mw7{max-width:48rem}.swagger-ui .mw8{max-width:64rem}.swagger-ui .mw9{max-width:96rem}.swagger-ui .mw-none{max-width:none}@media screen and (min-width:30em){.swagger-ui .mw-100-ns{max-width:100%}.swagger-ui .mw1-ns{max-width:1rem}.swagger-ui .mw2-ns{max-width:2rem}.swagger-ui .mw3-ns{max-width:4rem}.swagger-ui .mw4-ns{max-width:8rem}.swagger-ui .mw5-ns{max-width:16rem}.swagger-ui .mw6-ns{max-width:32rem}.swagger-ui .mw7-ns{max-width:48rem}.swagger-ui .mw8-ns{max-width:64rem}.swagger-ui .mw9-ns{max-width:96rem}.swagger-ui .mw-none-ns{max-width:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .mw-100-m{max-width:100%}.swagger-ui .mw1-m{max-width:1rem}.swagger-ui .mw2-m{max-width:2rem}.swagger-ui .mw3-m{max-width:4rem}.swagger-ui .mw4-m{max-width:8rem}.swagger-ui .mw5-m{max-width:16rem}.swagger-ui .mw6-m{max-width:32rem}.swagger-ui .mw7-m{max-width:48rem}.swagger-ui .mw8-m{max-width:64rem}.swagger-ui .mw9-m{max-width:96rem}.swagger-ui .mw-none-m{max-width:none}}@media screen and (min-width:60em){.swagger-ui .mw-100-l{max-width:100%}.swagger-ui .mw1-l{max-width:1rem}.swagger-ui .mw2-l{max-width:2rem}.swagger-ui .mw3-l{max-width:4rem}.swagger-ui .mw4-l{max-width:8rem}.swagger-ui .mw5-l{max-width:16rem}.swagger-ui .mw6-l{max-width:32rem}.swagger-ui .mw7-l{max-width:48rem}.swagger-ui .mw8-l{max-width:64rem}.swagger-ui .mw9-l{max-width:96rem}.swagger-ui .mw-none-l{max-width:none}}.swagger-ui .w1{width:1rem}.swagger-ui .w2{width:2rem}.swagger-ui .w3{width:4rem}.swagger-ui .w4{width:8rem}.swagger-ui .w5{width:16rem}.swagger-ui .w-10{width:10%}.swagger-ui .w-20{width:20%}.swagger-ui .w-25{width:25%}.swagger-ui .w-30{width:30%}.swagger-ui .w-33{width:33%}.swagger-ui .w-34{width:34%}.swagger-ui .w-40{width:40%}.swagger-ui .w-50{width:50%}.swagger-ui .w-60{width:60%}.swagger-ui .w-70{width:70%}.swagger-ui .w-75{width:75%}.swagger-ui .w-80{width:80%}.swagger-ui .w-90{width:90%}.swagger-ui .w-100{width:100%}.swagger-ui .w-third{width:33.3333333333%}.swagger-ui .w-two-thirds{width:66.6666666667%}.swagger-ui .w-auto{width:auto}@media screen and (min-width:30em){.swagger-ui .w1-ns{width:1rem}.swagger-ui .w2-ns{width:2rem}.swagger-ui .w3-ns{width:4rem}.swagger-ui .w4-ns{width:8rem}.swagger-ui .w5-ns{width:16rem}.swagger-ui .w-10-ns{width:10%}.swagger-ui .w-20-ns{width:20%}.swagger-ui .w-25-ns{width:25%}.swagger-ui .w-30-ns{width:30%}.swagger-ui .w-33-ns{width:33%}.swagger-ui .w-34-ns{width:34%}.swagger-ui .w-40-ns{width:40%}.swagger-ui .w-50-ns{width:50%}.swagger-ui .w-60-ns{width:60%}.swagger-ui .w-70-ns{width:70%}.swagger-ui .w-75-ns{width:75%}.swagger-ui .w-80-ns{width:80%}.swagger-ui .w-90-ns{width:90%}.swagger-ui .w-100-ns{width:100%}.swagger-ui .w-third-ns{width:33.3333333333%}.swagger-ui .w-two-thirds-ns{width:66.6666666667%}.swagger-ui .w-auto-ns{width:auto}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .w1-m{width:1rem}.swagger-ui .w2-m{width:2rem}.swagger-ui .w3-m{width:4rem}.swagger-ui .w4-m{width:8rem}.swagger-ui .w5-m{width:16rem}.swagger-ui .w-10-m{width:10%}.swagger-ui .w-20-m{width:20%}.swagger-ui .w-25-m{width:25%}.swagger-ui .w-30-m{width:30%}.swagger-ui .w-33-m{width:33%}.swagger-ui .w-34-m{width:34%}.swagger-ui .w-40-m{width:40%}.swagger-ui .w-50-m{width:50%}.swagger-ui .w-60-m{width:60%}.swagger-ui .w-70-m{width:70%}.swagger-ui .w-75-m{width:75%}.swagger-ui .w-80-m{width:80%}.swagger-ui .w-90-m{width:90%}.swagger-ui .w-100-m{width:100%}.swagger-ui .w-third-m{width:33.3333333333%}.swagger-ui .w-two-thirds-m{width:66.6666666667%}.swagger-ui .w-auto-m{width:auto}}@media screen and (min-width:60em){.swagger-ui .w1-l{width:1rem}.swagger-ui .w2-l{width:2rem}.swagger-ui .w3-l{width:4rem}.swagger-ui .w4-l{width:8rem}.swagger-ui .w5-l{width:16rem}.swagger-ui .w-10-l{width:10%}.swagger-ui .w-20-l{width:20%}.swagger-ui .w-25-l{width:25%}.swagger-ui .w-30-l{width:30%}.swagger-ui .w-33-l{width:33%}.swagger-ui .w-34-l{width:34%}.swagger-ui .w-40-l{width:40%}.swagger-ui .w-50-l{width:50%}.swagger-ui .w-60-l{width:60%}.swagger-ui .w-70-l{width:70%}.swagger-ui .w-75-l{width:75%}.swagger-ui .w-80-l{width:80%}.swagger-ui .w-90-l{width:90%}.swagger-ui .w-100-l{width:100%}.swagger-ui .w-third-l{width:33.3333333333%}.swagger-ui .w-two-thirds-l{width:66.6666666667%}.swagger-ui .w-auto-l{width:auto}}.swagger-ui .overflow-visible{overflow:visible}.swagger-ui .overflow-hidden{overflow:hidden}.swagger-ui .overflow-scroll{overflow:scroll}.swagger-ui .overflow-auto{overflow:auto}.swagger-ui .overflow-x-visible{overflow-x:visible}.swagger-ui .overflow-x-hidden{overflow-x:hidden}.swagger-ui .overflow-x-scroll{overflow-x:scroll}.swagger-ui .overflow-x-auto{overflow-x:auto}.swagger-ui .overflow-y-visible{overflow-y:visible}.swagger-ui .overflow-y-hidden{overflow-y:hidden}.swagger-ui .overflow-y-scroll{overflow-y:scroll}.swagger-ui .overflow-y-auto{overflow-y:auto}@media screen and (min-width:30em){.swagger-ui .overflow-visible-ns{overflow:visible}.swagger-ui .overflow-hidden-ns{overflow:hidden}.swagger-ui .overflow-scroll-ns{overflow:scroll}.swagger-ui .overflow-auto-ns{overflow:auto}.swagger-ui .overflow-x-visible-ns{overflow-x:visible}.swagger-ui .overflow-x-hidden-ns{overflow-x:hidden}.swagger-ui .overflow-x-scroll-ns{overflow-x:scroll}.swagger-ui .overflow-x-auto-ns{overflow-x:auto}.swagger-ui .overflow-y-visible-ns{overflow-y:visible}.swagger-ui .overflow-y-hidden-ns{overflow-y:hidden}.swagger-ui .overflow-y-scroll-ns{overflow-y:scroll}.swagger-ui .overflow-y-auto-ns{overflow-y:auto}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .overflow-visible-m{overflow:visible}.swagger-ui .overflow-hidden-m{overflow:hidden}.swagger-ui .overflow-scroll-m{overflow:scroll}.swagger-ui .overflow-auto-m{overflow:auto}.swagger-ui .overflow-x-visible-m{overflow-x:visible}.swagger-ui .overflow-x-hidden-m{overflow-x:hidden}.swagger-ui .overflow-x-scroll-m{overflow-x:scroll}.swagger-ui .overflow-x-auto-m{overflow-x:auto}.swagger-ui .overflow-y-visible-m{overflow-y:visible}.swagger-ui .overflow-y-hidden-m{overflow-y:hidden}.swagger-ui .overflow-y-scroll-m{overflow-y:scroll}.swagger-ui .overflow-y-auto-m{overflow-y:auto}}@media screen and (min-width:60em){.swagger-ui .overflow-visible-l{overflow:visible}.swagger-ui .overflow-hidden-l{overflow:hidden}.swagger-ui .overflow-scroll-l{overflow:scroll}.swagger-ui .overflow-auto-l{overflow:auto}.swagger-ui .overflow-x-visible-l{overflow-x:visible}.swagger-ui .overflow-x-hidden-l{overflow-x:hidden}.swagger-ui .overflow-x-scroll-l{overflow-x:scroll}.swagger-ui .overflow-x-auto-l{overflow-x:auto}.swagger-ui .overflow-y-visible-l{overflow-y:visible}.swagger-ui .overflow-y-hidden-l{overflow-y:hidden}.swagger-ui .overflow-y-scroll-l{overflow-y:scroll}.swagger-ui .overflow-y-auto-l{overflow-y:auto}}.swagger-ui .static{position:static}.swagger-ui .relative{position:relative}.swagger-ui .absolute{position:absolute}.swagger-ui .fixed{position:fixed}@media screen and (min-width:30em){.swagger-ui .static-ns{position:static}.swagger-ui .relative-ns{position:relative}.swagger-ui .absolute-ns{position:absolute}.swagger-ui .fixed-ns{position:fixed}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .static-m{position:static}.swagger-ui .relative-m{position:relative}.swagger-ui .absolute-m{position:absolute}.swagger-ui .fixed-m{position:fixed}}@media screen and (min-width:60em){.swagger-ui .static-l{position:static}.swagger-ui .relative-l{position:relative}.swagger-ui .absolute-l{position:absolute}.swagger-ui .fixed-l{position:fixed}}.swagger-ui .o-100{opacity:1}.swagger-ui .o-90{opacity:.9}.swagger-ui .o-80{opacity:.8}.swagger-ui .o-70{opacity:.7}.swagger-ui .o-60{opacity:.6}.swagger-ui .o-50{opacity:.5}.swagger-ui .o-40{opacity:.4}.swagger-ui .o-30{opacity:.3}.swagger-ui .o-20{opacity:.2}.swagger-ui .o-10{opacity:.1}.swagger-ui .o-05{opacity:.05}.swagger-ui .o-025{opacity:.025}.swagger-ui .o-0{opacity:0}.swagger-ui .rotate-45{transform:rotate(45deg)}.swagger-ui .rotate-90{transform:rotate(90deg)}.swagger-ui .rotate-135{transform:rotate(135deg)}.swagger-ui .rotate-180{transform:rotate(180deg)}.swagger-ui .rotate-225{transform:rotate(225deg)}.swagger-ui .rotate-270{transform:rotate(270deg)}.swagger-ui .rotate-315{transform:rotate(315deg)}@media screen and (min-width:30em){.swagger-ui .rotate-45-ns{transform:rotate(45deg)}.swagger-ui .rotate-90-ns{transform:rotate(90deg)}.swagger-ui .rotate-135-ns{transform:rotate(135deg)}.swagger-ui .rotate-180-ns{transform:rotate(180deg)}.swagger-ui .rotate-225-ns{transform:rotate(225deg)}.swagger-ui .rotate-270-ns{transform:rotate(270deg)}.swagger-ui .rotate-315-ns{transform:rotate(315deg)}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .rotate-45-m{transform:rotate(45deg)}.swagger-ui .rotate-90-m{transform:rotate(90deg)}.swagger-ui .rotate-135-m{transform:rotate(135deg)}.swagger-ui .rotate-180-m{transform:rotate(180deg)}.swagger-ui .rotate-225-m{transform:rotate(225deg)}.swagger-ui .rotate-270-m{transform:rotate(270deg)}.swagger-ui .rotate-315-m{transform:rotate(315deg)}}@media screen and (min-width:60em){.swagger-ui .rotate-45-l{transform:rotate(45deg)}.swagger-ui .rotate-90-l{transform:rotate(90deg)}.swagger-ui .rotate-135-l{transform:rotate(135deg)}.swagger-ui .rotate-180-l{transform:rotate(180deg)}.swagger-ui .rotate-225-l{transform:rotate(225deg)}.swagger-ui .rotate-270-l{transform:rotate(270deg)}.swagger-ui .rotate-315-l{transform:rotate(315deg)}}.swagger-ui .black-90{color:#000000e6}.swagger-ui .black-80{color:#000c}.swagger-ui .black-70{color:#000000b3}.swagger-ui .black-60{color:#0009}.swagger-ui .black-50{color:#00000080}.swagger-ui .black-40{color:#0006}.swagger-ui .black-30{color:#0000004d}.swagger-ui .black-20{color:#0003}.swagger-ui .black-10{color:#0000001a}.swagger-ui .black-05{color:#0000000d}.swagger-ui .white-90{color:#ffffffe6}.swagger-ui .white-80{color:#fffc}.swagger-ui .white-70{color:#ffffffb3}.swagger-ui .white-60{color:#fff9}.swagger-ui .white-50{color:#ffffff80}.swagger-ui .white-40{color:#fff6}.swagger-ui .white-30{color:#ffffff4d}.swagger-ui .white-20{color:#fff3}.swagger-ui .white-10{color:#ffffff1a}.swagger-ui .black{color:#000}.swagger-ui .near-black{color:#111}.swagger-ui .dark-gray{color:#333}.swagger-ui .mid-gray{color:#555}.swagger-ui .gray{color:#777}.swagger-ui .silver{color:#999}.swagger-ui .light-silver{color:#aaa}.swagger-ui .moon-gray{color:#ccc}.swagger-ui .light-gray{color:#eee}.swagger-ui .near-white{color:#f4f4f4}.swagger-ui .white{color:#fff}.swagger-ui .dark-red{color:#e7040f}.swagger-ui .red{color:#ff4136}.swagger-ui .light-red{color:#ff725c}.swagger-ui .orange{color:#ff6300}.swagger-ui .gold{color:#ffb700}.swagger-ui .yellow{color:gold}.swagger-ui .light-yellow{color:#fbf1a9}.swagger-ui .purple{color:#5e2ca5}.swagger-ui .light-purple{color:#a463f2}.swagger-ui .dark-pink{color:#d5008f}.swagger-ui .hot-pink{color:#ff41b4}.swagger-ui .pink{color:#ff80cc}.swagger-ui .light-pink{color:#ffa3d7}.swagger-ui .dark-green{color:#137752}.swagger-ui .green{color:#19a974}.swagger-ui .light-green{color:#9eebcf}.swagger-ui .navy{color:#001b44}.swagger-ui .dark-blue{color:#00449e}.swagger-ui .blue{color:#357edd}.swagger-ui .light-blue{color:#96ccff}.swagger-ui .lightest-blue{color:#cdecff}.swagger-ui .washed-blue{color:#f6fffe}.swagger-ui .washed-green{color:#e8fdf5}.swagger-ui .washed-yellow{color:#fffceb}.swagger-ui .washed-red{color:#ffdfdf}.swagger-ui .color-inherit{color:inherit}.swagger-ui .bg-black-90{background-color:#000000e6}.swagger-ui .bg-black-80{background-color:#000c}.swagger-ui .bg-black-70{background-color:#000000b3}.swagger-ui .bg-black-60{background-color:#0009}.swagger-ui .bg-black-50{background-color:#00000080}.swagger-ui .bg-black-40{background-color:#0006}.swagger-ui .bg-black-30{background-color:#0000004d}.swagger-ui .bg-black-20{background-color:#0003}.swagger-ui .bg-black-10{background-color:#0000001a}.swagger-ui .bg-black-05{background-color:#0000000d}.swagger-ui .bg-white-90{background-color:#ffffffe6}.swagger-ui .bg-white-80{background-color:#fffc}.swagger-ui .bg-white-70{background-color:#ffffffb3}.swagger-ui .bg-white-60{background-color:#fff9}.swagger-ui .bg-white-50{background-color:#ffffff80}.swagger-ui .bg-white-40{background-color:#fff6}.swagger-ui .bg-white-30{background-color:#ffffff4d}.swagger-ui .bg-white-20{background-color:#fff3}.swagger-ui .bg-white-10{background-color:#ffffff1a}.swagger-ui .bg-black{background-color:#000}.swagger-ui .bg-near-black{background-color:#111}.swagger-ui .bg-dark-gray{background-color:#333}.swagger-ui .bg-mid-gray{background-color:#555}.swagger-ui .bg-gray{background-color:#777}.swagger-ui .bg-silver{background-color:#999}.swagger-ui .bg-light-silver{background-color:#aaa}.swagger-ui .bg-moon-gray{background-color:#ccc}.swagger-ui .bg-light-gray{background-color:#eee}.swagger-ui .bg-near-white{background-color:#f4f4f4}.swagger-ui .bg-white{background-color:#fff}.swagger-ui .bg-transparent{background-color:transparent}.swagger-ui .bg-dark-red{background-color:#e7040f}.swagger-ui .bg-red{background-color:#ff4136}.swagger-ui .bg-light-red{background-color:#ff725c}.swagger-ui .bg-orange{background-color:#ff6300}.swagger-ui .bg-gold{background-color:#ffb700}.swagger-ui .bg-yellow{background-color:gold}.swagger-ui .bg-light-yellow{background-color:#fbf1a9}.swagger-ui .bg-purple{background-color:#5e2ca5}.swagger-ui .bg-light-purple{background-color:#a463f2}.swagger-ui .bg-dark-pink{background-color:#d5008f}.swagger-ui .bg-hot-pink{background-color:#ff41b4}.swagger-ui .bg-pink{background-color:#ff80cc}.swagger-ui .bg-light-pink{background-color:#ffa3d7}.swagger-ui .bg-dark-green{background-color:#137752}.swagger-ui .bg-green{background-color:#19a974}.swagger-ui .bg-light-green{background-color:#9eebcf}.swagger-ui .bg-navy{background-color:#001b44}.swagger-ui .bg-dark-blue{background-color:#00449e}.swagger-ui .bg-blue{background-color:#357edd}.swagger-ui .bg-light-blue{background-color:#96ccff}.swagger-ui .bg-lightest-blue{background-color:#cdecff}.swagger-ui .bg-washed-blue{background-color:#f6fffe}.swagger-ui .bg-washed-green{background-color:#e8fdf5}.swagger-ui .bg-washed-yellow{background-color:#fffceb}.swagger-ui .bg-washed-red{background-color:#ffdfdf}.swagger-ui .bg-inherit{background-color:inherit}.swagger-ui .hover-black:focus,.swagger-ui .hover-black:hover{color:#000}.swagger-ui .hover-near-black:focus,.swagger-ui .hover-near-black:hover{color:#111}.swagger-ui .hover-dark-gray:focus,.swagger-ui .hover-dark-gray:hover{color:#333}.swagger-ui .hover-mid-gray:focus,.swagger-ui .hover-mid-gray:hover{color:#555}.swagger-ui .hover-gray:focus,.swagger-ui .hover-gray:hover{color:#777}.swagger-ui .hover-silver:focus,.swagger-ui .hover-silver:hover{color:#999}.swagger-ui .hover-light-silver:focus,.swagger-ui .hover-light-silver:hover{color:#aaa}.swagger-ui .hover-moon-gray:focus,.swagger-ui .hover-moon-gray:hover{color:#ccc}.swagger-ui .hover-light-gray:focus,.swagger-ui .hover-light-gray:hover{color:#eee}.swagger-ui .hover-near-white:focus,.swagger-ui .hover-near-white:hover{color:#f4f4f4}.swagger-ui .hover-white:focus,.swagger-ui .hover-white:hover{color:#fff}.swagger-ui .hover-black-90:focus,.swagger-ui .hover-black-90:hover{color:#000000e6}.swagger-ui .hover-black-80:focus,.swagger-ui .hover-black-80:hover{color:#000c}.swagger-ui .hover-black-70:focus,.swagger-ui .hover-black-70:hover{color:#000000b3}.swagger-ui .hover-black-60:focus,.swagger-ui .hover-black-60:hover{color:#0009}.swagger-ui .hover-black-50:focus,.swagger-ui .hover-black-50:hover{color:#00000080}.swagger-ui .hover-black-40:focus,.swagger-ui .hover-black-40:hover{color:#0006}.swagger-ui .hover-black-30:focus,.swagger-ui .hover-black-30:hover{color:#0000004d}.swagger-ui .hover-black-20:focus,.swagger-ui .hover-black-20:hover{color:#0003}.swagger-ui .hover-black-10:focus,.swagger-ui .hover-black-10:hover{color:#0000001a}.swagger-ui .hover-white-90:focus,.swagger-ui .hover-white-90:hover{color:#ffffffe6}.swagger-ui .hover-white-80:focus,.swagger-ui .hover-white-80:hover{color:#fffc}.swagger-ui .hover-white-70:focus,.swagger-ui .hover-white-70:hover{color:#ffffffb3}.swagger-ui .hover-white-60:focus,.swagger-ui .hover-white-60:hover{color:#fff9}.swagger-ui .hover-white-50:focus,.swagger-ui .hover-white-50:hover{color:#ffffff80}.swagger-ui .hover-white-40:focus,.swagger-ui .hover-white-40:hover{color:#fff6}.swagger-ui .hover-white-30:focus,.swagger-ui .hover-white-30:hover{color:#ffffff4d}.swagger-ui .hover-white-20:focus,.swagger-ui .hover-white-20:hover{color:#fff3}.swagger-ui .hover-white-10:focus,.swagger-ui .hover-white-10:hover{color:#ffffff1a}.swagger-ui .hover-inherit:focus,.swagger-ui .hover-inherit:hover{color:inherit}.swagger-ui .hover-bg-black:focus,.swagger-ui .hover-bg-black:hover{background-color:#000}.swagger-ui .hover-bg-near-black:focus,.swagger-ui .hover-bg-near-black:hover{background-color:#111}.swagger-ui .hover-bg-dark-gray:focus,.swagger-ui .hover-bg-dark-gray:hover{background-color:#333}.swagger-ui .hover-bg-mid-gray:focus,.swagger-ui .hover-bg-mid-gray:hover{background-color:#555}.swagger-ui .hover-bg-gray:focus,.swagger-ui .hover-bg-gray:hover{background-color:#777}.swagger-ui .hover-bg-silver:focus,.swagger-ui .hover-bg-silver:hover{background-color:#999}.swagger-ui .hover-bg-light-silver:focus,.swagger-ui .hover-bg-light-silver:hover{background-color:#aaa}.swagger-ui .hover-bg-moon-gray:focus,.swagger-ui .hover-bg-moon-gray:hover{background-color:#ccc}.swagger-ui .hover-bg-light-gray:focus,.swagger-ui .hover-bg-light-gray:hover{background-color:#eee}.swagger-ui .hover-bg-near-white:focus,.swagger-ui .hover-bg-near-white:hover{background-color:#f4f4f4}.swagger-ui .hover-bg-white:focus,.swagger-ui .hover-bg-white:hover{background-color:#fff}.swagger-ui .hover-bg-transparent:focus,.swagger-ui .hover-bg-transparent:hover{background-color:transparent}.swagger-ui .hover-bg-black-90:focus,.swagger-ui .hover-bg-black-90:hover{background-color:#000000e6}.swagger-ui .hover-bg-black-80:focus,.swagger-ui .hover-bg-black-80:hover{background-color:#000c}.swagger-ui .hover-bg-black-70:focus,.swagger-ui .hover-bg-black-70:hover{background-color:#000000b3}.swagger-ui .hover-bg-black-60:focus,.swagger-ui .hover-bg-black-60:hover{background-color:#0009}.swagger-ui .hover-bg-black-50:focus,.swagger-ui .hover-bg-black-50:hover{background-color:#00000080}.swagger-ui .hover-bg-black-40:focus,.swagger-ui .hover-bg-black-40:hover{background-color:#0006}.swagger-ui .hover-bg-black-30:focus,.swagger-ui .hover-bg-black-30:hover{background-color:#0000004d}.swagger-ui .hover-bg-black-20:focus,.swagger-ui .hover-bg-black-20:hover{background-color:#0003}.swagger-ui .hover-bg-black-10:focus,.swagger-ui .hover-bg-black-10:hover{background-color:#0000001a}.swagger-ui .hover-bg-white-90:focus,.swagger-ui .hover-bg-white-90:hover{background-color:#ffffffe6}.swagger-ui .hover-bg-white-80:focus,.swagger-ui .hover-bg-white-80:hover{background-color:#fffc}.swagger-ui .hover-bg-white-70:focus,.swagger-ui .hover-bg-white-70:hover{background-color:#ffffffb3}.swagger-ui .hover-bg-white-60:focus,.swagger-ui .hover-bg-white-60:hover{background-color:#fff9}.swagger-ui .hover-bg-white-50:focus,.swagger-ui .hover-bg-white-50:hover{background-color:#ffffff80}.swagger-ui .hover-bg-white-40:focus,.swagger-ui .hover-bg-white-40:hover{background-color:#fff6}.swagger-ui .hover-bg-white-30:focus,.swagger-ui .hover-bg-white-30:hover{background-color:#ffffff4d}.swagger-ui .hover-bg-white-20:focus,.swagger-ui .hover-bg-white-20:hover{background-color:#fff3}.swagger-ui .hover-bg-white-10:focus,.swagger-ui .hover-bg-white-10:hover{background-color:#ffffff1a}.swagger-ui .hover-dark-red:focus,.swagger-ui .hover-dark-red:hover{color:#e7040f}.swagger-ui .hover-red:focus,.swagger-ui .hover-red:hover{color:#ff4136}.swagger-ui .hover-light-red:focus,.swagger-ui .hover-light-red:hover{color:#ff725c}.swagger-ui .hover-orange:focus,.swagger-ui .hover-orange:hover{color:#ff6300}.swagger-ui .hover-gold:focus,.swagger-ui .hover-gold:hover{color:#ffb700}.swagger-ui .hover-yellow:focus,.swagger-ui .hover-yellow:hover{color:gold}.swagger-ui .hover-light-yellow:focus,.swagger-ui .hover-light-yellow:hover{color:#fbf1a9}.swagger-ui .hover-purple:focus,.swagger-ui .hover-purple:hover{color:#5e2ca5}.swagger-ui .hover-light-purple:focus,.swagger-ui .hover-light-purple:hover{color:#a463f2}.swagger-ui .hover-dark-pink:focus,.swagger-ui .hover-dark-pink:hover{color:#d5008f}.swagger-ui .hover-hot-pink:focus,.swagger-ui .hover-hot-pink:hover{color:#ff41b4}.swagger-ui .hover-pink:focus,.swagger-ui .hover-pink:hover{color:#ff80cc}.swagger-ui .hover-light-pink:focus,.swagger-ui .hover-light-pink:hover{color:#ffa3d7}.swagger-ui .hover-dark-green:focus,.swagger-ui .hover-dark-green:hover{color:#137752}.swagger-ui .hover-green:focus,.swagger-ui .hover-green:hover{color:#19a974}.swagger-ui .hover-light-green:focus,.swagger-ui .hover-light-green:hover{color:#9eebcf}.swagger-ui .hover-navy:focus,.swagger-ui .hover-navy:hover{color:#001b44}.swagger-ui .hover-dark-blue:focus,.swagger-ui .hover-dark-blue:hover{color:#00449e}.swagger-ui .hover-blue:focus,.swagger-ui .hover-blue:hover{color:#357edd}.swagger-ui .hover-light-blue:focus,.swagger-ui .hover-light-blue:hover{color:#96ccff}.swagger-ui .hover-lightest-blue:focus,.swagger-ui .hover-lightest-blue:hover{color:#cdecff}.swagger-ui .hover-washed-blue:focus,.swagger-ui .hover-washed-blue:hover{color:#f6fffe}.swagger-ui .hover-washed-green:focus,.swagger-ui .hover-washed-green:hover{color:#e8fdf5}.swagger-ui .hover-washed-yellow:focus,.swagger-ui .hover-washed-yellow:hover{color:#fffceb}.swagger-ui .hover-washed-red:focus,.swagger-ui .hover-washed-red:hover{color:#ffdfdf}.swagger-ui .hover-bg-dark-red:focus,.swagger-ui .hover-bg-dark-red:hover{background-color:#e7040f}.swagger-ui .hover-bg-red:focus,.swagger-ui .hover-bg-red:hover{background-color:#ff4136}.swagger-ui .hover-bg-light-red:focus,.swagger-ui .hover-bg-light-red:hover{background-color:#ff725c}.swagger-ui .hover-bg-orange:focus,.swagger-ui .hover-bg-orange:hover{background-color:#ff6300}.swagger-ui .hover-bg-gold:focus,.swagger-ui .hover-bg-gold:hover{background-color:#ffb700}.swagger-ui .hover-bg-yellow:focus,.swagger-ui .hover-bg-yellow:hover{background-color:gold}.swagger-ui .hover-bg-light-yellow:focus,.swagger-ui .hover-bg-light-yellow:hover{background-color:#fbf1a9}.swagger-ui .hover-bg-purple:focus,.swagger-ui .hover-bg-purple:hover{background-color:#5e2ca5}.swagger-ui .hover-bg-light-purple:focus,.swagger-ui .hover-bg-light-purple:hover{background-color:#a463f2}.swagger-ui .hover-bg-dark-pink:focus,.swagger-ui .hover-bg-dark-pink:hover{background-color:#d5008f}.swagger-ui .hover-bg-hot-pink:focus,.swagger-ui .hover-bg-hot-pink:hover{background-color:#ff41b4}.swagger-ui .hover-bg-pink:focus,.swagger-ui .hover-bg-pink:hover{background-color:#ff80cc}.swagger-ui .hover-bg-light-pink:focus,.swagger-ui .hover-bg-light-pink:hover{background-color:#ffa3d7}.swagger-ui .hover-bg-dark-green:focus,.swagger-ui .hover-bg-dark-green:hover{background-color:#137752}.swagger-ui .hover-bg-green:focus,.swagger-ui .hover-bg-green:hover{background-color:#19a974}.swagger-ui .hover-bg-light-green:focus,.swagger-ui .hover-bg-light-green:hover{background-color:#9eebcf}.swagger-ui .hover-bg-navy:focus,.swagger-ui .hover-bg-navy:hover{background-color:#001b44}.swagger-ui .hover-bg-dark-blue:focus,.swagger-ui .hover-bg-dark-blue:hover{background-color:#00449e}.swagger-ui .hover-bg-blue:focus,.swagger-ui .hover-bg-blue:hover{background-color:#357edd}.swagger-ui .hover-bg-light-blue:focus,.swagger-ui .hover-bg-light-blue:hover{background-color:#96ccff}.swagger-ui .hover-bg-lightest-blue:focus,.swagger-ui .hover-bg-lightest-blue:hover{background-color:#cdecff}.swagger-ui .hover-bg-washed-blue:focus,.swagger-ui .hover-bg-washed-blue:hover{background-color:#f6fffe}.swagger-ui .hover-bg-washed-green:focus,.swagger-ui .hover-bg-washed-green:hover{background-color:#e8fdf5}.swagger-ui .hover-bg-washed-yellow:focus,.swagger-ui .hover-bg-washed-yellow:hover{background-color:#fffceb}.swagger-ui .hover-bg-washed-red:focus,.swagger-ui .hover-bg-washed-red:hover{background-color:#ffdfdf}.swagger-ui .hover-bg-inherit:focus,.swagger-ui .hover-bg-inherit:hover{background-color:inherit}.swagger-ui .pa0{padding:0}.swagger-ui .pa1{padding:.25rem}.swagger-ui .pa2{padding:.5rem}.swagger-ui .pa3{padding:1rem}.swagger-ui .pa4{padding:2rem}.swagger-ui .pa5{padding:4rem}.swagger-ui .pa6{padding:8rem}.swagger-ui .pa7{padding:16rem}.swagger-ui .pl0{padding-left:0}.swagger-ui .pl1{padding-left:.25rem}.swagger-ui .pl2{padding-left:.5rem}.swagger-ui .pl3{padding-left:1rem}.swagger-ui .pl4{padding-left:2rem}.swagger-ui .pl5{padding-left:4rem}.swagger-ui .pl6{padding-left:8rem}.swagger-ui .pl7{padding-left:16rem}.swagger-ui .pr0{padding-right:0}.swagger-ui .pr1{padding-right:.25rem}.swagger-ui .pr2{padding-right:.5rem}.swagger-ui .pr3{padding-right:1rem}.swagger-ui .pr4{padding-right:2rem}.swagger-ui .pr5{padding-right:4rem}.swagger-ui .pr6{padding-right:8rem}.swagger-ui .pr7{padding-right:16rem}.swagger-ui .pb0{padding-bottom:0}.swagger-ui .pb1{padding-bottom:.25rem}.swagger-ui .pb2{padding-bottom:.5rem}.swagger-ui .pb3{padding-bottom:1rem}.swagger-ui .pb4{padding-bottom:2rem}.swagger-ui .pb5{padding-bottom:4rem}.swagger-ui .pb6{padding-bottom:8rem}.swagger-ui .pb7{padding-bottom:16rem}.swagger-ui .pt0{padding-top:0}.swagger-ui .pt1{padding-top:.25rem}.swagger-ui .pt2{padding-top:.5rem}.swagger-ui .pt3{padding-top:1rem}.swagger-ui .pt4{padding-top:2rem}.swagger-ui .pt5{padding-top:4rem}.swagger-ui .pt6{padding-top:8rem}.swagger-ui .pt7{padding-top:16rem}.swagger-ui .pv0{padding-bottom:0;padding-top:0}.swagger-ui .pv1{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0{padding-left:0;padding-right:0}.swagger-ui .ph1{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0{margin:0}.swagger-ui .ma1{margin:.25rem}.swagger-ui .ma2{margin:.5rem}.swagger-ui .ma3{margin:1rem}.swagger-ui .ma4{margin:2rem}.swagger-ui .ma5{margin:4rem}.swagger-ui .ma6{margin:8rem}.swagger-ui .ma7{margin:16rem}.swagger-ui .ml0{margin-left:0}.swagger-ui .ml1{margin-left:.25rem}.swagger-ui .ml2{margin-left:.5rem}.swagger-ui .ml3{margin-left:1rem}.swagger-ui .ml4{margin-left:2rem}.swagger-ui .ml5{margin-left:4rem}.swagger-ui .ml6{margin-left:8rem}.swagger-ui .ml7{margin-left:16rem}.swagger-ui .mr0{margin-right:0}.swagger-ui .mr1{margin-right:.25rem}.swagger-ui .mr2{margin-right:.5rem}.swagger-ui .mr3{margin-right:1rem}.swagger-ui .mr4{margin-right:2rem}.swagger-ui .mr5{margin-right:4rem}.swagger-ui .mr6{margin-right:8rem}.swagger-ui .mr7{margin-right:16rem}.swagger-ui .mb0{margin-bottom:0}.swagger-ui .mb1{margin-bottom:.25rem}.swagger-ui .mb2{margin-bottom:.5rem}.swagger-ui .mb3{margin-bottom:1rem}.swagger-ui .mb4{margin-bottom:2rem}.swagger-ui .mb5{margin-bottom:4rem}.swagger-ui .mb6{margin-bottom:8rem}.swagger-ui .mb7{margin-bottom:16rem}.swagger-ui .mt0{margin-top:0}.swagger-ui .mt1{margin-top:.25rem}.swagger-ui .mt2{margin-top:.5rem}.swagger-ui .mt3{margin-top:1rem}.swagger-ui .mt4{margin-top:2rem}.swagger-ui .mt5{margin-top:4rem}.swagger-ui .mt6{margin-top:8rem}.swagger-ui .mt7{margin-top:16rem}.swagger-ui .mv0{margin-bottom:0;margin-top:0}.swagger-ui .mv1{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0{margin-left:0;margin-right:0}.swagger-ui .mh1{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7{margin-left:16rem;margin-right:16rem}@media screen and (min-width:30em){.swagger-ui .pa0-ns{padding:0}.swagger-ui .pa1-ns{padding:.25rem}.swagger-ui .pa2-ns{padding:.5rem}.swagger-ui .pa3-ns{padding:1rem}.swagger-ui .pa4-ns{padding:2rem}.swagger-ui .pa5-ns{padding:4rem}.swagger-ui .pa6-ns{padding:8rem}.swagger-ui .pa7-ns{padding:16rem}.swagger-ui .pl0-ns{padding-left:0}.swagger-ui .pl1-ns{padding-left:.25rem}.swagger-ui .pl2-ns{padding-left:.5rem}.swagger-ui .pl3-ns{padding-left:1rem}.swagger-ui .pl4-ns{padding-left:2rem}.swagger-ui .pl5-ns{padding-left:4rem}.swagger-ui .pl6-ns{padding-left:8rem}.swagger-ui .pl7-ns{padding-left:16rem}.swagger-ui .pr0-ns{padding-right:0}.swagger-ui .pr1-ns{padding-right:.25rem}.swagger-ui .pr2-ns{padding-right:.5rem}.swagger-ui .pr3-ns{padding-right:1rem}.swagger-ui .pr4-ns{padding-right:2rem}.swagger-ui .pr5-ns{padding-right:4rem}.swagger-ui .pr6-ns{padding-right:8rem}.swagger-ui .pr7-ns{padding-right:16rem}.swagger-ui .pb0-ns{padding-bottom:0}.swagger-ui .pb1-ns{padding-bottom:.25rem}.swagger-ui .pb2-ns{padding-bottom:.5rem}.swagger-ui .pb3-ns{padding-bottom:1rem}.swagger-ui .pb4-ns{padding-bottom:2rem}.swagger-ui .pb5-ns{padding-bottom:4rem}.swagger-ui .pb6-ns{padding-bottom:8rem}.swagger-ui .pb7-ns{padding-bottom:16rem}.swagger-ui .pt0-ns{padding-top:0}.swagger-ui .pt1-ns{padding-top:.25rem}.swagger-ui .pt2-ns{padding-top:.5rem}.swagger-ui .pt3-ns{padding-top:1rem}.swagger-ui .pt4-ns{padding-top:2rem}.swagger-ui .pt5-ns{padding-top:4rem}.swagger-ui .pt6-ns{padding-top:8rem}.swagger-ui .pt7-ns{padding-top:16rem}.swagger-ui .pv0-ns{padding-bottom:0;padding-top:0}.swagger-ui .pv1-ns{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2-ns{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3-ns{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4-ns{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5-ns{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6-ns{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7-ns{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0-ns{padding-left:0;padding-right:0}.swagger-ui .ph1-ns{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-ns{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-ns{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-ns{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-ns{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-ns{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-ns{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-ns{margin:0}.swagger-ui .ma1-ns{margin:.25rem}.swagger-ui .ma2-ns{margin:.5rem}.swagger-ui .ma3-ns{margin:1rem}.swagger-ui .ma4-ns{margin:2rem}.swagger-ui .ma5-ns{margin:4rem}.swagger-ui .ma6-ns{margin:8rem}.swagger-ui .ma7-ns{margin:16rem}.swagger-ui .ml0-ns{margin-left:0}.swagger-ui .ml1-ns{margin-left:.25rem}.swagger-ui .ml2-ns{margin-left:.5rem}.swagger-ui .ml3-ns{margin-left:1rem}.swagger-ui .ml4-ns{margin-left:2rem}.swagger-ui .ml5-ns{margin-left:4rem}.swagger-ui .ml6-ns{margin-left:8rem}.swagger-ui .ml7-ns{margin-left:16rem}.swagger-ui .mr0-ns{margin-right:0}.swagger-ui .mr1-ns{margin-right:.25rem}.swagger-ui .mr2-ns{margin-right:.5rem}.swagger-ui .mr3-ns{margin-right:1rem}.swagger-ui .mr4-ns{margin-right:2rem}.swagger-ui .mr5-ns{margin-right:4rem}.swagger-ui .mr6-ns{margin-right:8rem}.swagger-ui .mr7-ns{margin-right:16rem}.swagger-ui .mb0-ns{margin-bottom:0}.swagger-ui .mb1-ns{margin-bottom:.25rem}.swagger-ui .mb2-ns{margin-bottom:.5rem}.swagger-ui .mb3-ns{margin-bottom:1rem}.swagger-ui .mb4-ns{margin-bottom:2rem}.swagger-ui .mb5-ns{margin-bottom:4rem}.swagger-ui .mb6-ns{margin-bottom:8rem}.swagger-ui .mb7-ns{margin-bottom:16rem}.swagger-ui .mt0-ns{margin-top:0}.swagger-ui .mt1-ns{margin-top:.25rem}.swagger-ui .mt2-ns{margin-top:.5rem}.swagger-ui .mt3-ns{margin-top:1rem}.swagger-ui .mt4-ns{margin-top:2rem}.swagger-ui .mt5-ns{margin-top:4rem}.swagger-ui .mt6-ns{margin-top:8rem}.swagger-ui .mt7-ns{margin-top:16rem}.swagger-ui .mv0-ns{margin-bottom:0;margin-top:0}.swagger-ui .mv1-ns{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2-ns{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3-ns{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4-ns{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5-ns{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6-ns{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7-ns{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0-ns{margin-left:0;margin-right:0}.swagger-ui .mh1-ns{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-ns{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-ns{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-ns{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-ns{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-ns{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-ns{margin-left:16rem;margin-right:16rem}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .pa0-m{padding:0}.swagger-ui .pa1-m{padding:.25rem}.swagger-ui .pa2-m{padding:.5rem}.swagger-ui .pa3-m{padding:1rem}.swagger-ui .pa4-m{padding:2rem}.swagger-ui .pa5-m{padding:4rem}.swagger-ui .pa6-m{padding:8rem}.swagger-ui .pa7-m{padding:16rem}.swagger-ui .pl0-m{padding-left:0}.swagger-ui .pl1-m{padding-left:.25rem}.swagger-ui .pl2-m{padding-left:.5rem}.swagger-ui .pl3-m{padding-left:1rem}.swagger-ui .pl4-m{padding-left:2rem}.swagger-ui .pl5-m{padding-left:4rem}.swagger-ui .pl6-m{padding-left:8rem}.swagger-ui .pl7-m{padding-left:16rem}.swagger-ui .pr0-m{padding-right:0}.swagger-ui .pr1-m{padding-right:.25rem}.swagger-ui .pr2-m{padding-right:.5rem}.swagger-ui .pr3-m{padding-right:1rem}.swagger-ui .pr4-m{padding-right:2rem}.swagger-ui .pr5-m{padding-right:4rem}.swagger-ui .pr6-m{padding-right:8rem}.swagger-ui .pr7-m{padding-right:16rem}.swagger-ui .pb0-m{padding-bottom:0}.swagger-ui .pb1-m{padding-bottom:.25rem}.swagger-ui .pb2-m{padding-bottom:.5rem}.swagger-ui .pb3-m{padding-bottom:1rem}.swagger-ui .pb4-m{padding-bottom:2rem}.swagger-ui .pb5-m{padding-bottom:4rem}.swagger-ui .pb6-m{padding-bottom:8rem}.swagger-ui .pb7-m{padding-bottom:16rem}.swagger-ui .pt0-m{padding-top:0}.swagger-ui .pt1-m{padding-top:.25rem}.swagger-ui .pt2-m{padding-top:.5rem}.swagger-ui .pt3-m{padding-top:1rem}.swagger-ui .pt4-m{padding-top:2rem}.swagger-ui .pt5-m{padding-top:4rem}.swagger-ui .pt6-m{padding-top:8rem}.swagger-ui .pt7-m{padding-top:16rem}.swagger-ui .pv0-m{padding-bottom:0;padding-top:0}.swagger-ui .pv1-m{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2-m{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3-m{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4-m{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5-m{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6-m{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7-m{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0-m{padding-left:0;padding-right:0}.swagger-ui .ph1-m{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-m{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-m{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-m{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-m{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-m{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-m{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-m{margin:0}.swagger-ui .ma1-m{margin:.25rem}.swagger-ui .ma2-m{margin:.5rem}.swagger-ui .ma3-m{margin:1rem}.swagger-ui .ma4-m{margin:2rem}.swagger-ui .ma5-m{margin:4rem}.swagger-ui .ma6-m{margin:8rem}.swagger-ui .ma7-m{margin:16rem}.swagger-ui .ml0-m{margin-left:0}.swagger-ui .ml1-m{margin-left:.25rem}.swagger-ui .ml2-m{margin-left:.5rem}.swagger-ui .ml3-m{margin-left:1rem}.swagger-ui .ml4-m{margin-left:2rem}.swagger-ui .ml5-m{margin-left:4rem}.swagger-ui .ml6-m{margin-left:8rem}.swagger-ui .ml7-m{margin-left:16rem}.swagger-ui .mr0-m{margin-right:0}.swagger-ui .mr1-m{margin-right:.25rem}.swagger-ui .mr2-m{margin-right:.5rem}.swagger-ui .mr3-m{margin-right:1rem}.swagger-ui .mr4-m{margin-right:2rem}.swagger-ui .mr5-m{margin-right:4rem}.swagger-ui .mr6-m{margin-right:8rem}.swagger-ui .mr7-m{margin-right:16rem}.swagger-ui .mb0-m{margin-bottom:0}.swagger-ui .mb1-m{margin-bottom:.25rem}.swagger-ui .mb2-m{margin-bottom:.5rem}.swagger-ui .mb3-m{margin-bottom:1rem}.swagger-ui .mb4-m{margin-bottom:2rem}.swagger-ui .mb5-m{margin-bottom:4rem}.swagger-ui .mb6-m{margin-bottom:8rem}.swagger-ui .mb7-m{margin-bottom:16rem}.swagger-ui .mt0-m{margin-top:0}.swagger-ui .mt1-m{margin-top:.25rem}.swagger-ui .mt2-m{margin-top:.5rem}.swagger-ui .mt3-m{margin-top:1rem}.swagger-ui .mt4-m{margin-top:2rem}.swagger-ui .mt5-m{margin-top:4rem}.swagger-ui .mt6-m{margin-top:8rem}.swagger-ui .mt7-m{margin-top:16rem}.swagger-ui .mv0-m{margin-bottom:0;margin-top:0}.swagger-ui .mv1-m{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2-m{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3-m{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4-m{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5-m{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6-m{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7-m{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0-m{margin-left:0;margin-right:0}.swagger-ui .mh1-m{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-m{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-m{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-m{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-m{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-m{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-m{margin-left:16rem;margin-right:16rem}}@media screen and (min-width:60em){.swagger-ui .pa0-l{padding:0}.swagger-ui .pa1-l{padding:.25rem}.swagger-ui .pa2-l{padding:.5rem}.swagger-ui .pa3-l{padding:1rem}.swagger-ui .pa4-l{padding:2rem}.swagger-ui .pa5-l{padding:4rem}.swagger-ui .pa6-l{padding:8rem}.swagger-ui .pa7-l{padding:16rem}.swagger-ui .pl0-l{padding-left:0}.swagger-ui .pl1-l{padding-left:.25rem}.swagger-ui .pl2-l{padding-left:.5rem}.swagger-ui .pl3-l{padding-left:1rem}.swagger-ui .pl4-l{padding-left:2rem}.swagger-ui .pl5-l{padding-left:4rem}.swagger-ui .pl6-l{padding-left:8rem}.swagger-ui .pl7-l{padding-left:16rem}.swagger-ui .pr0-l{padding-right:0}.swagger-ui .pr1-l{padding-right:.25rem}.swagger-ui .pr2-l{padding-right:.5rem}.swagger-ui .pr3-l{padding-right:1rem}.swagger-ui .pr4-l{padding-right:2rem}.swagger-ui .pr5-l{padding-right:4rem}.swagger-ui .pr6-l{padding-right:8rem}.swagger-ui .pr7-l{padding-right:16rem}.swagger-ui .pb0-l{padding-bottom:0}.swagger-ui .pb1-l{padding-bottom:.25rem}.swagger-ui .pb2-l{padding-bottom:.5rem}.swagger-ui .pb3-l{padding-bottom:1rem}.swagger-ui .pb4-l{padding-bottom:2rem}.swagger-ui .pb5-l{padding-bottom:4rem}.swagger-ui .pb6-l{padding-bottom:8rem}.swagger-ui .pb7-l{padding-bottom:16rem}.swagger-ui .pt0-l{padding-top:0}.swagger-ui .pt1-l{padding-top:.25rem}.swagger-ui .pt2-l{padding-top:.5rem}.swagger-ui .pt3-l{padding-top:1rem}.swagger-ui .pt4-l{padding-top:2rem}.swagger-ui .pt5-l{padding-top:4rem}.swagger-ui .pt6-l{padding-top:8rem}.swagger-ui .pt7-l{padding-top:16rem}.swagger-ui .pv0-l{padding-bottom:0;padding-top:0}.swagger-ui .pv1-l{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2-l{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3-l{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4-l{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5-l{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6-l{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7-l{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0-l{padding-left:0;padding-right:0}.swagger-ui .ph1-l{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-l{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-l{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-l{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-l{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-l{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-l{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-l{margin:0}.swagger-ui .ma1-l{margin:.25rem}.swagger-ui .ma2-l{margin:.5rem}.swagger-ui .ma3-l{margin:1rem}.swagger-ui .ma4-l{margin:2rem}.swagger-ui .ma5-l{margin:4rem}.swagger-ui .ma6-l{margin:8rem}.swagger-ui .ma7-l{margin:16rem}.swagger-ui .ml0-l{margin-left:0}.swagger-ui .ml1-l{margin-left:.25rem}.swagger-ui .ml2-l{margin-left:.5rem}.swagger-ui .ml3-l{margin-left:1rem}.swagger-ui .ml4-l{margin-left:2rem}.swagger-ui .ml5-l{margin-left:4rem}.swagger-ui .ml6-l{margin-left:8rem}.swagger-ui .ml7-l{margin-left:16rem}.swagger-ui .mr0-l{margin-right:0}.swagger-ui .mr1-l{margin-right:.25rem}.swagger-ui .mr2-l{margin-right:.5rem}.swagger-ui .mr3-l{margin-right:1rem}.swagger-ui .mr4-l{margin-right:2rem}.swagger-ui .mr5-l{margin-right:4rem}.swagger-ui .mr6-l{margin-right:8rem}.swagger-ui .mr7-l{margin-right:16rem}.swagger-ui .mb0-l{margin-bottom:0}.swagger-ui .mb1-l{margin-bottom:.25rem}.swagger-ui .mb2-l{margin-bottom:.5rem}.swagger-ui .mb3-l{margin-bottom:1rem}.swagger-ui .mb4-l{margin-bottom:2rem}.swagger-ui .mb5-l{margin-bottom:4rem}.swagger-ui .mb6-l{margin-bottom:8rem}.swagger-ui .mb7-l{margin-bottom:16rem}.swagger-ui .mt0-l{margin-top:0}.swagger-ui .mt1-l{margin-top:.25rem}.swagger-ui .mt2-l{margin-top:.5rem}.swagger-ui .mt3-l{margin-top:1rem}.swagger-ui .mt4-l{margin-top:2rem}.swagger-ui .mt5-l{margin-top:4rem}.swagger-ui .mt6-l{margin-top:8rem}.swagger-ui .mt7-l{margin-top:16rem}.swagger-ui .mv0-l{margin-bottom:0;margin-top:0}.swagger-ui .mv1-l{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2-l{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3-l{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4-l{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5-l{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6-l{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7-l{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0-l{margin-left:0;margin-right:0}.swagger-ui .mh1-l{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-l{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-l{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-l{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-l{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-l{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-l{margin-left:16rem;margin-right:16rem}}.swagger-ui .na1{margin:-.25rem}.swagger-ui .na2{margin:-.5rem}.swagger-ui .na3{margin:-1rem}.swagger-ui .na4{margin:-2rem}.swagger-ui .na5{margin:-4rem}.swagger-ui .na6{margin:-8rem}.swagger-ui .na7{margin:-16rem}.swagger-ui .nl1{margin-left:-.25rem}.swagger-ui .nl2{margin-left:-.5rem}.swagger-ui .nl3{margin-left:-1rem}.swagger-ui .nl4{margin-left:-2rem}.swagger-ui .nl5{margin-left:-4rem}.swagger-ui .nl6{margin-left:-8rem}.swagger-ui .nl7{margin-left:-16rem}.swagger-ui .nr1{margin-right:-.25rem}.swagger-ui .nr2{margin-right:-.5rem}.swagger-ui .nr3{margin-right:-1rem}.swagger-ui .nr4{margin-right:-2rem}.swagger-ui .nr5{margin-right:-4rem}.swagger-ui .nr6{margin-right:-8rem}.swagger-ui .nr7{margin-right:-16rem}.swagger-ui .nb1{margin-bottom:-.25rem}.swagger-ui .nb2{margin-bottom:-.5rem}.swagger-ui .nb3{margin-bottom:-1rem}.swagger-ui .nb4{margin-bottom:-2rem}.swagger-ui .nb5{margin-bottom:-4rem}.swagger-ui .nb6{margin-bottom:-8rem}.swagger-ui .nb7{margin-bottom:-16rem}.swagger-ui .nt1{margin-top:-.25rem}.swagger-ui .nt2{margin-top:-.5rem}.swagger-ui .nt3{margin-top:-1rem}.swagger-ui .nt4{margin-top:-2rem}.swagger-ui .nt5{margin-top:-4rem}.swagger-ui .nt6{margin-top:-8rem}.swagger-ui .nt7{margin-top:-16rem}@media screen and (min-width:30em){.swagger-ui .na1-ns{margin:-.25rem}.swagger-ui .na2-ns{margin:-.5rem}.swagger-ui .na3-ns{margin:-1rem}.swagger-ui .na4-ns{margin:-2rem}.swagger-ui .na5-ns{margin:-4rem}.swagger-ui .na6-ns{margin:-8rem}.swagger-ui .na7-ns{margin:-16rem}.swagger-ui .nl1-ns{margin-left:-.25rem}.swagger-ui .nl2-ns{margin-left:-.5rem}.swagger-ui .nl3-ns{margin-left:-1rem}.swagger-ui .nl4-ns{margin-left:-2rem}.swagger-ui .nl5-ns{margin-left:-4rem}.swagger-ui .nl6-ns{margin-left:-8rem}.swagger-ui .nl7-ns{margin-left:-16rem}.swagger-ui .nr1-ns{margin-right:-.25rem}.swagger-ui .nr2-ns{margin-right:-.5rem}.swagger-ui .nr3-ns{margin-right:-1rem}.swagger-ui .nr4-ns{margin-right:-2rem}.swagger-ui .nr5-ns{margin-right:-4rem}.swagger-ui .nr6-ns{margin-right:-8rem}.swagger-ui .nr7-ns{margin-right:-16rem}.swagger-ui .nb1-ns{margin-bottom:-.25rem}.swagger-ui .nb2-ns{margin-bottom:-.5rem}.swagger-ui .nb3-ns{margin-bottom:-1rem}.swagger-ui .nb4-ns{margin-bottom:-2rem}.swagger-ui .nb5-ns{margin-bottom:-4rem}.swagger-ui .nb6-ns{margin-bottom:-8rem}.swagger-ui .nb7-ns{margin-bottom:-16rem}.swagger-ui .nt1-ns{margin-top:-.25rem}.swagger-ui .nt2-ns{margin-top:-.5rem}.swagger-ui .nt3-ns{margin-top:-1rem}.swagger-ui .nt4-ns{margin-top:-2rem}.swagger-ui .nt5-ns{margin-top:-4rem}.swagger-ui .nt6-ns{margin-top:-8rem}.swagger-ui .nt7-ns{margin-top:-16rem}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .na1-m{margin:-.25rem}.swagger-ui .na2-m{margin:-.5rem}.swagger-ui .na3-m{margin:-1rem}.swagger-ui .na4-m{margin:-2rem}.swagger-ui .na5-m{margin:-4rem}.swagger-ui .na6-m{margin:-8rem}.swagger-ui .na7-m{margin:-16rem}.swagger-ui .nl1-m{margin-left:-.25rem}.swagger-ui .nl2-m{margin-left:-.5rem}.swagger-ui .nl3-m{margin-left:-1rem}.swagger-ui .nl4-m{margin-left:-2rem}.swagger-ui .nl5-m{margin-left:-4rem}.swagger-ui .nl6-m{margin-left:-8rem}.swagger-ui .nl7-m{margin-left:-16rem}.swagger-ui .nr1-m{margin-right:-.25rem}.swagger-ui .nr2-m{margin-right:-.5rem}.swagger-ui .nr3-m{margin-right:-1rem}.swagger-ui .nr4-m{margin-right:-2rem}.swagger-ui .nr5-m{margin-right:-4rem}.swagger-ui .nr6-m{margin-right:-8rem}.swagger-ui .nr7-m{margin-right:-16rem}.swagger-ui .nb1-m{margin-bottom:-.25rem}.swagger-ui .nb2-m{margin-bottom:-.5rem}.swagger-ui .nb3-m{margin-bottom:-1rem}.swagger-ui .nb4-m{margin-bottom:-2rem}.swagger-ui .nb5-m{margin-bottom:-4rem}.swagger-ui .nb6-m{margin-bottom:-8rem}.swagger-ui .nb7-m{margin-bottom:-16rem}.swagger-ui .nt1-m{margin-top:-.25rem}.swagger-ui .nt2-m{margin-top:-.5rem}.swagger-ui .nt3-m{margin-top:-1rem}.swagger-ui .nt4-m{margin-top:-2rem}.swagger-ui .nt5-m{margin-top:-4rem}.swagger-ui .nt6-m{margin-top:-8rem}.swagger-ui .nt7-m{margin-top:-16rem}}@media screen and (min-width:60em){.swagger-ui .na1-l{margin:-.25rem}.swagger-ui .na2-l{margin:-.5rem}.swagger-ui .na3-l{margin:-1rem}.swagger-ui .na4-l{margin:-2rem}.swagger-ui .na5-l{margin:-4rem}.swagger-ui .na6-l{margin:-8rem}.swagger-ui .na7-l{margin:-16rem}.swagger-ui .nl1-l{margin-left:-.25rem}.swagger-ui .nl2-l{margin-left:-.5rem}.swagger-ui .nl3-l{margin-left:-1rem}.swagger-ui .nl4-l{margin-left:-2rem}.swagger-ui .nl5-l{margin-left:-4rem}.swagger-ui .nl6-l{margin-left:-8rem}.swagger-ui .nl7-l{margin-left:-16rem}.swagger-ui .nr1-l{margin-right:-.25rem}.swagger-ui .nr2-l{margin-right:-.5rem}.swagger-ui .nr3-l{margin-right:-1rem}.swagger-ui .nr4-l{margin-right:-2rem}.swagger-ui .nr5-l{margin-right:-4rem}.swagger-ui .nr6-l{margin-right:-8rem}.swagger-ui .nr7-l{margin-right:-16rem}.swagger-ui .nb1-l{margin-bottom:-.25rem}.swagger-ui .nb2-l{margin-bottom:-.5rem}.swagger-ui .nb3-l{margin-bottom:-1rem}.swagger-ui .nb4-l{margin-bottom:-2rem}.swagger-ui .nb5-l{margin-bottom:-4rem}.swagger-ui .nb6-l{margin-bottom:-8rem}.swagger-ui .nb7-l{margin-bottom:-16rem}.swagger-ui .nt1-l{margin-top:-.25rem}.swagger-ui .nt2-l{margin-top:-.5rem}.swagger-ui .nt3-l{margin-top:-1rem}.swagger-ui .nt4-l{margin-top:-2rem}.swagger-ui .nt5-l{margin-top:-4rem}.swagger-ui .nt6-l{margin-top:-8rem}.swagger-ui .nt7-l{margin-top:-16rem}}.swagger-ui .collapse{border-collapse:collapse;border-spacing:0}.swagger-ui .striped--light-silver:nth-child(odd){background-color:#aaa}.swagger-ui .striped--moon-gray:nth-child(odd){background-color:#ccc}.swagger-ui .striped--light-gray:nth-child(odd){background-color:#eee}.swagger-ui .striped--near-white:nth-child(odd){background-color:#f4f4f4}.swagger-ui .stripe-light:nth-child(odd){background-color:#ffffff1a}.swagger-ui .stripe-dark:nth-child(odd){background-color:#0000001a}.swagger-ui .strike{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .underline{-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .no-underline{-webkit-text-decoration:none;text-decoration:none}@media screen and (min-width:30em){.swagger-ui .strike-ns{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .underline-ns{-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .no-underline-ns{-webkit-text-decoration:none;text-decoration:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .strike-m{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .underline-m{-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .no-underline-m{-webkit-text-decoration:none;text-decoration:none}}@media screen and (min-width:60em){.swagger-ui .strike-l{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .underline-l{-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .no-underline-l{-webkit-text-decoration:none;text-decoration:none}}.swagger-ui .tl{text-align:left}.swagger-ui .tr{text-align:right}.swagger-ui .tc{text-align:center}.swagger-ui .tj{text-align:justify}@media screen and (min-width:30em){.swagger-ui .tl-ns{text-align:left}.swagger-ui .tr-ns{text-align:right}.swagger-ui .tc-ns{text-align:center}.swagger-ui .tj-ns{text-align:justify}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .tl-m{text-align:left}.swagger-ui .tr-m{text-align:right}.swagger-ui .tc-m{text-align:center}.swagger-ui .tj-m{text-align:justify}}@media screen and (min-width:60em){.swagger-ui .tl-l{text-align:left}.swagger-ui .tr-l{text-align:right}.swagger-ui .tc-l{text-align:center}.swagger-ui .tj-l{text-align:justify}}.swagger-ui .ttc{text-transform:capitalize}.swagger-ui .ttl{text-transform:lowercase}.swagger-ui .ttu{text-transform:uppercase}.swagger-ui .ttn{text-transform:none}@media screen and (min-width:30em){.swagger-ui .ttc-ns{text-transform:capitalize}.swagger-ui .ttl-ns{text-transform:lowercase}.swagger-ui .ttu-ns{text-transform:uppercase}.swagger-ui .ttn-ns{text-transform:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .ttc-m{text-transform:capitalize}.swagger-ui .ttl-m{text-transform:lowercase}.swagger-ui .ttu-m{text-transform:uppercase}.swagger-ui .ttn-m{text-transform:none}}@media screen and (min-width:60em){.swagger-ui .ttc-l{text-transform:capitalize}.swagger-ui .ttl-l{text-transform:lowercase}.swagger-ui .ttu-l{text-transform:uppercase}.swagger-ui .ttn-l{text-transform:none}}.swagger-ui .f-6,.swagger-ui .f-headline{font-size:6rem}.swagger-ui .f-5,.swagger-ui .f-subheadline{font-size:5rem}.swagger-ui .f1{font-size:3rem}.swagger-ui .f2{font-size:2.25rem}.swagger-ui .f3{font-size:1.5rem}.swagger-ui .f4{font-size:1.25rem}.swagger-ui .f5{font-size:1rem}.swagger-ui .f6{font-size:.875rem}.swagger-ui .f7{font-size:.75rem}@media screen and (min-width:30em){.swagger-ui .f-6-ns,.swagger-ui .f-headline-ns{font-size:6rem}.swagger-ui .f-5-ns,.swagger-ui .f-subheadline-ns{font-size:5rem}.swagger-ui .f1-ns{font-size:3rem}.swagger-ui .f2-ns{font-size:2.25rem}.swagger-ui .f3-ns{font-size:1.5rem}.swagger-ui .f4-ns{font-size:1.25rem}.swagger-ui .f5-ns{font-size:1rem}.swagger-ui .f6-ns{font-size:.875rem}.swagger-ui .f7-ns{font-size:.75rem}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .f-6-m,.swagger-ui .f-headline-m{font-size:6rem}.swagger-ui .f-5-m,.swagger-ui .f-subheadline-m{font-size:5rem}.swagger-ui .f1-m{font-size:3rem}.swagger-ui .f2-m{font-size:2.25rem}.swagger-ui .f3-m{font-size:1.5rem}.swagger-ui .f4-m{font-size:1.25rem}.swagger-ui .f5-m{font-size:1rem}.swagger-ui .f6-m{font-size:.875rem}.swagger-ui .f7-m{font-size:.75rem}}@media screen and (min-width:60em){.swagger-ui .f-6-l,.swagger-ui .f-headline-l{font-size:6rem}.swagger-ui .f-5-l,.swagger-ui .f-subheadline-l{font-size:5rem}.swagger-ui .f1-l{font-size:3rem}.swagger-ui .f2-l{font-size:2.25rem}.swagger-ui .f3-l{font-size:1.5rem}.swagger-ui .f4-l{font-size:1.25rem}.swagger-ui .f5-l{font-size:1rem}.swagger-ui .f6-l{font-size:.875rem}.swagger-ui .f7-l{font-size:.75rem}}.swagger-ui .measure{max-width:30em}.swagger-ui .measure-wide{max-width:34em}.swagger-ui .measure-narrow{max-width:20em}.swagger-ui .indent{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps{font-feature-settings:"smcp";font-variant:small-caps}.swagger-ui .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media screen and (min-width:30em){.swagger-ui .measure-ns{max-width:30em}.swagger-ui .measure-wide-ns{max-width:34em}.swagger-ui .measure-narrow-ns{max-width:20em}.swagger-ui .indent-ns{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps-ns{font-feature-settings:"smcp";font-variant:small-caps}.swagger-ui .truncate-ns{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .measure-m{max-width:30em}.swagger-ui .measure-wide-m{max-width:34em}.swagger-ui .measure-narrow-m{max-width:20em}.swagger-ui .indent-m{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps-m{font-feature-settings:"smcp";font-variant:small-caps}.swagger-ui .truncate-m{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media screen and (min-width:60em){.swagger-ui .measure-l{max-width:30em}.swagger-ui .measure-wide-l{max-width:34em}.swagger-ui .measure-narrow-l{max-width:20em}.swagger-ui .indent-l{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps-l{font-feature-settings:"smcp";font-variant:small-caps}.swagger-ui .truncate-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.swagger-ui .overflow-container{overflow-y:scroll}.swagger-ui .center{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto{margin-right:auto}.swagger-ui .ml-auto{margin-left:auto}@media screen and (min-width:30em){.swagger-ui .center-ns{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto-ns{margin-right:auto}.swagger-ui .ml-auto-ns{margin-left:auto}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .center-m{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto-m{margin-right:auto}.swagger-ui .ml-auto-m{margin-left:auto}}@media screen and (min-width:60em){.swagger-ui .center-l{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto-l{margin-right:auto}.swagger-ui .ml-auto-l{margin-left:auto}}.swagger-ui .clip{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}@media screen and (min-width:30em){.swagger-ui .clip-ns{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .clip-m{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}@media screen and (min-width:60em){.swagger-ui .clip-l{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}.swagger-ui .ws-normal{white-space:normal}.swagger-ui .nowrap{white-space:nowrap}.swagger-ui .pre{white-space:pre}@media screen and (min-width:30em){.swagger-ui .ws-normal-ns{white-space:normal}.swagger-ui .nowrap-ns{white-space:nowrap}.swagger-ui .pre-ns{white-space:pre}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .ws-normal-m{white-space:normal}.swagger-ui .nowrap-m{white-space:nowrap}.swagger-ui .pre-m{white-space:pre}}@media screen and (min-width:60em){.swagger-ui .ws-normal-l{white-space:normal}.swagger-ui .nowrap-l{white-space:nowrap}.swagger-ui .pre-l{white-space:pre}}.swagger-ui .v-base{vertical-align:baseline}.swagger-ui .v-mid{vertical-align:middle}.swagger-ui .v-top{vertical-align:top}.swagger-ui .v-btm{vertical-align:bottom}@media screen and (min-width:30em){.swagger-ui .v-base-ns{vertical-align:baseline}.swagger-ui .v-mid-ns{vertical-align:middle}.swagger-ui .v-top-ns{vertical-align:top}.swagger-ui .v-btm-ns{vertical-align:bottom}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .v-base-m{vertical-align:baseline}.swagger-ui .v-mid-m{vertical-align:middle}.swagger-ui .v-top-m{vertical-align:top}.swagger-ui .v-btm-m{vertical-align:bottom}}@media screen and (min-width:60em){.swagger-ui .v-base-l{vertical-align:baseline}.swagger-ui .v-mid-l{vertical-align:middle}.swagger-ui .v-top-l{vertical-align:top}.swagger-ui .v-btm-l{vertical-align:bottom}}.swagger-ui .dim{opacity:1;transition:opacity .15s ease-in}.swagger-ui .dim:focus,.swagger-ui .dim:hover{opacity:.5;transition:opacity .15s ease-in}.swagger-ui .dim:active{opacity:.8;transition:opacity .15s ease-out}.swagger-ui .glow{transition:opacity .15s ease-in}.swagger-ui .glow:focus,.swagger-ui .glow:hover{opacity:1;transition:opacity .15s ease-in}.swagger-ui .hide-child .child{opacity:0;transition:opacity .15s ease-in}.swagger-ui .hide-child:active .child,.swagger-ui .hide-child:focus .child,.swagger-ui .hide-child:hover .child{opacity:1;transition:opacity .15s ease-in}.swagger-ui .underline-hover:focus,.swagger-ui .underline-hover:hover{-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .grow{-moz-osx-font-smoothing:grayscale;backface-visibility:hidden;transform:translateZ(0);transition:transform .25s ease-out}.swagger-ui .grow:focus,.swagger-ui .grow:hover{transform:scale(1.05)}.swagger-ui .grow:active{transform:scale(.9)}.swagger-ui .grow-large{-moz-osx-font-smoothing:grayscale;backface-visibility:hidden;transform:translateZ(0);transition:transform .25s ease-in-out}.swagger-ui .grow-large:focus,.swagger-ui .grow-large:hover{transform:scale(1.2)}.swagger-ui .grow-large:active{transform:scale(.95)}.swagger-ui .pointer:hover{cursor:pointer}.swagger-ui .shadow-hover{cursor:pointer;position:relative;transition:all .5s cubic-bezier(.165,.84,.44,1)}.swagger-ui .shadow-hover:after{border-radius:inherit;box-shadow:0 0 16px 2px #0003;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .5s cubic-bezier(.165,.84,.44,1);width:100%;z-index:-1}.swagger-ui .shadow-hover:focus:after,.swagger-ui .shadow-hover:hover:after{opacity:1}.swagger-ui .bg-animate,.swagger-ui .bg-animate:focus,.swagger-ui .bg-animate:hover{transition:background-color .15s ease-in-out}.swagger-ui .z-0{z-index:0}.swagger-ui .z-1{z-index:1}.swagger-ui .z-2{z-index:2}.swagger-ui .z-3{z-index:3}.swagger-ui .z-4{z-index:4}.swagger-ui .z-5{z-index:5}.swagger-ui .z-999{z-index:999}.swagger-ui .z-9999{z-index:9999}.swagger-ui .z-max{z-index:2147483647}.swagger-ui .z-inherit{z-index:inherit}.swagger-ui .z-initial,.swagger-ui .z-unset{z-index:auto}.swagger-ui .nested-copy-line-height ol,.swagger-ui .nested-copy-line-height p,.swagger-ui .nested-copy-line-height ul{line-height:1.5}.swagger-ui .nested-headline-line-height h1,.swagger-ui .nested-headline-line-height h2,.swagger-ui .nested-headline-line-height h3,.swagger-ui .nested-headline-line-height h4,.swagger-ui .nested-headline-line-height h5,.swagger-ui .nested-headline-line-height h6{line-height:1.25}.swagger-ui .nested-list-reset ol,.swagger-ui .nested-list-reset ul{list-style-type:none;margin-left:0;padding-left:0}.swagger-ui .nested-copy-indent p+p{margin-bottom:0;margin-top:0;text-indent:.1em}.swagger-ui .nested-copy-seperator p+p{margin-top:1.5em}.swagger-ui .nested-img img{display:block;max-width:100%;width:100%}.swagger-ui .nested-links a{color:#357edd;transition:color .15s ease-in}.swagger-ui .nested-links a:focus,.swagger-ui .nested-links a:hover{color:#96ccff;transition:color .15s ease-in}.swagger-ui .wrapper{box-sizing:border-box;margin:0 auto;max-width:1460px;padding:0 20px;width:100%}.swagger-ui .opblock-tag-section{display:flex;flex-direction:column}.swagger-ui .try-out.btn-group{display:flex;flex:.1 2 auto;padding:0}.swagger-ui .try-out__btn{margin-left:1.25rem}.swagger-ui .opblock-tag{align-items:center;border-bottom:1px solid rgba(59,65,81,.3);cursor:pointer;display:flex;padding:10px 20px 10px 10px;transition:all .2s}.swagger-ui .opblock-tag:hover{background:#00000005}.swagger-ui .opblock-tag{color:#3b4151;font-family:sans-serif;font-size:24px;margin:0 0 5px}.swagger-ui .opblock-tag.no-desc span{flex:1}.swagger-ui .opblock-tag svg{transition:all .4s}.swagger-ui .opblock-tag small{color:#3b4151;flex:2;font-family:sans-serif;font-size:14px;font-weight:400;padding:0 10px}.swagger-ui .opblock-tag>div{flex:1 1 150px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:640px){.swagger-ui .opblock-tag small,.swagger-ui .opblock-tag>div{flex:1}}.swagger-ui .opblock-tag .info__externaldocs{text-align:right}.swagger-ui .parameter__type{color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;padding:5px 0}.swagger-ui .parameter-controls{margin-top:.75em}.swagger-ui .examples__title{display:block;font-size:1.1em;font-weight:700;margin-bottom:.75em}.swagger-ui .examples__section{margin-top:1.5em}.swagger-ui .examples__section-header{font-size:.9rem;font-weight:700;margin-bottom:.5rem}.swagger-ui .examples-select{display:inline-block;margin-bottom:.75em}.swagger-ui .examples-select .examples-select-element{width:100%}.swagger-ui .examples-select__section-label{font-size:.9rem;font-weight:700;margin-right:.5rem}.swagger-ui .example__section{margin-top:1.5em}.swagger-ui .example__section-header{font-size:.9rem;font-weight:700;margin-bottom:.5rem}.swagger-ui .view-line-link{cursor:pointer;margin:0 5px;position:relative;top:3px;transition:all .5s;width:20px}.swagger-ui .opblock{border:1px solid #000;border-radius:4px;box-shadow:0 0 3px #00000030;margin:0 0 15px}.swagger-ui .opblock .tab-header{display:flex;flex:1}.swagger-ui .opblock .tab-header .tab-item{cursor:pointer;padding:0 40px}.swagger-ui .opblock .tab-header .tab-item:first-of-type{padding:0 40px 0 0}.swagger-ui .opblock .tab-header .tab-item.active h4 span{position:relative}.swagger-ui .opblock .tab-header .tab-item.active h4 span:after{background:gray;bottom:-15px;content:"";height:4px;left:50%;position:absolute;transform:translate(-50%);width:120%}.swagger-ui .opblock.is-open .opblock-summary{border-bottom:1px solid #000}.swagger-ui .opblock .opblock-section-header{align-items:center;background:#fffc;box-shadow:0 1px 2px #0000001a;display:flex;min-height:50px;padding:8px 20px}.swagger-ui .opblock .opblock-section-header>label{align-items:center;color:#3b4151;display:flex;font-family:sans-serif;font-size:12px;font-weight:700;margin:0 0 0 auto}.swagger-ui .opblock .opblock-section-header>label>span{padding:0 10px 0 0}.swagger-ui .opblock .opblock-section-header h4{color:#3b4151;flex:1;font-family:sans-serif;font-size:14px;margin:0}.swagger-ui .opblock .opblock-summary-method{background:#000;border-radius:3px;color:#fff;font-family:sans-serif;font-size:14px;font-weight:700;min-width:80px;padding:6px 0;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.1)}@media (max-width:768px){.swagger-ui .opblock .opblock-summary-method{font-size:12px}}.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{align-items:center;color:#3b4151;display:flex;font-family:monospace;font-size:16px;font-weight:600;word-break:break-word}@media (max-width:768px){.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{font-size:12px}}.swagger-ui .opblock .opblock-summary-path{flex-shrink:1}@media (max-width:640px){.swagger-ui .opblock .opblock-summary-path{max-width:100%}}.swagger-ui .opblock .opblock-summary-path__deprecated{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .opblock .opblock-summary-operation-id{font-size:14px}.swagger-ui .opblock .opblock-summary-description{color:#3b4151;font-family:sans-serif;font-size:13px;word-break:break-word}.swagger-ui .opblock .opblock-summary-path-description-wrapper{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:0 10px;padding:0 10px;width:100%}@media (max-width:550px){.swagger-ui .opblock .opblock-summary-path-description-wrapper{align-items:flex-start;flex-direction:column}}.swagger-ui .opblock .opblock-summary{align-items:center;cursor:pointer;display:flex;padding:5px}.swagger-ui .opblock .opblock-summary .view-line-link{cursor:pointer;margin:0;position:relative;top:2px;transition:all .5s;width:0}.swagger-ui .opblock .opblock-summary:hover .view-line-link{margin:0 5px;width:18px}.swagger-ui .opblock .opblock-summary:hover .view-line-link.copy-to-clipboard{width:24px}.swagger-ui .opblock.opblock-post{background:#49cc901a;border-color:#49cc90}.swagger-ui .opblock.opblock-post .opblock-summary-method{background:#49cc90}.swagger-ui .opblock.opblock-post .opblock-summary{border-color:#49cc90}.swagger-ui .opblock.opblock-post .tab-header .tab-item.active h4 span:after{background:#49cc90}.swagger-ui .opblock.opblock-put{background:#fca1301a;border-color:#fca130}.swagger-ui .opblock.opblock-put .opblock-summary-method{background:#fca130}.swagger-ui .opblock.opblock-put .opblock-summary{border-color:#fca130}.swagger-ui .opblock.opblock-put .tab-header .tab-item.active h4 span:after{background:#fca130}.swagger-ui .opblock.opblock-delete{background:#f93e3e1a;border-color:#f93e3e}.swagger-ui .opblock.opblock-delete .opblock-summary-method{background:#f93e3e}.swagger-ui .opblock.opblock-delete .opblock-summary{border-color:#f93e3e}.swagger-ui .opblock.opblock-delete .tab-header .tab-item.active h4 span:after{background:#f93e3e}.swagger-ui .opblock.opblock-get{background:#61affe1a;border-color:#61affe}.swagger-ui .opblock.opblock-get .opblock-summary-method{background:#61affe}.swagger-ui .opblock.opblock-get .opblock-summary{border-color:#61affe}.swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span:after{background:#61affe}.swagger-ui .opblock.opblock-patch{background:#50e3c21a;border-color:#50e3c2}.swagger-ui .opblock.opblock-patch .opblock-summary-method{background:#50e3c2}.swagger-ui .opblock.opblock-patch .opblock-summary{border-color:#50e3c2}.swagger-ui .opblock.opblock-patch .tab-header .tab-item.active h4 span:after{background:#50e3c2}.swagger-ui .opblock.opblock-head{background:#9012fe1a;border-color:#9012fe}.swagger-ui .opblock.opblock-head .opblock-summary-method{background:#9012fe}.swagger-ui .opblock.opblock-head .opblock-summary{border-color:#9012fe}.swagger-ui .opblock.opblock-head .tab-header .tab-item.active h4 span:after{background:#9012fe}.swagger-ui .opblock.opblock-options{background:#0d5aa71a;border-color:#0d5aa7}.swagger-ui .opblock.opblock-options .opblock-summary-method{background:#0d5aa7}.swagger-ui .opblock.opblock-options .opblock-summary{border-color:#0d5aa7}.swagger-ui .opblock.opblock-options .tab-header .tab-item.active h4 span:after{background:#0d5aa7}.swagger-ui .opblock.opblock-deprecated{background:#ebebeb1a;border-color:#ebebeb;opacity:.6}.swagger-ui .opblock.opblock-deprecated .opblock-summary-method{background:#ebebeb}.swagger-ui .opblock.opblock-deprecated .opblock-summary{border-color:#ebebeb}.swagger-ui .opblock.opblock-deprecated .tab-header .tab-item.active h4 span:after{background:#ebebeb}.swagger-ui .opblock .opblock-schemes{padding:8px 20px}.swagger-ui .opblock .opblock-schemes .schemes-title{padding:0 10px 0 0}.swagger-ui .filter .operation-filter-input{border:2px solid #d8dde7;margin:20px 0;padding:10px;width:100%}.swagger-ui .download-url-wrapper .failed,.swagger-ui .filter .failed{color:red}.swagger-ui .download-url-wrapper .loading,.swagger-ui .filter .loading{color:#aaa}.swagger-ui .model-example{margin-top:1em}.swagger-ui .tab{display:flex;list-style:none;padding:0}.swagger-ui .tab li{color:#3b4151;cursor:pointer;font-family:sans-serif;font-size:12px;min-width:60px;padding:0}.swagger-ui .tab li:first-of-type{padding-left:0;padding-right:12px;position:relative}.swagger-ui .tab li:first-of-type:after{background:#0003;content:"";height:100%;position:absolute;right:6px;top:0;width:1px}.swagger-ui .tab li.active{font-weight:700}.swagger-ui .tab li button.tablinks{background:none;border:0;color:inherit;font-family:inherit;font-weight:inherit;padding:0}.swagger-ui .opblock-description-wrapper,.swagger-ui .opblock-external-docs-wrapper,.swagger-ui .opblock-title_normal{color:#3b4151;font-family:sans-serif;font-size:12px;margin:0 0 5px;padding:15px 20px}.swagger-ui .opblock-description-wrapper h4,.swagger-ui .opblock-external-docs-wrapper h4,.swagger-ui .opblock-title_normal h4{color:#3b4151;font-family:sans-serif;font-size:12px;margin:0 0 5px}.swagger-ui .opblock-description-wrapper p,.swagger-ui .opblock-external-docs-wrapper p,.swagger-ui .opblock-title_normal p{color:#3b4151;font-family:sans-serif;font-size:14px;margin:0}.swagger-ui .opblock-external-docs-wrapper h4{padding-left:0}.swagger-ui .execute-wrapper{padding:20px;text-align:right}.swagger-ui .execute-wrapper .btn{padding:8px 40px;width:100%}.swagger-ui .body-param-options{display:flex;flex-direction:column}.swagger-ui .body-param-options .body-param-edit{padding:10px 0}.swagger-ui .body-param-options label{padding:8px 0}.swagger-ui .body-param-options label select{margin:3px 0 0}.swagger-ui .responses-inner{padding:20px}.swagger-ui .responses-inner h4,.swagger-ui .responses-inner h5{color:#3b4151;font-family:sans-serif;font-size:12px;margin:10px 0 5px}.swagger-ui .responses-inner .curl{max-height:400px;min-height:6em;overflow-y:auto}.swagger-ui .response-col_status{color:#3b4151;font-family:sans-serif;font-size:14px}.swagger-ui .response-col_status .response-undocumented{color:#909090;font-family:monospace;font-size:11px;font-weight:600}.swagger-ui .response-col_links{color:#3b4151;font-family:sans-serif;font-size:14px;max-width:40em;padding-left:2em}.swagger-ui .response-col_links .response-undocumented{color:#909090;font-family:monospace;font-size:11px;font-weight:600}.swagger-ui .response-col_links .operation-link{margin-bottom:1.5em}.swagger-ui .response-col_links .operation-link .description{margin-bottom:.5em}.swagger-ui .opblock-body .opblock-loading-animation{display:block;margin:3em auto}.swagger-ui .opblock-body pre.microlight{background:#333;border-radius:4px;font-size:12px;-webkit-hyphens:auto;hyphens:auto;margin:0;padding:10px;white-space:pre-wrap;word-break:break-all;word-break:break-word;word-wrap:break-word;color:#fff;font-family:monospace;font-weight:600}.swagger-ui .opblock-body pre.microlight .headerline{display:block}.swagger-ui .highlight-code{position:relative}.swagger-ui .highlight-code>.microlight{max-height:400px;min-height:6em;overflow-y:auto}.swagger-ui .highlight-code>.microlight code{white-space:pre-wrap!important;word-break:break-all}.swagger-ui .curl-command{position:relative}.swagger-ui .download-contents{align-items:center;background:#7d8293;border:none;border-radius:4px;bottom:10px;color:#fff;display:flex;font-family:sans-serif;font-size:14px;font-weight:600;height:30px;justify-content:center;padding:5px;position:absolute;right:10px;text-align:center}.swagger-ui .scheme-container{background:#fff;box-shadow:0 1px 2px #00000026;margin:0 0 20px;padding:30px 0}.swagger-ui .scheme-container .schemes{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.swagger-ui .scheme-container .schemes>.schemes-server-container{display:flex;flex-wrap:wrap;gap:10px}.swagger-ui .scheme-container .schemes>.schemes-server-container>label{color:#3b4151;display:flex;flex-direction:column;font-family:sans-serif;font-size:12px;font-weight:700;margin:-20px 15px 0 0}.swagger-ui .scheme-container .schemes>.schemes-server-container>label select{min-width:130px;text-transform:uppercase}.swagger-ui .scheme-container .schemes:not(:has(.schemes-server-container)){justify-content:flex-end}.swagger-ui .scheme-container .schemes .auth-wrapper{flex:none;justify-content:start}.swagger-ui .scheme-container .schemes .auth-wrapper .authorize{display:flex;flex-wrap:nowrap;margin:0;padding-right:20px}.swagger-ui .loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-top:1em;min-height:1px;padding:40px 0 60px}.swagger-ui .loading-container .loading{position:relative}.swagger-ui .loading-container .loading:after{color:#3b4151;content:"loading";font-family:sans-serif;font-size:10px;font-weight:700;left:50%;position:absolute;text-transform:uppercase;top:50%;transform:translate(-50%,-50%)}.swagger-ui .loading-container .loading:before{animation:rotation 1s linear infinite,opacity .5s;backface-visibility:hidden;border:2px solid rgba(85,85,85,.1);border-radius:100%;border-top-color:#0009;content:"";display:block;height:60px;left:50%;margin:-30px;opacity:1;position:absolute;top:50%;width:60px}@keyframes rotation{to{transform:rotate(1turn)}}.swagger-ui .response-controls{display:flex;padding-top:1em}.swagger-ui .response-control-media-type{margin-right:1em}.swagger-ui .response-control-media-type--accept-controller select{border-color:green}.swagger-ui .response-control-media-type__accept-message{color:green;font-size:.7em}.swagger-ui .response-control-examples__title,.swagger-ui .response-control-media-type__title{display:block;font-size:.7em;margin-bottom:.2em}@keyframes blinker{50%{opacity:0}}.swagger-ui .hidden{display:none}.swagger-ui .no-margin{border:none;height:auto;margin:0;padding:0}.swagger-ui .float-right{float:right}.swagger-ui .svg-assets{height:0;position:absolute;width:0}.swagger-ui section h3{color:#3b4151;font-family:sans-serif}.swagger-ui a.nostyle{display:inline}.swagger-ui a.nostyle,.swagger-ui a.nostyle:visited{color:inherit;cursor:pointer;text-decoration:inherit}.swagger-ui .fallback{color:#aaa;padding:1em}.swagger-ui .version-pragma{height:100%;padding:5em 0}.swagger-ui .version-pragma__message{display:flex;font-size:1.2em;height:100%;justify-content:center;line-height:1.5em;padding:0 .6em;text-align:center}.swagger-ui .version-pragma__message>div{flex:1;max-width:55ch}.swagger-ui .version-pragma__message code{background-color:#dedede;padding:4px 4px 2px;white-space:pre}.swagger-ui .opblock-link{font-weight:400}.swagger-ui .opblock-link.shown{font-weight:700}.swagger-ui span.token-string{color:#555}.swagger-ui span.token-not-formatted{color:#555;font-weight:700}.swagger-ui .btn{background:transparent;border:2px solid gray;border-radius:4px;box-shadow:0 1px 2px #0000001a;color:#3b4151;font-family:sans-serif;font-size:14px;font-weight:700;padding:5px 23px;transition:all .3s}.swagger-ui .btn.btn-sm{font-size:12px;padding:4px 23px}.swagger-ui .btn[disabled]{cursor:not-allowed;opacity:.3}.swagger-ui .btn:hover{box-shadow:0 0 5px #0000004d}.swagger-ui .btn.cancel{background-color:transparent;border-color:#ff6060;color:#ff6060;font-family:sans-serif}.swagger-ui .btn.authorize{background-color:transparent;border-color:#49cc90;color:#49cc90;display:inline;line-height:1}.swagger-ui .btn.authorize span{float:left;padding:4px 20px 0 0}.swagger-ui .btn.authorize svg{fill:#49cc90}.swagger-ui .btn.execute{background-color:#4990e2;border-color:#4990e2;color:#fff}.swagger-ui .btn-group{display:flex;padding:30px}.swagger-ui .btn-group .btn{flex:1}.swagger-ui .btn-group .btn:first-child{border-radius:4px 0 0 4px}.swagger-ui .btn-group .btn:last-child{border-radius:0 4px 4px 0}.swagger-ui .authorization__btn{background:none;border:none;padding:0 0 0 10px}.swagger-ui .authorization__btn .locked{opacity:1}.swagger-ui .authorization__btn .unlocked{opacity:.4}.swagger-ui .model-box-control,.swagger-ui .models-control,.swagger-ui .opblock-summary-control{all:inherit;border-bottom:0;cursor:pointer;flex:1;padding:0}.swagger-ui .model-box-control:focus,.swagger-ui .models-control:focus,.swagger-ui .opblock-summary-control:focus{outline:auto}.swagger-ui .expand-methods,.swagger-ui .expand-operation{background:none;border:none}.swagger-ui .expand-methods svg,.swagger-ui .expand-operation svg{height:20px;width:20px}.swagger-ui .expand-methods{padding:0 10px}.swagger-ui .expand-methods:hover svg{fill:#404040}.swagger-ui .expand-methods svg{transition:all .3s;fill:#707070}.swagger-ui button{cursor:pointer}.swagger-ui button.invalid{animation:shake .4s 1;background:#feebeb;border-color:#f93e3e}.swagger-ui .copy-to-clipboard{align-items:center;background:#7d8293;border:none;border-radius:4px;bottom:10px;display:flex;height:30px;justify-content:center;position:absolute;right:100px;width:30px}.swagger-ui .copy-to-clipboard button{background:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;border:none;flex-grow:1;flex-shrink:1;height:25px}.swagger-ui .copy-to-clipboard:active{background:#5e626f}.swagger-ui .opblock-control-arrow{background:none;border:none;text-align:center}.swagger-ui .curl-command .copy-to-clipboard{bottom:5px;height:20px;right:10px;width:20px}.swagger-ui .curl-command .copy-to-clipboard button{height:18px}.swagger-ui .opblock .opblock-summary .view-line-link.copy-to-clipboard{height:26px;position:static}.swagger-ui select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#f7f7f7 url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat;background-size:20px;border:2px solid #41444e;border-radius:4px;box-shadow:0 1px 2px #00000040;color:#3b4151;font-family:sans-serif;font-size:14px;font-weight:700;padding:5px 40px 5px 10px}.swagger-ui select[multiple]{background:#f7f7f7;margin:5px 0;padding:5px}.swagger-ui select.invalid{animation:shake .4s 1;background:#feebeb;border-color:#f93e3e}.swagger-ui .opblock-body select{min-width:230px}@media (max-width:768px){.swagger-ui .opblock-body select{min-width:180px}}@media (max-width:640px){.swagger-ui .opblock-body select{min-width:100%;width:100%}}.swagger-ui label{color:#3b4151;font-family:sans-serif;font-size:12px;font-weight:700;margin:0 0 5px}.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text]{line-height:1}@media (max-width:768px){.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text]{max-width:175px}}.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text],.swagger-ui textarea{background:#fff;border:1px solid #d9d9d9;border-radius:4px;margin:5px 0;min-width:100px;padding:8px 10px}.swagger-ui input[type=email].invalid,.swagger-ui input[type=file].invalid,.swagger-ui input[type=password].invalid,.swagger-ui input[type=search].invalid,.swagger-ui input[type=text].invalid,.swagger-ui textarea.invalid{animation:shake .4s 1;background:#feebeb;border-color:#f93e3e}.swagger-ui input[disabled],.swagger-ui select[disabled],.swagger-ui textarea[disabled]{background-color:#fafafa;color:#888;cursor:not-allowed}.swagger-ui select[disabled]{border-color:#888}.swagger-ui textarea[disabled]{background-color:#41444e;color:#fff}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.swagger-ui textarea{background:#fffc;border:none;border-radius:4px;color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;min-height:280px;outline:none;padding:10px;width:100%}.swagger-ui textarea:focus{border:2px solid #61affe}.swagger-ui textarea.curl{background:#41444e;border-radius:4px;color:#fff;font-family:monospace;font-size:12px;font-weight:600;margin:0;min-height:100px;padding:10px;resize:none}.swagger-ui .checkbox{color:#303030;padding:5px 0 10px;transition:opacity .5s}.swagger-ui .checkbox label{display:flex}.swagger-ui .checkbox p{color:#3b4151;font-family:monospace;font-style:italic;font-weight:600;margin:0!important}.swagger-ui .checkbox input[type=checkbox]{display:none}.swagger-ui .checkbox input[type=checkbox]+label>.item{background:#e8e8e8;border-radius:1px;box-shadow:0 0 0 2px #e8e8e8;cursor:pointer;display:inline-block;flex:none;height:16px;margin:0 8px 0 0;padding:5px;position:relative;top:3px;width:16px}.swagger-ui .checkbox input[type=checkbox]+label>.item:active{transform:scale(.9)}.swagger-ui .checkbox input[type=checkbox]:checked+label>.item{background:#e8e8e8 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat}.swagger-ui .dialog-ux{inset:0;position:fixed;z-index:9999}.swagger-ui .dialog-ux .backdrop-ux{background:#000c;inset:0;position:fixed}.swagger-ui .dialog-ux .modal-ux{background:#fff;border:1px solid #ebebeb;border-radius:4px;box-shadow:0 10px 30px #0003;left:50%;max-width:650px;min-width:300px;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%;z-index:9999}.swagger-ui .dialog-ux .modal-ux-content{max-height:540px;overflow-y:auto;padding:20px}.swagger-ui .dialog-ux .modal-ux-content p{color:#41444e;color:#3b4151;font-family:sans-serif;font-size:12px;margin:0 0 5px}.swagger-ui .dialog-ux .modal-ux-content h4{color:#3b4151;font-family:sans-serif;font-size:18px;font-weight:600;margin:15px 0 0}.swagger-ui .dialog-ux .modal-ux-header{align-items:center;border-bottom:1px solid #ebebeb;display:flex;padding:12px 0}.swagger-ui .dialog-ux .modal-ux-header .close-modal{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0 10px}.swagger-ui .dialog-ux .modal-ux-header h3{color:#3b4151;flex:1;font-family:sans-serif;font-size:20px;font-weight:600;margin:0;padding:0 20px}.swagger-ui .model{color:#3b4151;font-family:monospace;font-size:12px;font-weight:600}.swagger-ui .model .deprecated span,.swagger-ui .model .deprecated td{color:#a0a0a0!important}.swagger-ui .model .deprecated>td:first-of-type{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .model-toggle{cursor:pointer;display:inline-block;font-size:10px;margin:auto .3em;position:relative;top:6px;transform:rotate(90deg);transform-origin:50% 50%;transition:transform .15s ease-in}.swagger-ui .model-toggle.collapsed{transform:rotate(0)}.swagger-ui .model-toggle:after{background:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;background-size:100%;content:"";display:block;height:20px;width:20px}.swagger-ui .model-jump-to-path{cursor:pointer;position:relative}.swagger-ui .model-jump-to-path .view-line-link{cursor:pointer;position:absolute;top:-.4em}.swagger-ui .model-title{position:relative}.swagger-ui .model-title:hover .model-hint{visibility:visible}.swagger-ui .model-hint{background:#000000b3;border-radius:4px;color:#ebebeb;padding:.1em .5em;position:absolute;top:-1.8em;visibility:hidden;white-space:nowrap}.swagger-ui .model p{margin:0 0 1em}.swagger-ui .model .property{color:#999;font-style:italic}.swagger-ui .model .property.primitive{color:#6b6b6b}.swagger-ui .model .external-docs,.swagger-ui table.model tr.description{color:#666;font-weight:400}.swagger-ui table.model tr.description td:first-child,.swagger-ui table.model tr.property-row.required td:first-child{font-weight:700}.swagger-ui table.model tr.property-row td{vertical-align:top}.swagger-ui table.model tr.property-row td:first-child{padding-right:.2em}.swagger-ui table.model tr.property-row .star{color:red}.swagger-ui table.model tr.extension{color:#777}.swagger-ui table.model tr.extension td:last-child{vertical-align:top}.swagger-ui table.model tr.external-docs td:first-child{font-weight:700}.swagger-ui table.model tr .renderedMarkdown p:first-child{margin-top:0}.swagger-ui section.models{border:1px solid rgba(59,65,81,.3);border-radius:4px;margin:30px 0}.swagger-ui section.models .pointer{cursor:pointer}.swagger-ui section.models.is-open{padding:0 0 20px}.swagger-ui section.models.is-open h4{border-bottom:1px solid rgba(59,65,81,.3);margin:0 0 5px}.swagger-ui section.models h4{align-items:center;color:#606060;cursor:pointer;display:flex;font-family:sans-serif;font-size:16px;margin:0;padding:10px 20px 10px 10px;transition:all .2s}.swagger-ui section.models h4 svg{transition:all .4s}.swagger-ui section.models h4 span{flex:1}.swagger-ui section.models h4:hover{background:#00000005}.swagger-ui section.models h5{color:#707070;font-family:sans-serif;font-size:16px;margin:0 0 10px}.swagger-ui section.models .model-jump-to-path{position:relative;top:5px}.swagger-ui section.models .model-container{background:#0000000d;border-radius:4px;margin:0 20px 15px;position:relative;transition:all .5s}.swagger-ui section.models .model-container:hover{background:#00000012}.swagger-ui section.models .model-container:first-of-type{margin:20px}.swagger-ui section.models .model-container:last-of-type{margin:0 20px}.swagger-ui section.models .model-container .models-jump-to-path{opacity:.65;position:absolute;right:5px;top:8px}.swagger-ui section.models .model-box{background:none}.swagger-ui .model-box{background:#0000001a;border-radius:4px;display:inline-block;padding:10px}.swagger-ui .model-box .model-jump-to-path{position:relative;top:4px}.swagger-ui .model-box.deprecated{opacity:.5}.swagger-ui .model-title{color:#505050;font-family:sans-serif;font-size:16px}.swagger-ui .model-title img{bottom:0;margin-left:1em;position:relative}.swagger-ui .model-deprecated-warning{color:#f93e3e;font-family:sans-serif;font-size:16px;font-weight:600;margin-right:1em}.swagger-ui span>span.model .brace-close{padding:0 0 0 10px}.swagger-ui .prop-name{display:inline-block;margin-right:1em}.swagger-ui .prop-type{color:#55a}.swagger-ui .prop-enum{display:block}.swagger-ui .prop-format{color:#606060}.swagger-ui .servers>label{color:#3b4151;font-family:sans-serif;font-size:12px;margin:-20px 15px 0 0}.swagger-ui .servers>label select{max-width:100%;min-width:130px;width:100%}.swagger-ui .servers h4.message{padding-bottom:2em}.swagger-ui .servers table tr{width:30em}.swagger-ui .servers table td{display:inline-block;max-width:15em;padding-bottom:10px;padding-top:10px;vertical-align:middle}.swagger-ui .servers table td:first-of-type{padding-right:1em}.swagger-ui .servers table td input{height:100%;width:100%}.swagger-ui .servers .computed-url{margin:2em 0}.swagger-ui .servers .computed-url code{display:inline-block;font-size:16px;margin:0 1em;padding:4px}.swagger-ui .servers-title{font-size:12px;font-weight:700}.swagger-ui .operation-servers h4.message{margin-bottom:2em}.swagger-ui table{border-collapse:collapse;padding:0 10px;width:100%}.swagger-ui table.model tbody tr td{padding:0;vertical-align:top}.swagger-ui table.model tbody tr td:first-of-type{padding:0 0 0 2em;width:174px}.swagger-ui table.headers td{color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;vertical-align:middle}.swagger-ui table.headers .header-example{color:#999;font-style:italic}.swagger-ui table tbody tr td{padding:10px 0 0;vertical-align:top}.swagger-ui table tbody tr td:first-of-type{min-width:6em;padding:10px 0}.swagger-ui table thead tr td,.swagger-ui table thead tr th{border-bottom:1px solid rgba(59,65,81,.2);color:#3b4151;font-family:sans-serif;font-size:12px;font-weight:700;padding:12px 0;text-align:left}.swagger-ui .parameters-col_description{margin-bottom:2em;width:99%}.swagger-ui .parameters-col_description input{max-width:340px;width:100%}.swagger-ui .parameters-col_description select{border-width:1px}.swagger-ui .parameters-col_description .markdown p,.swagger-ui .parameters-col_description .renderedMarkdown p{margin:0}.swagger-ui .parameter__name{color:#3b4151;font-family:sans-serif;font-size:16px;font-weight:400;margin-right:.75em}.swagger-ui .parameter__name.required{font-weight:700}.swagger-ui .parameter__name.required span{color:red}.swagger-ui .parameter__name.required:after{color:#f009;content:"required";font-size:10px;padding:5px;position:relative;top:-6px}.swagger-ui .parameter__extension,.swagger-ui .parameter__in{color:gray;font-family:monospace;font-size:12px;font-style:italic;font-weight:600}.swagger-ui .parameter__deprecated{color:red;font-family:monospace;font-size:12px;font-style:italic;font-weight:600}.swagger-ui .parameter__empty_value_toggle{display:block;font-size:13px;padding-bottom:12px;padding-top:5px}.swagger-ui .parameter__empty_value_toggle input{margin-right:7px;width:auto}.swagger-ui .parameter__empty_value_toggle.disabled{opacity:.7}.swagger-ui .table-container{padding:20px}.swagger-ui .response-col_description{width:99%}.swagger-ui .response-col_description .markdown p,.swagger-ui .response-col_description .renderedMarkdown p{margin:0}.swagger-ui .response-col_links{min-width:6em}.swagger-ui .response__extension{color:gray;font-family:monospace;font-size:12px;font-style:italic;font-weight:600}.swagger-ui .topbar{background-color:#1b1b1b;padding:10px 0}.swagger-ui .topbar .topbar-wrapper{align-items:center;display:flex;flex-wrap:wrap;gap:10px}@media (max-width:550px){.swagger-ui .topbar .topbar-wrapper{align-items:start;flex-direction:column}}.swagger-ui .topbar a{align-items:center;color:#fff;display:flex;flex:1;font-family:sans-serif;font-size:1.5em;font-weight:700;max-width:300px;-webkit-text-decoration:none;text-decoration:none}.swagger-ui .topbar a span{margin:0;padding:0 10px}.swagger-ui .topbar .download-url-wrapper{display:flex;flex:3;justify-content:flex-end}.swagger-ui .topbar .download-url-wrapper input[type=text]{border:2px solid #62a03f;border-radius:4px 0 0 4px;margin:0;max-width:100%;outline:none;width:100%}.swagger-ui .topbar .download-url-wrapper .select-label{align-items:center;color:#f0f0f0;display:flex;margin:0;max-width:600px;width:100%}.swagger-ui .topbar .download-url-wrapper .select-label span{flex:1;font-size:16px;padding:0 10px 0 0;text-align:right}.swagger-ui .topbar .download-url-wrapper .select-label select{border:2px solid #62a03f;box-shadow:none;flex:2;outline:none;width:100%}.swagger-ui .topbar .download-url-wrapper .download-url-button{background:#62a03f;border:none;border-radius:0 4px 4px 0;color:#fff;font-family:sans-serif;font-size:16px;font-weight:700;padding:4px 30px}@media (max-width:550px){.swagger-ui .topbar .download-url-wrapper{width:100%}}.swagger-ui .info{margin:50px 0}.swagger-ui .info.failed-config{margin-left:auto;margin-right:auto;max-width:880px;text-align:center}.swagger-ui .info hgroup.main{margin:0 0 20px}.swagger-ui .info hgroup.main a{font-size:12px}.swagger-ui .info pre{font-size:14px}.swagger-ui .info li,.swagger-ui .info p,.swagger-ui .info table{color:#3b4151;font-family:sans-serif;font-size:14px}.swagger-ui .info h1,.swagger-ui .info h2,.swagger-ui .info h3,.swagger-ui .info h4,.swagger-ui .info h5{color:#3b4151;font-family:sans-serif}.swagger-ui .info a{color:#4990e2;font-family:sans-serif;font-size:14px;transition:all .4s}.swagger-ui .info a:hover{color:#1f69c0}.swagger-ui .info>div{margin:0 0 5px}.swagger-ui .info .base-url{color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;margin:0}.swagger-ui .info .title{color:#3b4151;font-family:sans-serif;font-size:36px;margin:0}.swagger-ui .info .title small{background:#7d8492;border-radius:57px;display:inline-block;font-size:10px;margin:0 0 0 5px;padding:2px 4px;position:relative;top:-5px;vertical-align:super}.swagger-ui .info .title small.version-stamp{background-color:#89bf04}.swagger-ui .info .title small pre{color:#fff;font-family:sans-serif;margin:0;padding:0}.swagger-ui .auth-btn-wrapper{display:flex;justify-content:center;padding:10px 0}.swagger-ui .auth-btn-wrapper .btn-done{margin-right:1em}.swagger-ui .auth-wrapper{display:flex;flex:1;justify-content:flex-end}.swagger-ui .auth-wrapper .authorize{margin-left:10px;margin-right:10px;padding-right:20px}.swagger-ui .auth-container{border-bottom:1px solid #ebebeb;margin:0 0 10px;padding:10px 20px}.swagger-ui .auth-container:last-of-type{border:0;margin:0;padding:10px 20px}.swagger-ui .auth-container h4{margin:5px 0 15px!important}.swagger-ui .auth-container .wrapper{margin:0;padding:0}.swagger-ui .auth-container input[type=password],.swagger-ui .auth-container input[type=text]{min-width:230px}.swagger-ui .auth-container .errors{background-color:#fee;border-radius:4px;color:red;color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;margin:1em;padding:10px}.swagger-ui .auth-container .errors b{margin-right:1em;text-transform:capitalize}.swagger-ui .scopes h2{color:#3b4151;font-family:sans-serif;font-size:14px}.swagger-ui .scopes h2 a{color:#4990e2;cursor:pointer;font-size:12px;padding-left:10px;-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .scope-def{padding:0 0 20px}.swagger-ui .errors-wrapper{animation:scaleUp .5s;background:#f93e3e1a;border:2px solid #f93e3e;border-radius:4px;margin:20px;padding:10px 20px}.swagger-ui .errors-wrapper .error-wrapper{margin:0 0 10px}.swagger-ui .errors-wrapper .errors h4{color:#3b4151;font-family:monospace;font-size:14px;font-weight:600;margin:0}.swagger-ui .errors-wrapper .errors small{color:#606060}.swagger-ui .errors-wrapper .errors .message{white-space:pre-line}.swagger-ui .errors-wrapper .errors .message.thrown{max-width:100%}.swagger-ui .errors-wrapper .errors .error-line{cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .errors-wrapper hgroup{align-items:center;display:flex}.swagger-ui .errors-wrapper hgroup h4{color:#3b4151;flex:1;font-family:sans-serif;font-size:20px;margin:0}@keyframes scaleUp{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.swagger-ui .Resizer.vertical.disabled{display:none}.swagger-ui .markdown p,.swagger-ui .markdown pre,.swagger-ui .renderedMarkdown p,.swagger-ui .renderedMarkdown pre{margin:1em auto;word-break:break-all;word-break:break-word}.swagger-ui .markdown pre,.swagger-ui .renderedMarkdown pre{background:none;color:#000;font-weight:400;padding:0;white-space:pre-wrap}.swagger-ui .markdown code,.swagger-ui .renderedMarkdown code{background:#0000000d;border-radius:4px;color:#9012fe;font-family:monospace;font-size:14px;font-weight:600;padding:5px 7px}.swagger-ui .markdown pre>code,.swagger-ui .renderedMarkdown pre>code{display:block}.swagger-ui .json-schema-2020-12{background-color:#0000000d;border-radius:4px;margin:0 20px 15px;padding:12px 0 12px 20px}.swagger-ui .json-schema-2020-12:first-of-type{margin:20px}.swagger-ui .json-schema-2020-12:last-of-type{margin:0 20px}.swagger-ui .json-schema-2020-12--embedded{background-color:inherit;padding-bottom:0;padding-left:inherit;padding-right:inherit;padding-top:0}.swagger-ui .json-schema-2020-12-body{border-left:1px dashed rgba(0,0,0,.1);margin:2px 0}.swagger-ui .json-schema-2020-12-body--collapsed{display:none}.swagger-ui .json-schema-2020-12-accordion{border:none;outline:none;padding-left:0}.swagger-ui .json-schema-2020-12-accordion__children{display:inline-block}.swagger-ui .json-schema-2020-12-accordion__icon{display:inline-block;height:18px;vertical-align:bottom;width:18px}.swagger-ui .json-schema-2020-12-accordion__icon--expanded{transform:rotate(-90deg);transform-origin:50% 50%;transition:transform .15s ease-in}.swagger-ui .json-schema-2020-12-accordion__icon--collapsed{transform:rotate(0);transform-origin:50% 50%;transition:transform .15s ease-in}.swagger-ui .json-schema-2020-12-accordion__icon svg{height:20px;width:20px}.swagger-ui .json-schema-2020-12-expand-deep-button{border:none;color:#505050;color:#afaeae;font-family:sans-serif;font-size:12px;padding-right:0}.swagger-ui .json-schema-2020-12-keyword{margin:5px 0}.swagger-ui .json-schema-2020-12-keyword__children{border-left:1px dashed rgba(0,0,0,.1);margin:0 0 0 20px;padding:0}.swagger-ui .json-schema-2020-12-keyword__children--collapsed{display:none}.swagger-ui .json-schema-2020-12-keyword__name{font-size:12px;font-weight:700;margin-left:20px}.swagger-ui .json-schema-2020-12-keyword__name--primary{color:#3b4151;font-style:normal}.swagger-ui .json-schema-2020-12-keyword__name--secondary{color:#6b6b6b;font-style:italic}.swagger-ui .json-schema-2020-12-keyword__value{color:#6b6b6b;font-size:12px;font-style:italic;font-weight:400}.swagger-ui .json-schema-2020-12-keyword__value--primary{color:#3b4151;font-style:normal}.swagger-ui .json-schema-2020-12-keyword__value--secondary{color:#6b6b6b;font-style:italic}.swagger-ui .json-schema-2020-12-keyword__value--const,.swagger-ui .json-schema-2020-12-keyword__value--warning{border:1px dashed #6b6b6b;border-radius:4px;color:#3b4151;color:#6b6b6b;display:inline-block;font-family:monospace;font-style:normal;font-weight:600;line-height:1.5;margin-left:10px;padding:1px 4px}.swagger-ui .json-schema-2020-12-keyword__value--warning{border:1px dashed red;color:red}.swagger-ui .json-schema-2020-12-keyword__name--secondary+.json-schema-2020-12-keyword__value--secondary:before{content:"="}.swagger-ui .json-schema-2020-12__attribute{color:#3b4151;font-family:monospace;font-size:12px;padding-left:10px;text-transform:lowercase}.swagger-ui .json-schema-2020-12__attribute--primary{color:#55a}.swagger-ui .json-schema-2020-12__attribute--muted{color:gray}.swagger-ui .json-schema-2020-12__attribute--warning{color:red}.swagger-ui .json-schema-2020-12-keyword--\$vocabulary ul{border-left:1px dashed rgba(0,0,0,.1);margin:0 0 0 20px}.swagger-ui .json-schema-2020-12-\$vocabulary-uri{margin-left:35px}.swagger-ui .json-schema-2020-12-\$vocabulary-uri--disabled{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .json-schema-2020-12-keyword--description{color:#6b6b6b;font-size:12px;margin-left:20px}.swagger-ui .json-schema-2020-12-keyword--description p{margin:0}.swagger-ui .json-schema-2020-12__title{color:#505050;display:inline-block;font-family:sans-serif;font-size:12px;font-weight:700;line-height:normal}.swagger-ui .json-schema-2020-12__title .json-schema-2020-12-keyword__name{margin:0}.swagger-ui .json-schema-2020-12-property{margin:7px 0}.swagger-ui .json-schema-2020-12-property .json-schema-2020-12__title{color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;vertical-align:middle}.swagger-ui .json-schema-2020-12-keyword--properties>ul{border:none;margin:0;padding:0}.swagger-ui .json-schema-2020-12-property{list-style-type:none}.swagger-ui .json-schema-2020-12-property--required>.json-schema-2020-12:first-of-type>.json-schema-2020-12-head .json-schema-2020-12__title:after{color:red;content:"*";font-weight:700}.swagger-ui .json-schema-2020-12-keyword--patternProperties ul{border:none;margin:0;padding:0}.swagger-ui .json-schema-2020-12-keyword--patternProperties .json-schema-2020-12__title:first-of-type:after,.swagger-ui .json-schema-2020-12-keyword--patternProperties .json-schema-2020-12__title:first-of-type:before{color:#55a;content:"/"}.swagger-ui .json-schema-2020-12-keyword--enum>ul{display:inline-block;margin:0;padding:0}.swagger-ui .json-schema-2020-12-keyword--enum>ul li{display:inline;list-style-type:none}.swagger-ui .json-schema-2020-12__constraint{background-color:#805ad5;border-radius:4px;color:#3b4151;color:#fff;font-family:monospace;font-weight:600;line-height:1.5;margin-left:10px;padding:1px 3px}.swagger-ui .json-schema-2020-12__constraint--string{background-color:#d69e2e;color:#fff}.swagger-ui .json-schema-2020-12-keyword--dependentRequired>ul{display:inline-block;margin:0;padding:0}.swagger-ui .json-schema-2020-12-keyword--dependentRequired>ul li{display:inline;list-style-type:none}.swagger-ui .model-box .json-schema-2020-12:not(.json-schema-2020-12--embedded)>.json-schema-2020-12-head .json-schema-2020-12__title:first-of-type{font-size:16px}.swagger-ui .model-box>.json-schema-2020-12{margin:0}.swagger-ui .model-box .json-schema-2020-12{background-color:transparent;padding:0}.swagger-ui .model-box .json-schema-2020-12-accordion,.swagger-ui .model-box .json-schema-2020-12-expand-deep-button{background-color:transparent}.swagger-ui .models .json-schema-2020-12:not(.json-schema-2020-12--embedded)>.json-schema-2020-12-head .json-schema-2020-12__title:first-of-type{font-size:16px}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:#fff}.swagger-back-link{color:#1f69c0;text-decoration:none;position:absolute;top:1rem;right:1.5rem;display:flex;align-items:center}.swagger-back-link:hover{text-decoration:underline}.swagger-back-link svg{color:inherit;fill:currentcolor;margin-right:.5rem}@media (prefers-color-scheme: dark){body{background:#1e1e1e}.swagger-ui,.swagger-back-link{filter:invert(88%) hue-rotate(180deg)}.swagger-ui .microlight{filter:invert(100%) hue-rotate(180deg)}} diff --git a/data/gitea/public/assets/css/theme-gitea-auto.css b/data/gitea/public/assets/css/theme-gitea-auto.css new file mode 100644 index 0000000..fa18e7c --- /dev/null +++ b/data/gitea/public/assets/css/theme-gitea-auto.css @@ -0,0 +1 @@ +@media (prefers-color-scheme: light){.chroma .bp{color:#999}.chroma .c,.chroma .c1,.chroma .ch{color:#6a737d}.chroma .cm{color:#998}.chroma .cp{color:#109295}.chroma .cpf{color:#4c4dbc}.chroma .cs{color:#999}.chroma .dl{color:#106303}.chroma .gd{color:#000;background-color:#fdd}.chroma .ge{color:#000}.chroma .gh{color:#999}.chroma .gi{color:#000;background-color:#dfd}.chroma .go{color:#888}.chroma .gp{color:#555}.chroma .gr,.chroma .gt{color:#a00}.chroma .gu{color:#aaa}.chroma .il{color:#099}.chroma .k,.chroma .kc,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr{color:#d73a49}.chroma .kt{color:#458}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .mo{color:#099}.chroma .na{color:#d73a49}.chroma .nb{color:#005cc5}.chroma .nc{color:#458}.chroma .nd{color:#3c5d5d}.chroma .ne{color:#900}.chroma .nf{color:#005cc5}.chroma .ni{color:#6f42c1}.chroma .nl{color:#900}.chroma .nn{color:#555}.chroma .no{color:teal}.chroma .nt{color:#22863a}.chroma .nv{color:teal}.chroma .nx{color:#24292e}.chroma .o,.chroma .ow{color:#d73a49}.chroma .s,.chroma .s1,.chroma .s2{color:#106303}.chroma .sa{color:#cc7a00}.chroma .sb{color:#106303}.chroma .sc{color:#cc7a00}.chroma .sd{color:#106303}.chroma .se{color:#940}.chroma .sh{color:#106303}.chroma .si{color:#cc7a00}.chroma .sr{color:#4c4dbc}.chroma .ss{color:#940}.chroma .sx{color:#106303}.chroma .vc,.chroma .vg,.chroma .vi{color:teal}.chroma .w{color:#bbb}}@media (prefers-color-scheme: light){:root{--is-dark-theme: false;--color-primary: #4183c4;--color-primary-contrast: #ffffff;--color-primary-dark-1: #3876b3;--color-primary-dark-2: #31699f;--color-primary-dark-3: #2b5c8b;--color-primary-dark-4: #254f77;--color-primary-dark-5: #193450;--color-primary-dark-6: #0c1a28;--color-primary-dark-7: #04080c;--color-primary-light-1: #548fca;--color-primary-light-2: #679cd0;--color-primary-light-3: #7aa8d6;--color-primary-light-4: #8db5dc;--color-primary-light-5: #b3cde7;--color-primary-light-6: #d9e6f3;--color-primary-light-7: #f4f8fb;--color-primary-alpha-10: #4183c419;--color-primary-alpha-20: #4183c433;--color-primary-alpha-30: #4183c44b;--color-primary-alpha-40: #4183c466;--color-primary-alpha-50: #4183c480;--color-primary-alpha-60: #4183c499;--color-primary-alpha-70: #4183c4b3;--color-primary-alpha-80: #4183c4cc;--color-primary-alpha-90: #4183c4e1;--color-primary-hover: var(--color-primary-dark-1);--color-primary-active: var(--color-primary-dark-2);--color-secondary: #d0d7de;--color-secondary-dark-1: #c7ced5;--color-secondary-dark-2: #b9c0c7;--color-secondary-dark-3: #99a0a7;--color-secondary-dark-4: #899097;--color-secondary-dark-5: #7a8188;--color-secondary-dark-6: #6a7178;--color-secondary-dark-7: #5b6269;--color-secondary-dark-8: #4b5259;--color-secondary-dark-9: #3c434a;--color-secondary-dark-10: #2c333a;--color-secondary-dark-11: #1d242b;--color-secondary-dark-12: #0d141b;--color-secondary-dark-13: #00040b;--color-secondary-light-1: #dee5ec;--color-secondary-light-2: #e4ebf2;--color-secondary-light-3: #ebf2f9;--color-secondary-light-4: #f1f8ff;--color-secondary-alpha-10: #d0d7de19;--color-secondary-alpha-20: #d0d7de33;--color-secondary-alpha-30: #d0d7de4b;--color-secondary-alpha-40: #d0d7de66;--color-secondary-alpha-50: #d0d7de80;--color-secondary-alpha-60: #d0d7de99;--color-secondary-alpha-70: #d0d7deb3;--color-secondary-alpha-80: #d0d7decc;--color-secondary-alpha-90: #d0d7dee1;--color-secondary-button: var(--color-secondary-dark-4);--color-secondary-hover: var(--color-secondary-dark-5);--color-secondary-active: var(--color-secondary-dark-6);--color-console-fg: #f7f8f9;--color-console-fg-subtle: #bdc4cc;--color-console-bg: #171b1e;--color-console-border: #2e353b;--color-console-hover-bg: #272d33;--color-console-active-bg: #2e353b;--color-console-menu-bg: #262b31;--color-console-menu-border: #414b55;--color-red: #db2828;--color-orange: #f2711c;--color-yellow: #fbbd08;--color-olive: #b5cc18;--color-green: #21ba45;--color-teal: #00b5ad;--color-blue: #2185d0;--color-violet: #6435c9;--color-purple: #a333c8;--color-pink: #e03997;--color-brown: #a5673f;--color-black: #1d2328;--color-red-light: #e45e5e;--color-orange-light: #f59555;--color-yellow-light: #fcce46;--color-olive-light: #d3e942;--color-green-light: #46de6a;--color-teal-light: #08fff4;--color-blue-light: #51a5e3;--color-violet-light: #8b67d7;--color-purple-light: #bb64d8;--color-pink-light: #e86bb1;--color-brown-light: #c58b66;--color-black-light: #4b5b68;--color-red-dark-1: #c82121;--color-orange-dark-1: #e6630d;--color-yellow-dark-1: #e5ac04;--color-olive-dark-1: #a3b816;--color-green-dark-1: #1ea73e;--color-teal-dark-1: #00a39c;--color-blue-dark-1: #1e78bb;--color-violet-dark-1: #5a30b5;--color-purple-dark-1: #932eb4;--color-pink-dark-1: #db228a;--color-brown-dark-1: #955d39;--color-black-dark-1: #2c3339;--color-red-dark-2: #b11e1e;--color-orange-dark-2: #cc580c;--color-yellow-dark-2: #cc9903;--color-olive-dark-2: #91a313;--color-green-dark-2: #1a9537;--color-teal-dark-2: #00918a;--color-blue-dark-2: #1a6aa6;--color-violet-dark-2: #502aa1;--color-purple-dark-2: #8229a0;--color-pink-dark-2: #c21e7b;--color-brown-dark-2: #845232;--color-black-dark-2: #131619;--color-ansi-black: #1e2327;--color-ansi-red: #cc4848;--color-ansi-green: #87ab63;--color-ansi-yellow: #cc9903;--color-ansi-blue: #3a8ac6;--color-ansi-magenta: #d22e8b;--color-ansi-cyan: #00918a;--color-ansi-white: var(--color-console-fg-subtle);--color-ansi-bright-black: #46494d;--color-ansi-bright-red: #d15a5a;--color-ansi-bright-green: #93b373;--color-ansi-bright-yellow: #eaaf03;--color-ansi-bright-blue: #4e96cc;--color-ansi-bright-magenta: #d74397;--color-ansi-bright-cyan: #00b6ad;--color-ansi-bright-white: var(--color-console-fg);--color-grey: #697077;--color-grey-light: #7c838a;--color-gold: #a1882b;--color-white: #ffffff;--color-diff-added-linenum-bg: #d1f8d9;--color-diff-added-row-bg: #e6ffed;--color-diff-added-row-border: #e6ffed;--color-diff-added-word-bg: #acf2bd;--color-diff-moved-row-bg: #f1f8d1;--color-diff-moved-row-border: #d0e27f;--color-diff-removed-linenum-bg: #ffcecb;--color-diff-removed-row-bg: #ffeef0;--color-diff-removed-row-border: #f1c0c0;--color-diff-removed-word-bg: #fdb8c0;--color-diff-inactive: #f0f2f4;--color-error-border: #e0b4b4;--color-error-bg: #fff6f6;--color-error-bg-active: #fbb;--color-error-bg-hover: #fdd;--color-error-text: #9f3a38;--color-success-border: #a3c293;--color-success-bg: #fcfff5;--color-success-text: #2c662d;--color-warning-border: #c9ba9b;--color-warning-bg: #fffaf3;--color-warning-text: #573a08;--color-info-border: #a9d5de;--color-info-bg: #f8ffff;--color-info-text: #276f86;--color-red-badge: #db2828;--color-red-badge-bg: #db28281a;--color-red-badge-hover-bg: #db28284d;--color-green-badge: #21ba45;--color-green-badge-bg: #21ba451a;--color-green-badge-hover-bg: #21ba454d;--color-yellow-badge: #fbbd08;--color-yellow-badge-bg: #fbbd081a;--color-yellow-badge-hover-bg: #fbbd084d;--color-orange-badge: #f2711c;--color-orange-badge-bg: #f2711c1a;--color-orange-badge-hover-bg: #f2711c4d;--color-git: #f05133;--color-body: #ffffff;--color-box-header: #f1f3f5;--color-box-body: #ffffff;--color-box-body-highlight: #ecf5fd;--color-text-dark: #01050a;--color-text: #181c21;--color-text-light: #30363b;--color-text-light-1: #40474d;--color-text-light-2: #5b6167;--color-text-light-3: #747c84;--color-footer: var(--color-nav-bg);--color-timeline: #d0d7de;--color-input-text: var(--color-text-dark);--color-input-background: #fff;--color-input-toggle-background: #d0d7de;--color-input-border: var(--color-secondary);--color-input-border-hover: var(--color-secondary-dark-1);--color-light: #00001706;--color-light-mimic-enabled: rgba(0, 0, 0, calc(6 / 255 * 222 / 255 / var(--opacity-disabled)));--color-light-border: #0000171d;--color-hover: #00001708;--color-active: #00001714;--color-menu: #f8f9fb;--color-card: #f8f9fb;--color-markup-table-row: #0030600a;--color-markup-code-block: #00306010;--color-markup-code-inline: #00306012;--color-button: #f8f9fb;--color-code-bg: #fafdff;--color-shadow: #00001726;--color-secondary-bg: #f2f5f8;--color-expand-button: #cfe8fa;--color-placeholder-text: var(--color-text-light-3);--color-editor-line-highlight: var(--color-primary-light-6);--color-project-board-bg: var(--color-secondary-light-4);--color-caret: var(--color-text-dark);--color-reaction-bg: #0000170a;--color-reaction-hover-bg: var(--color-primary-light-5);--color-reaction-active-bg: var(--color-primary-light-6);--color-tooltip-text: #fbfdff;--color-tooltip-bg: #000017f0;--color-nav-bg: #f6f7fa;--color-nav-hover-bg: var(--color-secondary-light-1);--color-nav-text: var(--color-text);--color-secondary-nav-bg: #f9fafb;--color-label-text: var(--color-text);--color-label-bg: #949da64b;--color-label-hover-bg: #949da6a0;--color-label-active-bg: #949da6ff;--color-accent: var(--color-primary-light-1);--color-small-accent: var(--color-primary-light-6);--color-highlight-fg: #eed200;--color-highlight-bg: #fffbdd;--color-overlay-backdrop: #080808c0;accent-color:var(--color-accent);color-scheme:light}}@media (prefers-color-scheme: dark){.chroma .bp{color:#fabd2f}.chroma .c,.chroma .c1,.chroma .ch,.chroma .cm{color:#777e94}.chroma .cp{color:#8ec07c}.chroma .cpf{color:#649bc4}.chroma .cs{color:#9075cd}.chroma .dl{color:#649bc4}.chroma .gd{color:#fff;background-color:#5f3737}.chroma .ge{color:#ddee30}.chroma .gh{color:#ffaa10}.chroma .gi{color:#fff;background-color:#3a523a}.chroma .go{color:#777e94}.chroma .gp{color:#ebdbb2}.chroma .gr{color:#f43}.chroma .gs{color:#ebdbb2}.chroma .gt{color:#ff7540}.chroma .gu{color:#b8bb26}.chroma .il{color:#649bc4}.chroma .k{color:#ff7540}.chroma .kc{color:#649bc4}.chroma .kd{color:#ff7540}.chroma .kn{color:#ffaa10}.chroma .kp{color:#5f8700}.chroma .kr{color:#ff7540}.chroma .kt{color:#ff7b72}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .mo{color:#649bc4}.chroma .n{color:#c9d1d9}.chroma .na,.chroma .nb{color:#fabd2f}.chroma .nc{color:#ffaa10}.chroma .nd{color:#8ec07c}.chroma .ne{color:#ff7540}.chroma .nf,.chroma .ni{color:#fabd2f}.chroma .nl{color:#ff7540}.chroma .nn{color:#c9d1d9}.chroma .no{color:#649bc4}.chroma .nt{color:#ff7540}.chroma .nv{color:#ebdbb2}.chroma .nx{color:#b6bac5}.chroma .o{color:#ff7540}.chroma .ow{color:#5f8700}.chroma .p{color:#d2d4db}.chroma .s,.chroma .s1,.chroma .s2{color:#b8bb26}.chroma .sa{color:#ffaa10}.chroma .sb{color:#b8bb26}.chroma .sc{color:#ffaa10}.chroma .sd{color:#b8bb26}.chroma .se{color:#ff8540}.chroma .sh{color:#b8bb26}.chroma .si{color:#ffaa10}.chroma .sr{color:#9075cd}.chroma .ss{color:#ff8540}.chroma .sx{color:#ffaa10}.chroma .vc,.chroma .vg,.chroma .vi{color:#649bee}.chroma .w{color:#7f8699}}@media (prefers-color-scheme: dark){.CodeMirror.cm-s-default .cm-property,.CodeMirror.cm-s-paper .cm-property{color:#a0cc75}.CodeMirror.cm-s-default .cm-header,.CodeMirror.cm-s-paper .cm-header{color:#9daccc}.CodeMirror.cm-s-default .cm-quote,.CodeMirror.cm-s-paper .cm-quote{color:#090}.CodeMirror.cm-s-default .cm-keyword,.CodeMirror.cm-s-paper .cm-keyword{color:#cc8a61}.CodeMirror.cm-s-default .cm-atom,.CodeMirror.cm-s-paper .cm-atom{color:#ef5e77}.CodeMirror.cm-s-default .cm-number,.CodeMirror.cm-s-paper .cm-number{color:#ff5656}.CodeMirror.cm-s-default .cm-def,.CodeMirror.cm-s-paper .cm-def{color:#e4e4e4}.CodeMirror.cm-s-default .cm-variable-2,.CodeMirror.cm-s-paper .cm-variable-2{color:#00bdbf}.CodeMirror.cm-s-default .cm-variable-3,.CodeMirror.cm-s-paper .cm-variable-3{color:#085}.CodeMirror.cm-s-default .cm-comment,.CodeMirror.cm-s-paper .cm-comment{color:#8e9ab3}.CodeMirror.cm-s-default .cm-string,.CodeMirror.cm-s-paper .cm-string{color:#a77272}.CodeMirror.cm-s-default .cm-string-2,.CodeMirror.cm-s-paper .cm-string-2{color:#f50}.CodeMirror.cm-s-default .cm-meta,.CodeMirror.cm-s-paper .cm-meta,.CodeMirror.cm-s-default .cm-qualifier,.CodeMirror.cm-s-paper .cm-qualifier{color:#ffb176}.CodeMirror.cm-s-default .cm-builtin,.CodeMirror.cm-s-paper .cm-builtin{color:#b7c951}.CodeMirror.cm-s-default .cm-bracket,.CodeMirror.cm-s-paper .cm-bracket{color:#997}.CodeMirror.cm-s-default .cm-tag,.CodeMirror.cm-s-paper .cm-tag{color:#f1d273}.CodeMirror.cm-s-default .cm-attribute,.CodeMirror.cm-s-paper .cm-attribute{color:#bfcc70}.CodeMirror.cm-s-default .cm-hr,.CodeMirror.cm-s-paper .cm-hr{color:#999}.CodeMirror.cm-s-default .cm-url,.CodeMirror.cm-s-paper .cm-url{color:#c5cfd0}.CodeMirror.cm-s-default .cm-link,.CodeMirror.cm-s-paper .cm-link{color:#d8c792}.CodeMirror.cm-s-default .cm-error,.CodeMirror.cm-s-paper .cm-error{color:#dbdbeb}}@media (prefers-color-scheme: dark){:root{--is-dark-theme: true;--color-primary: #4183c4;--color-primary-contrast: #ffffff;--color-primary-dark-1: #548fca;--color-primary-dark-2: #679cd0;--color-primary-dark-3: #7aa8d6;--color-primary-dark-4: #8db5dc;--color-primary-dark-5: #b3cde7;--color-primary-dark-6: #d9e6f3;--color-primary-dark-7: #f4f8fb;--color-primary-light-1: #3876b3;--color-primary-light-2: #31699f;--color-primary-light-3: #2b5c8b;--color-primary-light-4: #254f77;--color-primary-light-5: #193450;--color-primary-light-6: #0c1a28;--color-primary-light-7: #04080c;--color-primary-alpha-10: #4183c419;--color-primary-alpha-20: #4183c433;--color-primary-alpha-30: #4183c44b;--color-primary-alpha-40: #4183c466;--color-primary-alpha-50: #4183c480;--color-primary-alpha-60: #4183c499;--color-primary-alpha-70: #4183c4b3;--color-primary-alpha-80: #4183c4cc;--color-primary-alpha-90: #4183c4e1;--color-primary-hover: var(--color-primary-light-1);--color-primary-active: var(--color-primary-light-2);--color-secondary: #3b444c;--color-secondary-dark-1: #414b54;--color-secondary-dark-2: #49545f;--color-secondary-dark-3: #576471;--color-secondary-dark-4: #677685;--color-secondary-dark-5: #758594;--color-secondary-dark-6: #8392a0;--color-secondary-dark-7: #929eab;--color-secondary-dark-8: #a2acb7;--color-secondary-dark-9: #a9b3bd;--color-secondary-dark-10: #b7bfc7;--color-secondary-dark-11: #c5cbd2;--color-secondary-dark-12: #cfd4da;--color-secondary-dark-13: #d2d7dc;--color-secondary-light-1: #313940;--color-secondary-light-2: #292f35;--color-secondary-light-3: #1d2226;--color-secondary-light-4: #171b1e;--color-secondary-alpha-10: #3b444c19;--color-secondary-alpha-20: #3b444c33;--color-secondary-alpha-30: #3b444c4b;--color-secondary-alpha-40: #3b444c66;--color-secondary-alpha-50: #3b444c80;--color-secondary-alpha-60: #3b444c99;--color-secondary-alpha-70: #3b444cb3;--color-secondary-alpha-80: #3b444ccc;--color-secondary-alpha-90: #3b444ce1;--color-secondary-button: var(--color-secondary-dark-4);--color-secondary-hover: var(--color-secondary-dark-3);--color-secondary-active: var(--color-secondary-dark-2);--color-console-fg: #f7f8f9;--color-console-fg-subtle: #bdc4cc;--color-console-bg: #171b1e;--color-console-border: #2e353b;--color-console-hover-bg: #272d33;--color-console-active-bg: #2e353b;--color-console-menu-bg: #262b31;--color-console-menu-border: #414b55;--color-red: #cc4848;--color-orange: #cc580c;--color-yellow: #cc9903;--color-olive: #91a313;--color-green: #87ab63;--color-teal: #00918a;--color-blue: #3a8ac6;--color-violet: #906ae1;--color-purple: #b259d0;--color-pink: #d22e8b;--color-brown: #a47252;--color-black: #1d2328;--color-red-light: #d15a5a;--color-orange-light: #f6a066;--color-yellow-light: #eaaf03;--color-olive-light: #abc016;--color-green-light: #93b373;--color-teal-light: #00b6ad;--color-blue-light: #4e96cc;--color-violet-light: #9b79e4;--color-purple-light: #ba6ad5;--color-pink-light: #d74397;--color-brown-light: #b08061;--color-black-light: #424851;--color-red-dark-1: #c23636;--color-orange-dark-1: #f38236;--color-yellow-dark-1: #b88a03;--color-olive-dark-1: #839311;--color-green-dark-1: #7a9e55;--color-teal-dark-1: #00837c;--color-blue-dark-1: #347cb3;--color-violet-dark-1: #7b4edb;--color-purple-dark-1: #a742c9;--color-pink-dark-1: #be297d;--color-brown-dark-1: #94674a;--color-black-dark-1: #292e38;--color-red-dark-2: #ad3030;--color-orange-dark-2: #f16e17;--color-yellow-dark-2: #a37a02;--color-olive-dark-2: #74820f;--color-green-dark-2: #6c8c4c;--color-teal-dark-2: #00746e;--color-blue-dark-2: #2e6e9f;--color-violet-dark-2: #6733d6;--color-purple-dark-2: #9834b9;--color-pink-dark-2: #a9246f;--color-brown-dark-2: #835b42;--color-black-dark-2: #272930;--color-ansi-black: #1e2327;--color-ansi-red: #cc4848;--color-ansi-green: #87ab63;--color-ansi-yellow: #cc9903;--color-ansi-blue: #3a8ac6;--color-ansi-magenta: #d22e8b;--color-ansi-cyan: #00918a;--color-ansi-white: var(--color-console-fg-subtle);--color-ansi-bright-black: #424851;--color-ansi-bright-red: #d15a5a;--color-ansi-bright-green: #93b373;--color-ansi-bright-yellow: #eaaf03;--color-ansi-bright-blue: #4e96cc;--color-ansi-bright-magenta: #d74397;--color-ansi-bright-cyan: #00b6ad;--color-ansi-bright-white: var(--color-console-fg);--color-grey: #384149;--color-grey-light: #818f9e;--color-gold: #b1983b;--color-white: #ffffff;--color-diff-added-linenum-bg: #274227;--color-diff-added-row-bg: #203224;--color-diff-added-row-border: #314a37;--color-diff-added-word-bg: #3c653c;--color-diff-moved-row-bg: #818044;--color-diff-moved-row-border: #bcca6f;--color-diff-removed-linenum-bg: #482121;--color-diff-removed-row-bg: #301e1e;--color-diff-removed-row-border: #634343;--color-diff-removed-word-bg: #6f3333;--color-diff-inactive: #22282d;--color-error-border: #a04141;--color-error-bg: #522;--color-error-bg-active: #744;--color-error-bg-hover: #633;--color-error-text: #f9cbcb;--color-success-border: #458a57;--color-success-bg: #284034;--color-success-text: #6cc664;--color-warning-border: #bb9d00;--color-warning-bg: #3a3a30;--color-warning-text: #fbbd08;--color-info-border: #306090;--color-info-bg: #26354c;--color-info-text: #38a8e8;--color-red-badge: #db2828;--color-red-badge-bg: #db28281a;--color-red-badge-hover-bg: #db28284d;--color-green-badge: #21ba45;--color-green-badge-bg: #21ba451a;--color-green-badge-hover-bg: #21ba454d;--color-yellow-badge: #fbbd08;--color-yellow-badge-bg: #fbbd081a;--color-yellow-badge-hover-bg: #fbbd084d;--color-orange-badge: #f2711c;--color-orange-badge-bg: #f2711c1a;--color-orange-badge-hover-bg: #f2711c4d;--color-git: #f05133;--color-body: #1b1f23;--color-box-header: #1a1d1f;--color-box-body: #14171a;--color-box-body-highlight: #1e2226;--color-text-dark: #f7f8f9;--color-text: #d0d5da;--color-text-light: #bcc3cb;--color-text-light-1: #a5afb9;--color-text-light-2: #8f9ba8;--color-text-light-3: #788797;--color-footer: var(--color-nav-bg);--color-timeline: #343c44;--color-input-text: var(--color-text-dark);--color-input-background: #171a1e;--color-input-toggle-background: #2e353c;--color-input-border: var(--color-secondary);--color-input-border-hover: var(--color-secondary-dark-1);--color-light: #00001728;--color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled)));--color-light-border: #e8f3ff28;--color-hover: #e8f3ff19;--color-active: #e8f3ff24;--color-menu: #171a1e;--color-card: #171a1e;--color-markup-table-row: #e8f3ff0f;--color-markup-code-block: #e8f3ff12;--color-markup-code-inline: #e8f3ff28;--color-button: #171a1e;--color-code-bg: #14171a;--color-shadow: #00001758;--color-secondary-bg: #2a3137;--color-expand-button: #2f363d;--color-placeholder-text: var(--color-text-light-3);--color-editor-line-highlight: var(--color-primary-light-5);--color-project-board-bg: var(--color-secondary-light-2);--color-caret: var(--color-text);--color-reaction-bg: #e8f3ff12;--color-reaction-hover-bg: var(--color-primary-light-4);--color-reaction-active-bg: var(--color-primary-light-5);--color-tooltip-text: #f9fafb;--color-tooltip-bg: #000b17f0;--color-nav-bg: #16191d;--color-nav-hover-bg: var(--color-secondary-light-1);--color-nav-text: var(--color-text);--color-secondary-nav-bg: #181c20;--color-label-text: var(--color-text);--color-label-bg: #7282924b;--color-label-hover-bg: #728292a0;--color-label-active-bg: #728292ff;--color-accent: var(--color-primary-light-1);--color-small-accent: var(--color-primary-light-5);--color-highlight-fg: #87651e;--color-highlight-bg: #352c1c;--color-overlay-backdrop: #080808c0;accent-color:var(--color-accent);color-scheme:dark}.emoji[aria-label="check mark"],.emoji[aria-label="currency exchange"],.emoji[aria-label="TOP arrow"],.emoji[aria-label="END arrow"],.emoji[aria-label="ON! arrow"],.emoji[aria-label="SOON arrow"],.emoji[aria-label="heavy dollar sign"],.emoji[aria-label=copyright],.emoji[aria-label=registered],.emoji[aria-label="trade mark"],.emoji[aria-label=multiply],.emoji[aria-label=plus],.emoji[aria-label=minus],.emoji[aria-label=divide],.emoji[aria-label="curly loop"],.emoji[aria-label="double curly loop"],.emoji[aria-label="wavy dash"],.emoji[aria-label="paw prints"],.emoji[aria-label="musical note"],.emoji[aria-label="musical notes"]{filter:invert(100%) hue-rotate(180deg)}} diff --git a/data/gitea/public/assets/css/theme-gitea-dark-protanopia-deuteranopia.css b/data/gitea/public/assets/css/theme-gitea-dark-protanopia-deuteranopia.css new file mode 100644 index 0000000..5d440de --- /dev/null +++ b/data/gitea/public/assets/css/theme-gitea-dark-protanopia-deuteranopia.css @@ -0,0 +1 @@ +.chroma .bp{color:#fabd2f}.chroma .c,.chroma .c1,.chroma .ch,.chroma .cm{color:#777e94}.chroma .cp{color:#8ec07c}.chroma .cpf{color:#649bc4}.chroma .cs{color:#9075cd}.chroma .dl{color:#649bc4}.chroma .gd{color:#fff;background-color:#5f3737}.chroma .ge{color:#ddee30}.chroma .gh{color:#ffaa10}.chroma .gi{color:#fff;background-color:#3a523a}.chroma .go{color:#777e94}.chroma .gp{color:#ebdbb2}.chroma .gr{color:#f43}.chroma .gs{color:#ebdbb2}.chroma .gt{color:#ff7540}.chroma .gu{color:#b8bb26}.chroma .il{color:#649bc4}.chroma .k{color:#ff7540}.chroma .kc{color:#649bc4}.chroma .kd{color:#ff7540}.chroma .kn{color:#ffaa10}.chroma .kp{color:#5f8700}.chroma .kr{color:#ff7540}.chroma .kt{color:#ff7b72}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .mo{color:#649bc4}.chroma .n{color:#c9d1d9}.chroma .na,.chroma .nb{color:#fabd2f}.chroma .nc{color:#ffaa10}.chroma .nd{color:#8ec07c}.chroma .ne{color:#ff7540}.chroma .nf,.chroma .ni{color:#fabd2f}.chroma .nl{color:#ff7540}.chroma .nn{color:#c9d1d9}.chroma .no{color:#649bc4}.chroma .nt{color:#ff7540}.chroma .nv{color:#ebdbb2}.chroma .nx{color:#b6bac5}.chroma .o{color:#ff7540}.chroma .ow{color:#5f8700}.chroma .p{color:#d2d4db}.chroma .s,.chroma .s1,.chroma .s2{color:#b8bb26}.chroma .sa{color:#ffaa10}.chroma .sb{color:#b8bb26}.chroma .sc{color:#ffaa10}.chroma .sd{color:#b8bb26}.chroma .se{color:#ff8540}.chroma .sh{color:#b8bb26}.chroma .si{color:#ffaa10}.chroma .sr{color:#9075cd}.chroma .ss{color:#ff8540}.chroma .sx{color:#ffaa10}.chroma .vc,.chroma .vg,.chroma .vi{color:#649bee}.chroma .w{color:#7f8699}.CodeMirror.cm-s-default .cm-property,.CodeMirror.cm-s-paper .cm-property{color:#a0cc75}.CodeMirror.cm-s-default .cm-header,.CodeMirror.cm-s-paper .cm-header{color:#9daccc}.CodeMirror.cm-s-default .cm-quote,.CodeMirror.cm-s-paper .cm-quote{color:#090}.CodeMirror.cm-s-default .cm-keyword,.CodeMirror.cm-s-paper .cm-keyword{color:#cc8a61}.CodeMirror.cm-s-default .cm-atom,.CodeMirror.cm-s-paper .cm-atom{color:#ef5e77}.CodeMirror.cm-s-default .cm-number,.CodeMirror.cm-s-paper .cm-number{color:#ff5656}.CodeMirror.cm-s-default .cm-def,.CodeMirror.cm-s-paper .cm-def{color:#e4e4e4}.CodeMirror.cm-s-default .cm-variable-2,.CodeMirror.cm-s-paper .cm-variable-2{color:#00bdbf}.CodeMirror.cm-s-default .cm-variable-3,.CodeMirror.cm-s-paper .cm-variable-3{color:#085}.CodeMirror.cm-s-default .cm-comment,.CodeMirror.cm-s-paper .cm-comment{color:#8e9ab3}.CodeMirror.cm-s-default .cm-string,.CodeMirror.cm-s-paper .cm-string{color:#a77272}.CodeMirror.cm-s-default .cm-string-2,.CodeMirror.cm-s-paper .cm-string-2{color:#f50}.CodeMirror.cm-s-default .cm-meta,.CodeMirror.cm-s-paper .cm-meta,.CodeMirror.cm-s-default .cm-qualifier,.CodeMirror.cm-s-paper .cm-qualifier{color:#ffb176}.CodeMirror.cm-s-default .cm-builtin,.CodeMirror.cm-s-paper .cm-builtin{color:#b7c951}.CodeMirror.cm-s-default .cm-bracket,.CodeMirror.cm-s-paper .cm-bracket{color:#997}.CodeMirror.cm-s-default .cm-tag,.CodeMirror.cm-s-paper .cm-tag{color:#f1d273}.CodeMirror.cm-s-default .cm-attribute,.CodeMirror.cm-s-paper .cm-attribute{color:#bfcc70}.CodeMirror.cm-s-default .cm-hr,.CodeMirror.cm-s-paper .cm-hr{color:#999}.CodeMirror.cm-s-default .cm-url,.CodeMirror.cm-s-paper .cm-url{color:#c5cfd0}.CodeMirror.cm-s-default .cm-link,.CodeMirror.cm-s-paper .cm-link{color:#d8c792}.CodeMirror.cm-s-default .cm-error,.CodeMirror.cm-s-paper .cm-error{color:#dbdbeb}:root{--is-dark-theme: true;--color-primary: #4183c4;--color-primary-contrast: #ffffff;--color-primary-dark-1: #548fca;--color-primary-dark-2: #679cd0;--color-primary-dark-3: #7aa8d6;--color-primary-dark-4: #8db5dc;--color-primary-dark-5: #b3cde7;--color-primary-dark-6: #d9e6f3;--color-primary-dark-7: #f4f8fb;--color-primary-light-1: #3876b3;--color-primary-light-2: #31699f;--color-primary-light-3: #2b5c8b;--color-primary-light-4: #254f77;--color-primary-light-5: #193450;--color-primary-light-6: #0c1a28;--color-primary-light-7: #04080c;--color-primary-alpha-10: #4183c419;--color-primary-alpha-20: #4183c433;--color-primary-alpha-30: #4183c44b;--color-primary-alpha-40: #4183c466;--color-primary-alpha-50: #4183c480;--color-primary-alpha-60: #4183c499;--color-primary-alpha-70: #4183c4b3;--color-primary-alpha-80: #4183c4cc;--color-primary-alpha-90: #4183c4e1;--color-primary-hover: var(--color-primary-light-1);--color-primary-active: var(--color-primary-light-2);--color-secondary: #3b444c;--color-secondary-dark-1: #414b54;--color-secondary-dark-2: #49545f;--color-secondary-dark-3: #576471;--color-secondary-dark-4: #677685;--color-secondary-dark-5: #758594;--color-secondary-dark-6: #8392a0;--color-secondary-dark-7: #929eab;--color-secondary-dark-8: #a2acb7;--color-secondary-dark-9: #a9b3bd;--color-secondary-dark-10: #b7bfc7;--color-secondary-dark-11: #c5cbd2;--color-secondary-dark-12: #cfd4da;--color-secondary-dark-13: #d2d7dc;--color-secondary-light-1: #313940;--color-secondary-light-2: #292f35;--color-secondary-light-3: #1d2226;--color-secondary-light-4: #171b1e;--color-secondary-alpha-10: #3b444c19;--color-secondary-alpha-20: #3b444c33;--color-secondary-alpha-30: #3b444c4b;--color-secondary-alpha-40: #3b444c66;--color-secondary-alpha-50: #3b444c80;--color-secondary-alpha-60: #3b444c99;--color-secondary-alpha-70: #3b444cb3;--color-secondary-alpha-80: #3b444ccc;--color-secondary-alpha-90: #3b444ce1;--color-secondary-button: var(--color-secondary-dark-4);--color-secondary-hover: var(--color-secondary-dark-3);--color-secondary-active: var(--color-secondary-dark-2);--color-console-fg: #f7f8f9;--color-console-fg-subtle: #bdc4cc;--color-console-bg: #171b1e;--color-console-border: #2e353b;--color-console-hover-bg: #272d33;--color-console-active-bg: #2e353b;--color-console-menu-bg: #262b31;--color-console-menu-border: #414b55;--color-red: #cc4848;--color-orange: #cc580c;--color-yellow: #cc9903;--color-olive: #91a313;--color-green: #87ab63;--color-teal: #00918a;--color-blue: #3a8ac6;--color-violet: #906ae1;--color-purple: #b259d0;--color-pink: #d22e8b;--color-brown: #a47252;--color-black: #1d2328;--color-red-light: #d15a5a;--color-orange-light: #f6a066;--color-yellow-light: #eaaf03;--color-olive-light: #abc016;--color-green-light: #93b373;--color-teal-light: #00b6ad;--color-blue-light: #4e96cc;--color-violet-light: #9b79e4;--color-purple-light: #ba6ad5;--color-pink-light: #d74397;--color-brown-light: #b08061;--color-black-light: #424851;--color-red-dark-1: #c23636;--color-orange-dark-1: #f38236;--color-yellow-dark-1: #b88a03;--color-olive-dark-1: #839311;--color-green-dark-1: #7a9e55;--color-teal-dark-1: #00837c;--color-blue-dark-1: #347cb3;--color-violet-dark-1: #7b4edb;--color-purple-dark-1: #a742c9;--color-pink-dark-1: #be297d;--color-brown-dark-1: #94674a;--color-black-dark-1: #292e38;--color-red-dark-2: #ad3030;--color-orange-dark-2: #f16e17;--color-yellow-dark-2: #a37a02;--color-olive-dark-2: #74820f;--color-green-dark-2: #6c8c4c;--color-teal-dark-2: #00746e;--color-blue-dark-2: #2e6e9f;--color-violet-dark-2: #6733d6;--color-purple-dark-2: #9834b9;--color-pink-dark-2: #a9246f;--color-brown-dark-2: #835b42;--color-black-dark-2: #272930;--color-ansi-black: #1e2327;--color-ansi-red: #cc4848;--color-ansi-green: #87ab63;--color-ansi-yellow: #cc9903;--color-ansi-blue: #3a8ac6;--color-ansi-magenta: #d22e8b;--color-ansi-cyan: #00918a;--color-ansi-white: var(--color-console-fg-subtle);--color-ansi-bright-black: #424851;--color-ansi-bright-red: #d15a5a;--color-ansi-bright-green: #93b373;--color-ansi-bright-yellow: #eaaf03;--color-ansi-bright-blue: #4e96cc;--color-ansi-bright-magenta: #d74397;--color-ansi-bright-cyan: #00b6ad;--color-ansi-bright-white: var(--color-console-fg);--color-grey: #384149;--color-grey-light: #818f9e;--color-gold: #b1983b;--color-white: #ffffff;--color-diff-added-linenum-bg: #274227;--color-diff-added-row-bg: #203224;--color-diff-added-row-border: #314a37;--color-diff-added-word-bg: #3c653c;--color-diff-moved-row-bg: #818044;--color-diff-moved-row-border: #bcca6f;--color-diff-removed-linenum-bg: #482121;--color-diff-removed-row-bg: #301e1e;--color-diff-removed-row-border: #634343;--color-diff-removed-word-bg: #6f3333;--color-diff-inactive: #22282d;--color-error-border: #a04141;--color-error-bg: #522;--color-error-bg-active: #744;--color-error-bg-hover: #633;--color-error-text: #f9cbcb;--color-success-border: #458a57;--color-success-bg: #284034;--color-success-text: #6cc664;--color-warning-border: #bb9d00;--color-warning-bg: #3a3a30;--color-warning-text: #fbbd08;--color-info-border: #306090;--color-info-bg: #26354c;--color-info-text: #38a8e8;--color-red-badge: #db2828;--color-red-badge-bg: #db28281a;--color-red-badge-hover-bg: #db28284d;--color-green-badge: #21ba45;--color-green-badge-bg: #21ba451a;--color-green-badge-hover-bg: #21ba454d;--color-yellow-badge: #fbbd08;--color-yellow-badge-bg: #fbbd081a;--color-yellow-badge-hover-bg: #fbbd084d;--color-orange-badge: #f2711c;--color-orange-badge-bg: #f2711c1a;--color-orange-badge-hover-bg: #f2711c4d;--color-git: #f05133;--color-body: #1b1f23;--color-box-header: #1a1d1f;--color-box-body: #14171a;--color-box-body-highlight: #1e2226;--color-text-dark: #f7f8f9;--color-text: #d0d5da;--color-text-light: #bcc3cb;--color-text-light-1: #a5afb9;--color-text-light-2: #8f9ba8;--color-text-light-3: #788797;--color-footer: var(--color-nav-bg);--color-timeline: #343c44;--color-input-text: var(--color-text-dark);--color-input-background: #171a1e;--color-input-toggle-background: #2e353c;--color-input-border: var(--color-secondary);--color-input-border-hover: var(--color-secondary-dark-1);--color-light: #00001728;--color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled)));--color-light-border: #e8f3ff28;--color-hover: #e8f3ff19;--color-active: #e8f3ff24;--color-menu: #171a1e;--color-card: #171a1e;--color-markup-table-row: #e8f3ff0f;--color-markup-code-block: #e8f3ff12;--color-markup-code-inline: #e8f3ff28;--color-button: #171a1e;--color-code-bg: #14171a;--color-shadow: #00001758;--color-secondary-bg: #2a3137;--color-expand-button: #2f363d;--color-placeholder-text: var(--color-text-light-3);--color-editor-line-highlight: var(--color-primary-light-5);--color-project-board-bg: var(--color-secondary-light-2);--color-caret: var(--color-text);--color-reaction-bg: #e8f3ff12;--color-reaction-hover-bg: var(--color-primary-light-4);--color-reaction-active-bg: var(--color-primary-light-5);--color-tooltip-text: #f9fafb;--color-tooltip-bg: #000b17f0;--color-nav-bg: #16191d;--color-nav-hover-bg: var(--color-secondary-light-1);--color-nav-text: var(--color-text);--color-secondary-nav-bg: #181c20;--color-label-text: var(--color-text);--color-label-bg: #7282924b;--color-label-hover-bg: #728292a0;--color-label-active-bg: #728292ff;--color-accent: var(--color-primary-light-1);--color-small-accent: var(--color-primary-light-5);--color-highlight-fg: #87651e;--color-highlight-bg: #352c1c;--color-overlay-backdrop: #080808c0;accent-color:var(--color-accent);color-scheme:dark}.emoji[aria-label="check mark"],.emoji[aria-label="currency exchange"],.emoji[aria-label="TOP arrow"],.emoji[aria-label="END arrow"],.emoji[aria-label="ON! arrow"],.emoji[aria-label="SOON arrow"],.emoji[aria-label="heavy dollar sign"],.emoji[aria-label=copyright],.emoji[aria-label=registered],.emoji[aria-label="trade mark"],.emoji[aria-label=multiply],.emoji[aria-label=plus],.emoji[aria-label=minus],.emoji[aria-label=divide],.emoji[aria-label="curly loop"],.emoji[aria-label="double curly loop"],.emoji[aria-label="wavy dash"],.emoji[aria-label="paw prints"],.emoji[aria-label="musical note"],.emoji[aria-label="musical notes"]{filter:invert(100%) hue-rotate(180deg)}:root{--color-diff-added-linenum-bg: #1979fd46;--color-diff-added-row-bg: #1979fd20;--color-diff-added-word-bg: #1979fd66;--color-diff-removed-linenum-bg: #c8622146;--color-diff-removed-row-bg: #c8622120;--color-diff-removed-word-bg: #c8622166} diff --git a/data/gitea/public/assets/css/theme-gitea-dark.css b/data/gitea/public/assets/css/theme-gitea-dark.css new file mode 100644 index 0000000..ecd60c8 --- /dev/null +++ b/data/gitea/public/assets/css/theme-gitea-dark.css @@ -0,0 +1 @@ +.chroma .bp{color:#fabd2f}.chroma .c,.chroma .c1,.chroma .ch,.chroma .cm{color:#777e94}.chroma .cp{color:#8ec07c}.chroma .cpf{color:#649bc4}.chroma .cs{color:#9075cd}.chroma .dl{color:#649bc4}.chroma .gd{color:#fff;background-color:#5f3737}.chroma .ge{color:#ddee30}.chroma .gh{color:#ffaa10}.chroma .gi{color:#fff;background-color:#3a523a}.chroma .go{color:#777e94}.chroma .gp{color:#ebdbb2}.chroma .gr{color:#f43}.chroma .gs{color:#ebdbb2}.chroma .gt{color:#ff7540}.chroma .gu{color:#b8bb26}.chroma .il{color:#649bc4}.chroma .k{color:#ff7540}.chroma .kc{color:#649bc4}.chroma .kd{color:#ff7540}.chroma .kn{color:#ffaa10}.chroma .kp{color:#5f8700}.chroma .kr{color:#ff7540}.chroma .kt{color:#ff7b72}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .mo{color:#649bc4}.chroma .n{color:#c9d1d9}.chroma .na,.chroma .nb{color:#fabd2f}.chroma .nc{color:#ffaa10}.chroma .nd{color:#8ec07c}.chroma .ne{color:#ff7540}.chroma .nf,.chroma .ni{color:#fabd2f}.chroma .nl{color:#ff7540}.chroma .nn{color:#c9d1d9}.chroma .no{color:#649bc4}.chroma .nt{color:#ff7540}.chroma .nv{color:#ebdbb2}.chroma .nx{color:#b6bac5}.chroma .o{color:#ff7540}.chroma .ow{color:#5f8700}.chroma .p{color:#d2d4db}.chroma .s,.chroma .s1,.chroma .s2{color:#b8bb26}.chroma .sa{color:#ffaa10}.chroma .sb{color:#b8bb26}.chroma .sc{color:#ffaa10}.chroma .sd{color:#b8bb26}.chroma .se{color:#ff8540}.chroma .sh{color:#b8bb26}.chroma .si{color:#ffaa10}.chroma .sr{color:#9075cd}.chroma .ss{color:#ff8540}.chroma .sx{color:#ffaa10}.chroma .vc,.chroma .vg,.chroma .vi{color:#649bee}.chroma .w{color:#7f8699}.CodeMirror.cm-s-default .cm-property,.CodeMirror.cm-s-paper .cm-property{color:#a0cc75}.CodeMirror.cm-s-default .cm-header,.CodeMirror.cm-s-paper .cm-header{color:#9daccc}.CodeMirror.cm-s-default .cm-quote,.CodeMirror.cm-s-paper .cm-quote{color:#090}.CodeMirror.cm-s-default .cm-keyword,.CodeMirror.cm-s-paper .cm-keyword{color:#cc8a61}.CodeMirror.cm-s-default .cm-atom,.CodeMirror.cm-s-paper .cm-atom{color:#ef5e77}.CodeMirror.cm-s-default .cm-number,.CodeMirror.cm-s-paper .cm-number{color:#ff5656}.CodeMirror.cm-s-default .cm-def,.CodeMirror.cm-s-paper .cm-def{color:#e4e4e4}.CodeMirror.cm-s-default .cm-variable-2,.CodeMirror.cm-s-paper .cm-variable-2{color:#00bdbf}.CodeMirror.cm-s-default .cm-variable-3,.CodeMirror.cm-s-paper .cm-variable-3{color:#085}.CodeMirror.cm-s-default .cm-comment,.CodeMirror.cm-s-paper .cm-comment{color:#8e9ab3}.CodeMirror.cm-s-default .cm-string,.CodeMirror.cm-s-paper .cm-string{color:#a77272}.CodeMirror.cm-s-default .cm-string-2,.CodeMirror.cm-s-paper .cm-string-2{color:#f50}.CodeMirror.cm-s-default .cm-meta,.CodeMirror.cm-s-paper .cm-meta,.CodeMirror.cm-s-default .cm-qualifier,.CodeMirror.cm-s-paper .cm-qualifier{color:#ffb176}.CodeMirror.cm-s-default .cm-builtin,.CodeMirror.cm-s-paper .cm-builtin{color:#b7c951}.CodeMirror.cm-s-default .cm-bracket,.CodeMirror.cm-s-paper .cm-bracket{color:#997}.CodeMirror.cm-s-default .cm-tag,.CodeMirror.cm-s-paper .cm-tag{color:#f1d273}.CodeMirror.cm-s-default .cm-attribute,.CodeMirror.cm-s-paper .cm-attribute{color:#bfcc70}.CodeMirror.cm-s-default .cm-hr,.CodeMirror.cm-s-paper .cm-hr{color:#999}.CodeMirror.cm-s-default .cm-url,.CodeMirror.cm-s-paper .cm-url{color:#c5cfd0}.CodeMirror.cm-s-default .cm-link,.CodeMirror.cm-s-paper .cm-link{color:#d8c792}.CodeMirror.cm-s-default .cm-error,.CodeMirror.cm-s-paper .cm-error{color:#dbdbeb}:root{--is-dark-theme: true;--color-primary: #4183c4;--color-primary-contrast: #ffffff;--color-primary-dark-1: #548fca;--color-primary-dark-2: #679cd0;--color-primary-dark-3: #7aa8d6;--color-primary-dark-4: #8db5dc;--color-primary-dark-5: #b3cde7;--color-primary-dark-6: #d9e6f3;--color-primary-dark-7: #f4f8fb;--color-primary-light-1: #3876b3;--color-primary-light-2: #31699f;--color-primary-light-3: #2b5c8b;--color-primary-light-4: #254f77;--color-primary-light-5: #193450;--color-primary-light-6: #0c1a28;--color-primary-light-7: #04080c;--color-primary-alpha-10: #4183c419;--color-primary-alpha-20: #4183c433;--color-primary-alpha-30: #4183c44b;--color-primary-alpha-40: #4183c466;--color-primary-alpha-50: #4183c480;--color-primary-alpha-60: #4183c499;--color-primary-alpha-70: #4183c4b3;--color-primary-alpha-80: #4183c4cc;--color-primary-alpha-90: #4183c4e1;--color-primary-hover: var(--color-primary-light-1);--color-primary-active: var(--color-primary-light-2);--color-secondary: #3b444c;--color-secondary-dark-1: #414b54;--color-secondary-dark-2: #49545f;--color-secondary-dark-3: #576471;--color-secondary-dark-4: #677685;--color-secondary-dark-5: #758594;--color-secondary-dark-6: #8392a0;--color-secondary-dark-7: #929eab;--color-secondary-dark-8: #a2acb7;--color-secondary-dark-9: #a9b3bd;--color-secondary-dark-10: #b7bfc7;--color-secondary-dark-11: #c5cbd2;--color-secondary-dark-12: #cfd4da;--color-secondary-dark-13: #d2d7dc;--color-secondary-light-1: #313940;--color-secondary-light-2: #292f35;--color-secondary-light-3: #1d2226;--color-secondary-light-4: #171b1e;--color-secondary-alpha-10: #3b444c19;--color-secondary-alpha-20: #3b444c33;--color-secondary-alpha-30: #3b444c4b;--color-secondary-alpha-40: #3b444c66;--color-secondary-alpha-50: #3b444c80;--color-secondary-alpha-60: #3b444c99;--color-secondary-alpha-70: #3b444cb3;--color-secondary-alpha-80: #3b444ccc;--color-secondary-alpha-90: #3b444ce1;--color-secondary-button: var(--color-secondary-dark-4);--color-secondary-hover: var(--color-secondary-dark-3);--color-secondary-active: var(--color-secondary-dark-2);--color-console-fg: #f7f8f9;--color-console-fg-subtle: #bdc4cc;--color-console-bg: #171b1e;--color-console-border: #2e353b;--color-console-hover-bg: #272d33;--color-console-active-bg: #2e353b;--color-console-menu-bg: #262b31;--color-console-menu-border: #414b55;--color-red: #cc4848;--color-orange: #cc580c;--color-yellow: #cc9903;--color-olive: #91a313;--color-green: #87ab63;--color-teal: #00918a;--color-blue: #3a8ac6;--color-violet: #906ae1;--color-purple: #b259d0;--color-pink: #d22e8b;--color-brown: #a47252;--color-black: #1d2328;--color-red-light: #d15a5a;--color-orange-light: #f6a066;--color-yellow-light: #eaaf03;--color-olive-light: #abc016;--color-green-light: #93b373;--color-teal-light: #00b6ad;--color-blue-light: #4e96cc;--color-violet-light: #9b79e4;--color-purple-light: #ba6ad5;--color-pink-light: #d74397;--color-brown-light: #b08061;--color-black-light: #424851;--color-red-dark-1: #c23636;--color-orange-dark-1: #f38236;--color-yellow-dark-1: #b88a03;--color-olive-dark-1: #839311;--color-green-dark-1: #7a9e55;--color-teal-dark-1: #00837c;--color-blue-dark-1: #347cb3;--color-violet-dark-1: #7b4edb;--color-purple-dark-1: #a742c9;--color-pink-dark-1: #be297d;--color-brown-dark-1: #94674a;--color-black-dark-1: #292e38;--color-red-dark-2: #ad3030;--color-orange-dark-2: #f16e17;--color-yellow-dark-2: #a37a02;--color-olive-dark-2: #74820f;--color-green-dark-2: #6c8c4c;--color-teal-dark-2: #00746e;--color-blue-dark-2: #2e6e9f;--color-violet-dark-2: #6733d6;--color-purple-dark-2: #9834b9;--color-pink-dark-2: #a9246f;--color-brown-dark-2: #835b42;--color-black-dark-2: #272930;--color-ansi-black: #1e2327;--color-ansi-red: #cc4848;--color-ansi-green: #87ab63;--color-ansi-yellow: #cc9903;--color-ansi-blue: #3a8ac6;--color-ansi-magenta: #d22e8b;--color-ansi-cyan: #00918a;--color-ansi-white: var(--color-console-fg-subtle);--color-ansi-bright-black: #424851;--color-ansi-bright-red: #d15a5a;--color-ansi-bright-green: #93b373;--color-ansi-bright-yellow: #eaaf03;--color-ansi-bright-blue: #4e96cc;--color-ansi-bright-magenta: #d74397;--color-ansi-bright-cyan: #00b6ad;--color-ansi-bright-white: var(--color-console-fg);--color-grey: #384149;--color-grey-light: #818f9e;--color-gold: #b1983b;--color-white: #ffffff;--color-diff-added-linenum-bg: #274227;--color-diff-added-row-bg: #203224;--color-diff-added-row-border: #314a37;--color-diff-added-word-bg: #3c653c;--color-diff-moved-row-bg: #818044;--color-diff-moved-row-border: #bcca6f;--color-diff-removed-linenum-bg: #482121;--color-diff-removed-row-bg: #301e1e;--color-diff-removed-row-border: #634343;--color-diff-removed-word-bg: #6f3333;--color-diff-inactive: #22282d;--color-error-border: #a04141;--color-error-bg: #522;--color-error-bg-active: #744;--color-error-bg-hover: #633;--color-error-text: #f9cbcb;--color-success-border: #458a57;--color-success-bg: #284034;--color-success-text: #6cc664;--color-warning-border: #bb9d00;--color-warning-bg: #3a3a30;--color-warning-text: #fbbd08;--color-info-border: #306090;--color-info-bg: #26354c;--color-info-text: #38a8e8;--color-red-badge: #db2828;--color-red-badge-bg: #db28281a;--color-red-badge-hover-bg: #db28284d;--color-green-badge: #21ba45;--color-green-badge-bg: #21ba451a;--color-green-badge-hover-bg: #21ba454d;--color-yellow-badge: #fbbd08;--color-yellow-badge-bg: #fbbd081a;--color-yellow-badge-hover-bg: #fbbd084d;--color-orange-badge: #f2711c;--color-orange-badge-bg: #f2711c1a;--color-orange-badge-hover-bg: #f2711c4d;--color-git: #f05133;--color-body: #1b1f23;--color-box-header: #1a1d1f;--color-box-body: #14171a;--color-box-body-highlight: #1e2226;--color-text-dark: #f7f8f9;--color-text: #d0d5da;--color-text-light: #bcc3cb;--color-text-light-1: #a5afb9;--color-text-light-2: #8f9ba8;--color-text-light-3: #788797;--color-footer: var(--color-nav-bg);--color-timeline: #343c44;--color-input-text: var(--color-text-dark);--color-input-background: #171a1e;--color-input-toggle-background: #2e353c;--color-input-border: var(--color-secondary);--color-input-border-hover: var(--color-secondary-dark-1);--color-light: #00001728;--color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled)));--color-light-border: #e8f3ff28;--color-hover: #e8f3ff19;--color-active: #e8f3ff24;--color-menu: #171a1e;--color-card: #171a1e;--color-markup-table-row: #e8f3ff0f;--color-markup-code-block: #e8f3ff12;--color-markup-code-inline: #e8f3ff28;--color-button: #171a1e;--color-code-bg: #14171a;--color-shadow: #00001758;--color-secondary-bg: #2a3137;--color-expand-button: #2f363d;--color-placeholder-text: var(--color-text-light-3);--color-editor-line-highlight: var(--color-primary-light-5);--color-project-board-bg: var(--color-secondary-light-2);--color-caret: var(--color-text);--color-reaction-bg: #e8f3ff12;--color-reaction-hover-bg: var(--color-primary-light-4);--color-reaction-active-bg: var(--color-primary-light-5);--color-tooltip-text: #f9fafb;--color-tooltip-bg: #000b17f0;--color-nav-bg: #16191d;--color-nav-hover-bg: var(--color-secondary-light-1);--color-nav-text: var(--color-text);--color-secondary-nav-bg: #181c20;--color-label-text: var(--color-text);--color-label-bg: #7282924b;--color-label-hover-bg: #728292a0;--color-label-active-bg: #728292ff;--color-accent: var(--color-primary-light-1);--color-small-accent: var(--color-primary-light-5);--color-highlight-fg: #87651e;--color-highlight-bg: #352c1c;--color-overlay-backdrop: #080808c0;accent-color:var(--color-accent);color-scheme:dark}.emoji[aria-label="check mark"],.emoji[aria-label="currency exchange"],.emoji[aria-label="TOP arrow"],.emoji[aria-label="END arrow"],.emoji[aria-label="ON! arrow"],.emoji[aria-label="SOON arrow"],.emoji[aria-label="heavy dollar sign"],.emoji[aria-label=copyright],.emoji[aria-label=registered],.emoji[aria-label="trade mark"],.emoji[aria-label=multiply],.emoji[aria-label=plus],.emoji[aria-label=minus],.emoji[aria-label=divide],.emoji[aria-label="curly loop"],.emoji[aria-label="double curly loop"],.emoji[aria-label="wavy dash"],.emoji[aria-label="paw prints"],.emoji[aria-label="musical note"],.emoji[aria-label="musical notes"]{filter:invert(100%) hue-rotate(180deg)} diff --git a/data/gitea/public/assets/css/theme-gitea-light-protanopia-deuteranopia.css b/data/gitea/public/assets/css/theme-gitea-light-protanopia-deuteranopia.css new file mode 100644 index 0000000..1899ea6 --- /dev/null +++ b/data/gitea/public/assets/css/theme-gitea-light-protanopia-deuteranopia.css @@ -0,0 +1 @@ +.chroma .bp{color:#999}.chroma .c,.chroma .c1,.chroma .ch{color:#6a737d}.chroma .cm{color:#998}.chroma .cp{color:#109295}.chroma .cpf{color:#4c4dbc}.chroma .cs{color:#999}.chroma .dl{color:#106303}.chroma .gd{color:#000;background-color:#fdd}.chroma .ge{color:#000}.chroma .gh{color:#999}.chroma .gi{color:#000;background-color:#dfd}.chroma .go{color:#888}.chroma .gp{color:#555}.chroma .gr,.chroma .gt{color:#a00}.chroma .gu{color:#aaa}.chroma .il{color:#099}.chroma .k,.chroma .kc,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr{color:#d73a49}.chroma .kt{color:#458}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .mo{color:#099}.chroma .na{color:#d73a49}.chroma .nb{color:#005cc5}.chroma .nc{color:#458}.chroma .nd{color:#3c5d5d}.chroma .ne{color:#900}.chroma .nf{color:#005cc5}.chroma .ni{color:#6f42c1}.chroma .nl{color:#900}.chroma .nn{color:#555}.chroma .no{color:teal}.chroma .nt{color:#22863a}.chroma .nv{color:teal}.chroma .nx{color:#24292e}.chroma .o,.chroma .ow{color:#d73a49}.chroma .s,.chroma .s1,.chroma .s2{color:#106303}.chroma .sa{color:#cc7a00}.chroma .sb{color:#106303}.chroma .sc{color:#cc7a00}.chroma .sd{color:#106303}.chroma .se{color:#940}.chroma .sh{color:#106303}.chroma .si{color:#cc7a00}.chroma .sr{color:#4c4dbc}.chroma .ss{color:#940}.chroma .sx{color:#106303}.chroma .vc,.chroma .vg,.chroma .vi{color:teal}.chroma .w{color:#bbb}:root{--is-dark-theme: false;--color-primary: #4183c4;--color-primary-contrast: #ffffff;--color-primary-dark-1: #3876b3;--color-primary-dark-2: #31699f;--color-primary-dark-3: #2b5c8b;--color-primary-dark-4: #254f77;--color-primary-dark-5: #193450;--color-primary-dark-6: #0c1a28;--color-primary-dark-7: #04080c;--color-primary-light-1: #548fca;--color-primary-light-2: #679cd0;--color-primary-light-3: #7aa8d6;--color-primary-light-4: #8db5dc;--color-primary-light-5: #b3cde7;--color-primary-light-6: #d9e6f3;--color-primary-light-7: #f4f8fb;--color-primary-alpha-10: #4183c419;--color-primary-alpha-20: #4183c433;--color-primary-alpha-30: #4183c44b;--color-primary-alpha-40: #4183c466;--color-primary-alpha-50: #4183c480;--color-primary-alpha-60: #4183c499;--color-primary-alpha-70: #4183c4b3;--color-primary-alpha-80: #4183c4cc;--color-primary-alpha-90: #4183c4e1;--color-primary-hover: var(--color-primary-dark-1);--color-primary-active: var(--color-primary-dark-2);--color-secondary: #d0d7de;--color-secondary-dark-1: #c7ced5;--color-secondary-dark-2: #b9c0c7;--color-secondary-dark-3: #99a0a7;--color-secondary-dark-4: #899097;--color-secondary-dark-5: #7a8188;--color-secondary-dark-6: #6a7178;--color-secondary-dark-7: #5b6269;--color-secondary-dark-8: #4b5259;--color-secondary-dark-9: #3c434a;--color-secondary-dark-10: #2c333a;--color-secondary-dark-11: #1d242b;--color-secondary-dark-12: #0d141b;--color-secondary-dark-13: #00040b;--color-secondary-light-1: #dee5ec;--color-secondary-light-2: #e4ebf2;--color-secondary-light-3: #ebf2f9;--color-secondary-light-4: #f1f8ff;--color-secondary-alpha-10: #d0d7de19;--color-secondary-alpha-20: #d0d7de33;--color-secondary-alpha-30: #d0d7de4b;--color-secondary-alpha-40: #d0d7de66;--color-secondary-alpha-50: #d0d7de80;--color-secondary-alpha-60: #d0d7de99;--color-secondary-alpha-70: #d0d7deb3;--color-secondary-alpha-80: #d0d7decc;--color-secondary-alpha-90: #d0d7dee1;--color-secondary-button: var(--color-secondary-dark-4);--color-secondary-hover: var(--color-secondary-dark-5);--color-secondary-active: var(--color-secondary-dark-6);--color-console-fg: #f7f8f9;--color-console-fg-subtle: #bdc4cc;--color-console-bg: #171b1e;--color-console-border: #2e353b;--color-console-hover-bg: #272d33;--color-console-active-bg: #2e353b;--color-console-menu-bg: #262b31;--color-console-menu-border: #414b55;--color-red: #db2828;--color-orange: #f2711c;--color-yellow: #fbbd08;--color-olive: #b5cc18;--color-green: #21ba45;--color-teal: #00b5ad;--color-blue: #2185d0;--color-violet: #6435c9;--color-purple: #a333c8;--color-pink: #e03997;--color-brown: #a5673f;--color-black: #1d2328;--color-red-light: #e45e5e;--color-orange-light: #f59555;--color-yellow-light: #fcce46;--color-olive-light: #d3e942;--color-green-light: #46de6a;--color-teal-light: #08fff4;--color-blue-light: #51a5e3;--color-violet-light: #8b67d7;--color-purple-light: #bb64d8;--color-pink-light: #e86bb1;--color-brown-light: #c58b66;--color-black-light: #4b5b68;--color-red-dark-1: #c82121;--color-orange-dark-1: #e6630d;--color-yellow-dark-1: #e5ac04;--color-olive-dark-1: #a3b816;--color-green-dark-1: #1ea73e;--color-teal-dark-1: #00a39c;--color-blue-dark-1: #1e78bb;--color-violet-dark-1: #5a30b5;--color-purple-dark-1: #932eb4;--color-pink-dark-1: #db228a;--color-brown-dark-1: #955d39;--color-black-dark-1: #2c3339;--color-red-dark-2: #b11e1e;--color-orange-dark-2: #cc580c;--color-yellow-dark-2: #cc9903;--color-olive-dark-2: #91a313;--color-green-dark-2: #1a9537;--color-teal-dark-2: #00918a;--color-blue-dark-2: #1a6aa6;--color-violet-dark-2: #502aa1;--color-purple-dark-2: #8229a0;--color-pink-dark-2: #c21e7b;--color-brown-dark-2: #845232;--color-black-dark-2: #131619;--color-ansi-black: #1e2327;--color-ansi-red: #cc4848;--color-ansi-green: #87ab63;--color-ansi-yellow: #cc9903;--color-ansi-blue: #3a8ac6;--color-ansi-magenta: #d22e8b;--color-ansi-cyan: #00918a;--color-ansi-white: var(--color-console-fg-subtle);--color-ansi-bright-black: #46494d;--color-ansi-bright-red: #d15a5a;--color-ansi-bright-green: #93b373;--color-ansi-bright-yellow: #eaaf03;--color-ansi-bright-blue: #4e96cc;--color-ansi-bright-magenta: #d74397;--color-ansi-bright-cyan: #00b6ad;--color-ansi-bright-white: var(--color-console-fg);--color-grey: #697077;--color-grey-light: #7c838a;--color-gold: #a1882b;--color-white: #ffffff;--color-diff-added-linenum-bg: #d1f8d9;--color-diff-added-row-bg: #e6ffed;--color-diff-added-row-border: #e6ffed;--color-diff-added-word-bg: #acf2bd;--color-diff-moved-row-bg: #f1f8d1;--color-diff-moved-row-border: #d0e27f;--color-diff-removed-linenum-bg: #ffcecb;--color-diff-removed-row-bg: #ffeef0;--color-diff-removed-row-border: #f1c0c0;--color-diff-removed-word-bg: #fdb8c0;--color-diff-inactive: #f0f2f4;--color-error-border: #e0b4b4;--color-error-bg: #fff6f6;--color-error-bg-active: #fbb;--color-error-bg-hover: #fdd;--color-error-text: #9f3a38;--color-success-border: #a3c293;--color-success-bg: #fcfff5;--color-success-text: #2c662d;--color-warning-border: #c9ba9b;--color-warning-bg: #fffaf3;--color-warning-text: #573a08;--color-info-border: #a9d5de;--color-info-bg: #f8ffff;--color-info-text: #276f86;--color-red-badge: #db2828;--color-red-badge-bg: #db28281a;--color-red-badge-hover-bg: #db28284d;--color-green-badge: #21ba45;--color-green-badge-bg: #21ba451a;--color-green-badge-hover-bg: #21ba454d;--color-yellow-badge: #fbbd08;--color-yellow-badge-bg: #fbbd081a;--color-yellow-badge-hover-bg: #fbbd084d;--color-orange-badge: #f2711c;--color-orange-badge-bg: #f2711c1a;--color-orange-badge-hover-bg: #f2711c4d;--color-git: #f05133;--color-body: #ffffff;--color-box-header: #f1f3f5;--color-box-body: #ffffff;--color-box-body-highlight: #ecf5fd;--color-text-dark: #01050a;--color-text: #181c21;--color-text-light: #30363b;--color-text-light-1: #40474d;--color-text-light-2: #5b6167;--color-text-light-3: #747c84;--color-footer: var(--color-nav-bg);--color-timeline: #d0d7de;--color-input-text: var(--color-text-dark);--color-input-background: #fff;--color-input-toggle-background: #d0d7de;--color-input-border: var(--color-secondary);--color-input-border-hover: var(--color-secondary-dark-1);--color-light: #00001706;--color-light-mimic-enabled: rgba(0, 0, 0, calc(6 / 255 * 222 / 255 / var(--opacity-disabled)));--color-light-border: #0000171d;--color-hover: #00001708;--color-active: #00001714;--color-menu: #f8f9fb;--color-card: #f8f9fb;--color-markup-table-row: #0030600a;--color-markup-code-block: #00306010;--color-markup-code-inline: #00306012;--color-button: #f8f9fb;--color-code-bg: #fafdff;--color-shadow: #00001726;--color-secondary-bg: #f2f5f8;--color-expand-button: #cfe8fa;--color-placeholder-text: var(--color-text-light-3);--color-editor-line-highlight: var(--color-primary-light-6);--color-project-board-bg: var(--color-secondary-light-4);--color-caret: var(--color-text-dark);--color-reaction-bg: #0000170a;--color-reaction-hover-bg: var(--color-primary-light-5);--color-reaction-active-bg: var(--color-primary-light-6);--color-tooltip-text: #fbfdff;--color-tooltip-bg: #000017f0;--color-nav-bg: #f6f7fa;--color-nav-hover-bg: var(--color-secondary-light-1);--color-nav-text: var(--color-text);--color-secondary-nav-bg: #f9fafb;--color-label-text: var(--color-text);--color-label-bg: #949da64b;--color-label-hover-bg: #949da6a0;--color-label-active-bg: #949da6ff;--color-accent: var(--color-primary-light-1);--color-small-accent: var(--color-primary-light-6);--color-highlight-fg: #eed200;--color-highlight-bg: #fffbdd;--color-overlay-backdrop: #080808c0;accent-color:var(--color-accent);color-scheme:light}:root{--color-diff-added-linenum-bg: #54aeff4d;--color-diff-added-row-bg: #ddf4ff80;--color-diff-added-word-bg: #54aeff66;--color-diff-removed-linenum-bg: #ffb77c4d;--color-diff-removed-row-bg: #fff1e580;--color-diff-removed-word-bg: #ffb77c80} diff --git a/data/gitea/public/assets/css/theme-gitea-light.css b/data/gitea/public/assets/css/theme-gitea-light.css new file mode 100644 index 0000000..4bf4664 --- /dev/null +++ b/data/gitea/public/assets/css/theme-gitea-light.css @@ -0,0 +1 @@ +.chroma .bp{color:#999}.chroma .c,.chroma .c1,.chroma .ch{color:#6a737d}.chroma .cm{color:#998}.chroma .cp{color:#109295}.chroma .cpf{color:#4c4dbc}.chroma .cs{color:#999}.chroma .dl{color:#106303}.chroma .gd{color:#000;background-color:#fdd}.chroma .ge{color:#000}.chroma .gh{color:#999}.chroma .gi{color:#000;background-color:#dfd}.chroma .go{color:#888}.chroma .gp{color:#555}.chroma .gr,.chroma .gt{color:#a00}.chroma .gu{color:#aaa}.chroma .il{color:#099}.chroma .k,.chroma .kc,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr{color:#d73a49}.chroma .kt{color:#458}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .mo{color:#099}.chroma .na{color:#d73a49}.chroma .nb{color:#005cc5}.chroma .nc{color:#458}.chroma .nd{color:#3c5d5d}.chroma .ne{color:#900}.chroma .nf{color:#005cc5}.chroma .ni{color:#6f42c1}.chroma .nl{color:#900}.chroma .nn{color:#555}.chroma .no{color:teal}.chroma .nt{color:#22863a}.chroma .nv{color:teal}.chroma .nx{color:#24292e}.chroma .o,.chroma .ow{color:#d73a49}.chroma .s,.chroma .s1,.chroma .s2{color:#106303}.chroma .sa{color:#cc7a00}.chroma .sb{color:#106303}.chroma .sc{color:#cc7a00}.chroma .sd{color:#106303}.chroma .se{color:#940}.chroma .sh{color:#106303}.chroma .si{color:#cc7a00}.chroma .sr{color:#4c4dbc}.chroma .ss{color:#940}.chroma .sx{color:#106303}.chroma .vc,.chroma .vg,.chroma .vi{color:teal}.chroma .w{color:#bbb}:root{--is-dark-theme: false;--color-primary: #4183c4;--color-primary-contrast: #ffffff;--color-primary-dark-1: #3876b3;--color-primary-dark-2: #31699f;--color-primary-dark-3: #2b5c8b;--color-primary-dark-4: #254f77;--color-primary-dark-5: #193450;--color-primary-dark-6: #0c1a28;--color-primary-dark-7: #04080c;--color-primary-light-1: #548fca;--color-primary-light-2: #679cd0;--color-primary-light-3: #7aa8d6;--color-primary-light-4: #8db5dc;--color-primary-light-5: #b3cde7;--color-primary-light-6: #d9e6f3;--color-primary-light-7: #f4f8fb;--color-primary-alpha-10: #4183c419;--color-primary-alpha-20: #4183c433;--color-primary-alpha-30: #4183c44b;--color-primary-alpha-40: #4183c466;--color-primary-alpha-50: #4183c480;--color-primary-alpha-60: #4183c499;--color-primary-alpha-70: #4183c4b3;--color-primary-alpha-80: #4183c4cc;--color-primary-alpha-90: #4183c4e1;--color-primary-hover: var(--color-primary-dark-1);--color-primary-active: var(--color-primary-dark-2);--color-secondary: #d0d7de;--color-secondary-dark-1: #c7ced5;--color-secondary-dark-2: #b9c0c7;--color-secondary-dark-3: #99a0a7;--color-secondary-dark-4: #899097;--color-secondary-dark-5: #7a8188;--color-secondary-dark-6: #6a7178;--color-secondary-dark-7: #5b6269;--color-secondary-dark-8: #4b5259;--color-secondary-dark-9: #3c434a;--color-secondary-dark-10: #2c333a;--color-secondary-dark-11: #1d242b;--color-secondary-dark-12: #0d141b;--color-secondary-dark-13: #00040b;--color-secondary-light-1: #dee5ec;--color-secondary-light-2: #e4ebf2;--color-secondary-light-3: #ebf2f9;--color-secondary-light-4: #f1f8ff;--color-secondary-alpha-10: #d0d7de19;--color-secondary-alpha-20: #d0d7de33;--color-secondary-alpha-30: #d0d7de4b;--color-secondary-alpha-40: #d0d7de66;--color-secondary-alpha-50: #d0d7de80;--color-secondary-alpha-60: #d0d7de99;--color-secondary-alpha-70: #d0d7deb3;--color-secondary-alpha-80: #d0d7decc;--color-secondary-alpha-90: #d0d7dee1;--color-secondary-button: var(--color-secondary-dark-4);--color-secondary-hover: var(--color-secondary-dark-5);--color-secondary-active: var(--color-secondary-dark-6);--color-console-fg: #f7f8f9;--color-console-fg-subtle: #bdc4cc;--color-console-bg: #171b1e;--color-console-border: #2e353b;--color-console-hover-bg: #272d33;--color-console-active-bg: #2e353b;--color-console-menu-bg: #262b31;--color-console-menu-border: #414b55;--color-red: #db2828;--color-orange: #f2711c;--color-yellow: #fbbd08;--color-olive: #b5cc18;--color-green: #21ba45;--color-teal: #00b5ad;--color-blue: #2185d0;--color-violet: #6435c9;--color-purple: #a333c8;--color-pink: #e03997;--color-brown: #a5673f;--color-black: #1d2328;--color-red-light: #e45e5e;--color-orange-light: #f59555;--color-yellow-light: #fcce46;--color-olive-light: #d3e942;--color-green-light: #46de6a;--color-teal-light: #08fff4;--color-blue-light: #51a5e3;--color-violet-light: #8b67d7;--color-purple-light: #bb64d8;--color-pink-light: #e86bb1;--color-brown-light: #c58b66;--color-black-light: #4b5b68;--color-red-dark-1: #c82121;--color-orange-dark-1: #e6630d;--color-yellow-dark-1: #e5ac04;--color-olive-dark-1: #a3b816;--color-green-dark-1: #1ea73e;--color-teal-dark-1: #00a39c;--color-blue-dark-1: #1e78bb;--color-violet-dark-1: #5a30b5;--color-purple-dark-1: #932eb4;--color-pink-dark-1: #db228a;--color-brown-dark-1: #955d39;--color-black-dark-1: #2c3339;--color-red-dark-2: #b11e1e;--color-orange-dark-2: #cc580c;--color-yellow-dark-2: #cc9903;--color-olive-dark-2: #91a313;--color-green-dark-2: #1a9537;--color-teal-dark-2: #00918a;--color-blue-dark-2: #1a6aa6;--color-violet-dark-2: #502aa1;--color-purple-dark-2: #8229a0;--color-pink-dark-2: #c21e7b;--color-brown-dark-2: #845232;--color-black-dark-2: #131619;--color-ansi-black: #1e2327;--color-ansi-red: #cc4848;--color-ansi-green: #87ab63;--color-ansi-yellow: #cc9903;--color-ansi-blue: #3a8ac6;--color-ansi-magenta: #d22e8b;--color-ansi-cyan: #00918a;--color-ansi-white: var(--color-console-fg-subtle);--color-ansi-bright-black: #46494d;--color-ansi-bright-red: #d15a5a;--color-ansi-bright-green: #93b373;--color-ansi-bright-yellow: #eaaf03;--color-ansi-bright-blue: #4e96cc;--color-ansi-bright-magenta: #d74397;--color-ansi-bright-cyan: #00b6ad;--color-ansi-bright-white: var(--color-console-fg);--color-grey: #697077;--color-grey-light: #7c838a;--color-gold: #a1882b;--color-white: #ffffff;--color-diff-added-linenum-bg: #d1f8d9;--color-diff-added-row-bg: #e6ffed;--color-diff-added-row-border: #e6ffed;--color-diff-added-word-bg: #acf2bd;--color-diff-moved-row-bg: #f1f8d1;--color-diff-moved-row-border: #d0e27f;--color-diff-removed-linenum-bg: #ffcecb;--color-diff-removed-row-bg: #ffeef0;--color-diff-removed-row-border: #f1c0c0;--color-diff-removed-word-bg: #fdb8c0;--color-diff-inactive: #f0f2f4;--color-error-border: #e0b4b4;--color-error-bg: #fff6f6;--color-error-bg-active: #fbb;--color-error-bg-hover: #fdd;--color-error-text: #9f3a38;--color-success-border: #a3c293;--color-success-bg: #fcfff5;--color-success-text: #2c662d;--color-warning-border: #c9ba9b;--color-warning-bg: #fffaf3;--color-warning-text: #573a08;--color-info-border: #a9d5de;--color-info-bg: #f8ffff;--color-info-text: #276f86;--color-red-badge: #db2828;--color-red-badge-bg: #db28281a;--color-red-badge-hover-bg: #db28284d;--color-green-badge: #21ba45;--color-green-badge-bg: #21ba451a;--color-green-badge-hover-bg: #21ba454d;--color-yellow-badge: #fbbd08;--color-yellow-badge-bg: #fbbd081a;--color-yellow-badge-hover-bg: #fbbd084d;--color-orange-badge: #f2711c;--color-orange-badge-bg: #f2711c1a;--color-orange-badge-hover-bg: #f2711c4d;--color-git: #f05133;--color-body: #ffffff;--color-box-header: #f1f3f5;--color-box-body: #ffffff;--color-box-body-highlight: #ecf5fd;--color-text-dark: #01050a;--color-text: #181c21;--color-text-light: #30363b;--color-text-light-1: #40474d;--color-text-light-2: #5b6167;--color-text-light-3: #747c84;--color-footer: var(--color-nav-bg);--color-timeline: #d0d7de;--color-input-text: var(--color-text-dark);--color-input-background: #fff;--color-input-toggle-background: #d0d7de;--color-input-border: var(--color-secondary);--color-input-border-hover: var(--color-secondary-dark-1);--color-light: #00001706;--color-light-mimic-enabled: rgba(0, 0, 0, calc(6 / 255 * 222 / 255 / var(--opacity-disabled)));--color-light-border: #0000171d;--color-hover: #00001708;--color-active: #00001714;--color-menu: #f8f9fb;--color-card: #f8f9fb;--color-markup-table-row: #0030600a;--color-markup-code-block: #00306010;--color-markup-code-inline: #00306012;--color-button: #f8f9fb;--color-code-bg: #fafdff;--color-shadow: #00001726;--color-secondary-bg: #f2f5f8;--color-expand-button: #cfe8fa;--color-placeholder-text: var(--color-text-light-3);--color-editor-line-highlight: var(--color-primary-light-6);--color-project-board-bg: var(--color-secondary-light-4);--color-caret: var(--color-text-dark);--color-reaction-bg: #0000170a;--color-reaction-hover-bg: var(--color-primary-light-5);--color-reaction-active-bg: var(--color-primary-light-6);--color-tooltip-text: #fbfdff;--color-tooltip-bg: #000017f0;--color-nav-bg: #f6f7fa;--color-nav-hover-bg: var(--color-secondary-light-1);--color-nav-text: var(--color-text);--color-secondary-nav-bg: #f9fafb;--color-label-text: var(--color-text);--color-label-bg: #949da64b;--color-label-hover-bg: #949da6a0;--color-label-active-bg: #949da6ff;--color-accent: var(--color-primary-light-1);--color-small-accent: var(--color-primary-light-6);--color-highlight-fg: #eed200;--color-highlight-bg: #fffbdd;--color-overlay-backdrop: #080808c0;accent-color:var(--color-accent);color-scheme:light} diff --git a/data/gitea/public/assets/fonts/KaTeX_AMS-Regular.73ea273a.woff2 b/data/gitea/public/assets/fonts/KaTeX_AMS-Regular.73ea273a.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..0acaaff03d4bb7606de02a827aeee338e5a86910 GIT binary patch literal 28076 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 G2<`xUL{2yW literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/fonts/KaTeX_Caligraphic-Regular.d6484fce.woff2 b/data/gitea/public/assets/fonts/KaTeX_Caligraphic-Regular.d6484fce.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..75344a1f98e37e2c631e178065854c3a81fb842f GIT binary patch literal 6908 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 CFgb+) literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/fonts/KaTeX_Fraktur-Bold.931d67ea.woff2 b/data/gitea/public/assets/fonts/KaTeX_Fraktur-Bold.931d67ea.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..395f28beac23c7b0f7f3a1e714bd8dac253dd3bc GIT binary patch literal 11348 zcmV-aEUVLZPew8T0RR9104!7h4gdfE08HQj04x0f0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/fonts/KaTeX_Main-Italic.fe2176f7.woff2 b/data/gitea/public/assets/fonts/KaTeX_Main-Italic.fe2176f7.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b50920e138807f385d0b0359f4f0f09891f18406 GIT binary patch literal 16988 zcmV(>K-j-`Pew8T0RR91076^<4gdfE0E4su073x(0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/fonts/KaTeX_Main-Regular.f650f111.woff2 b/data/gitea/public/assets/fonts/KaTeX_Main-Regular.f650f111.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..eb24a7ba282b03d830fa6c63ee897d92a5188736 GIT binary patch literal 26272 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�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 bkH82T%!~T~dOL3iZSfI!+IWoKhyte*`46Vs literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/fonts/KaTeX_Math-BoldItalic.dcbcbd93.woff2 b/data/gitea/public/assets/fonts/KaTeX_Math-BoldItalic.dcbcbd93.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..29657023adc09956249f6295746c8ce4469b50d3 GIT binary patch literal 16400 zcmV+rK<~eIPew8T0RR9106-7`4gdfE0D43K06(+<0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/fonts/KaTeX_Math-Italic.6d3d25f4.woff2 b/data/gitea/public/assets/fonts/KaTeX_Math-Italic.6d3d25f4.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..215c143fd7805a5c2b222bd7892a1a2b09610020 GIT binary patch literal 16440 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 G>;nKVNojrn literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/fonts/KaTeX_SansSerif-Italic.7d393d38.woff2 b/data/gitea/public/assets/fonts/KaTeX_SansSerif-Italic.7d393d38.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..349c06dc609f896392fd5bc8b364d3bc3efc9330 GIT binary patch literal 12028 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 GG{*pT{>~Tx literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/fonts/KaTeX_Script-Regular.c81d1b2a.woff2 b/data/gitea/public/assets/fonts/KaTeX_Script-Regular.c81d1b2a.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b3048fc115681ee6c1bc86b0aa158cfbbf59daa3 GIT binary patch literal 9644 zcmV;dB~#jWPew8T0RR91041yd4gdfE06`=G03}%f0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/fonts/KaTeX_Size1-Regular.6eec866c.woff2 b/data/gitea/public/assets/fonts/KaTeX_Size1-Regular.6eec866c.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c5a8462fbfe2c39a7c1857b9e296e62500a8a8a5 GIT binary patch literal 5468 zcmV-i6{G5RPew8T0RR9102N#S4gdfE059|a02KrP0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/fonts/KaTeX_Size4-Regular.e418bf25.woff2 b/data/gitea/public/assets/fonts/KaTeX_Size4-Regular.e418bf25.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..680c13085076a2f6c5a7e695935ec3f21cddb65f GIT binary patch literal 4928 zcmV-G6Tj?tPew8T0RR91024p}4gdfE04S^g021l|0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/fonts/KaTeX_Typewriter-Regular.c295e7f7.woff2 b/data/gitea/public/assets/fonts/KaTeX_Typewriter-Regular.c295e7f7.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..771f1af705f5cef5f578b3a1e7d8eff66f9b76b0 GIT binary patch literal 13568 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 G0ssIW?0qY_L7X7%*TK4>p?(7?>ff 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 literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/img/404.png b/data/gitea/public/assets/img/404.png new file mode 100644 index 0000000000000000000000000000000000000000..8b66c971f462dcc37c6b3f33d4a9c35c68a8979d GIT binary patch literal 4516 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 pyZo-TUKweg-#@s_I_55he7hgeD@zAjLvQ>AeRF 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 literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/img/apple-touch-icon.png b/data/gitea/public/assets/img/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0c803d35dc34c01281a52c460cee9e65e29ad60f GIT binary patch literal 3162 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

9N^|!jAXDgxr$}e965C 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 BTF?Lh literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/img/checkmark.png b/data/gitea/public/assets/img/checkmark.png new file mode 100644 index 0000000000000000000000000000000000000000..ad85a91027713d18ea4a3d7b7d22dfe540e38f5f GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^q9Dw{0wkH`a%F*3fv1aONCo55gB!UV6D1ffOuq9) zz1z|ARP+WQ0ANajWoAC6u?TStD-{)H%@0Waa!szRUDT(h=l@CW*WMu~2 z;H>W5<#)(&;jznJ(#%T>CSHl+NH;EDc;)leu$p^cOg+{)rK%i`NL32{}Qp7VW)8fXq(cO4-#(J$r_-G$teCFSpq`9wV^YicTgZ%4b^77{JP zr-(>#gZYchJj5Cy;-!1TKI%pEBgPREh#!W$v^%t(zU3tD@1pr3AN52!sf5Ut_|#Qw zY*<+N2F@P8hpyLg&UuIf$H#UEkONDGjt`I%Pse`}a=;j-%5`JqcXD19u{LBE2GADGqa9mbL3F`m1DBi)UaZz%^y5aVs#n1?<-TWccGJG`D&qg~a! zR+xGkfAzZ@v&^aK`W!I2**eDHB5?m4de_7joaojSoEtsF(Jf!D>VwJQqdff6Hnf2- z63QXqr8`k}Uf0nv-_^**i??&ZILkS#lh(CO4N0Uv!^&|$B|7$YxWJiGa^qNmK` zBGzmPvZkaCw{oQG>Po%R3;Mnx;|ggr>~dC>+on&=a~%_#Y9e#LXJ>3m|{ua9DZE>f^OlrWxg}9%K$w}Dd92YaOY5b#XY+3^BhFSQ)E5R<^ z(0`vBc4F^Ou_ni1iyRD6GI7<9>}^y3_@(1|3Ehtaf5Zvj*!U?<_CJAje-Gy-{>z2L z1U9U^f-m>s!*|$t?lX4!%YHtJ7_r5FW)Wvj^l~v3g8nfsWzmOxx@un%f)e_Li>cuhf$N!Qr)JpcgjUYU z{j006^N}G=zxOQ1_dEn$XU>eej5QDJ@k!Y~*3k{v_q_TX%MSnDw6mOrnMA_K)c^$n+9Q@WXee_pADG zrq>VMHqbMUasQZ{O%%3DC)??Js2|naUs7Jq6xgF=A5@rnDz*xC&_nQr*s6L=+32dc zp;Hku!@+iX6nijkHSQtMN?$nf7_B)B_)<#?V`32FfhdtHdOl0Z>?2MBgJzwMN=WuS z=4bgeB0MJgSQiThl=&y!RfcxRrqs*ufYB*%ou@htg`AGoH>le<%p|PS?#oe z({HuH%`@*nLTsLYl?LMfo@I`_ItOgff%uGG=9ZWK))VAy#|=l-f%`DlgaP$kD^23f zPUd(aeA*o6Zn`9J7p{c|{=s^EFZY7%$*nB!VY#!fabDikOg(TnunAJ<=6}%*{IYLO z)Y3C`@JSnn+C@n@i#p9);V64U;GWe<}!Qv7xws}s#j?V?@p$TpTFsf@G4xa`CU4<%EKnFt2Q51D(gMQ z-2%m_rvVRL3myLb5pw(GY_D@#^K#FEZw_8*9ni0Ha<;ef*?mv==o;wo+Lh7)+{c0W zIXf=5GC3nc_TuI0fj&$jt`Wbw@wnB=+?4eJI7jQ%18wDPVN;-e_WvtxTyAw9yiwpD zc`tNng-!m6cm^Euf8PY+IXOom-5}>l@t+%(UdPc!=9UI75qSzkD>Fn(qeP2Fh#C>+ j^dq+5t}q>`R?ylu^h0)}92*5wu!RHfC?+RI7xDi99|5x} literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/img/discord.png b/data/gitea/public/assets/img/discord.png new file mode 100644 index 0000000000000000000000000000000000000000..db0e70d5d42d5a4e9df0db6491f647b3f33bea76 GIT binary patch literal 1559 zcmb7Edo&XY9G)H&d0dp;v2w8MeVH|3lGiqpVP>mYPyKh#`F_9ecYf!5|9t0sUz$G#t*#1E1pol* z-d>(q1+OYbx^1&!FO>{S6a@1>ghMKrnl}Ew5KRfpQ^>TUv6w)BYl7CprQ*R*+bP4d z{&iWJtIY@iU~7`MryGu;wD|n@yeeDG-!&?T(Y5fuTrQ(iMeiG5Xp|7A#B%9-@XptnMd3^YRW!BRa-Md=M|NLpK{9eS{qY# z#+lk91@5qxyHYr42->07qd8BIROvpgNvj)4AUg^$YEEz|%VJ*CO|U5SgN2xu)j-5u|JfpgU@0am_iI zdX8qG;>=E*)BI$sROL*@AH`G2&ih_@2nik7S{_|F%j~gU;kxx;yspl4m86!d(c#p4 zG0^d34V2LXY?TkM+rG4%tu3Q}>NUWpHI5`OJHiNIwzOtX8Z@3g2Q7s+b{^pBUz0;b z3cq!qslOK{pZgLAR>o@fV1Fu{ZCk0UFc ze(I|Br?qji^DFL-@(lxhNBLG*@SP}3$$048byr&3yO@|a-?i#VDpVH8yME=Ib49Y9 zrV~)7!rPV9+eI)9^CwtSgJCltUxzZc8%&`a()-QjB%(=$iUDp{S*C-P4VrT9uv_N% z%RASB{H~Pbup0Q~a3QfkIX1PEcM=C1oETp64U3x%jSaZM^n|F&`yLv9KjrK+VT3H2 z=-TF^Zh5-8!PNW>mvV+x)V#3GJ9V6L6ULEZ$C^y7>_qgDhd>Y=#gPgOJ@!+G+v9rs z^p^zz$!zJ}r?%NE!dzjh|9S?3FhOl%9W)YYES+}b)(88|lx*QY=h3ahlRoxqi%x0M zgzME?_+t$F`%Q-aJzoBiU}YP){7d4&BMB|HhDRH2uLPsny0_^1n(U*!nEj=A#}KeR zM~|JHKB*y|{1l!}#DRXe{@j5mr3#!VAj*Dh$ECNInQO89Hs!m5#~62Lgdvq5IeO%Xkx5BIYTG(SrV_cTr4=Y(nr#cn`J$2PFYMk5ZoWN zdV%Z$jL5`Rb2?EjNBetIblMxjB2IxBCBJ-D&y5lnO1TRRmi}I(<;@3>vGX4t;DxTA zW8^0Lo-GrBQf@YjXBlxQGyYZHkQUh(mfSrkw$sfw^C$m)87EeE*L3Kr=4MZ=ee%V)+ep>WE;)lU~aV+DuNAs{_e5mfpn5 zC~ipg1GEo?cbMt{LY)t*cg^9~_E?fNoWHp`$mHi;7dYDbssI20 literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/img/emoji/codeberg.png b/data/gitea/public/assets/img/emoji/codeberg.png new file mode 100644 index 0000000000000000000000000000000000000000..b91613833a2ffafc514facb6beac699ee8973b89 GIT binary patch literal 8317 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 literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/img/emoji/git.png b/data/gitea/public/assets/img/emoji/git.png new file mode 100644 index 0000000000000000000000000000000000000000..00a6bcfca4a2c4706628cdedf404dd7d1ebc83dd GIT binary patch literal 5007 zcmW+)c|6nqAOCDdbGBK|HfBbJ+;SgdWpmX}?vT4wa)wHodt*74vnWXiLgYRdlR1*B zl>5jTa^x!MH{U!_wjf?UZ2R)-LFxuUAlrYk(&Z5)vZsee-&tyQ`n4yl=pj z$E!M`0DwRe@i?o{?3JAGR7cO-?aiNZ#>~s#9f#tXoZ2b|&$u+jVAs@geHh|tE?;XA z(kV}#KR9N2)TMHNEtM=f3*?b}UI-Mr#plJ|3JH!PAtlHamb%5qyyN|HJwgOch+LVq zA&B5Bs{{Jwh>W)?S$}@q`0jhs7t8`u^h}_++5(KhA~4kx58%JPm;3z-Yq& zRX7oB2w5jWX0Kvs5E67c3fk3&$F5VL(<#EtLlgm>ju7rRL}chRO}O(Av2>BbhdO@> zv|oZV`8kC!4Tk5l@ncy-$Tz|#8zmcPJ|bgL=*WuqqR3ELo|y^Y*FuRD_9bV7{H21# zMR{x?Q?lA;;rQb)aP;G#Avi{tN3=YlHgDB1FFq)l@2$z+4|7<`vVJdZy$e^PM;*pQI)cxcys~TXx?MW#cizrr=z#=meCU1qS=yI;3mSvF zWmZ6UyJgW8xY@LZAzrtXBIdDAZN!V!I|s@huB2K)3briL@AlcGvDbfL^tdn{Nm_-p z01ayilP_H;TdI^$`~p$TCiFjIn9?+GUb8g`q(C;L4c6N{Pl}j|Zdm_yv&hv)3QbkR zv;6sGiEcNKZG0H0FLqM!kxCW`7<2}r?xj(l*68*sbE|{GzTxzrfYwxnXYg-9q=>UX zBAXv(dP^s4`icMf=tH~Jg0cFhPt?kI%wLlLPLeom;LCXHqQr1{;6&KdS>AT}3goddWyD(HIUe=NS3B!~+Z9hiclSJ%8!4{kyPJw{G22$=`f~CPrh+1fsi`U$&edMr_%!!_O+U+6KQ~)m_gzTZ;u;gt%>0*41QGbYa(t zZYP-cH8&g$sHf7tuL`})d|+xlyO$e> z3u!Z_*+E+#yM9fYZvuVb7^@7TWAb`^ZJH7f`f~Ky-#U4|Gn3miCvpl}9!iG4yAzWwPaWQs$2o>TH8`x?PqSyn7S%idyF znelM?20~<6L~Sn4(+53<%Qj9tv$tzlmhelo`s+G``n_#N-Jl~u^fg-vuKWXEueDrfkT_DMLFSg-o$^ETv(wQ!N7Omcb>Y>~|c` zr$)xEK&|*EBEPn^JXLwed?uQbkBT5po5Duq9O;aI3n9q&k{F^kIEAq(G@=|R?!KnJ zPnCd>2>pB$w9wxHm)b@-NKK1dp%N~5TJSE7u_e^tHK)hJuZf9cX+F_ve$$3bYPTT2 z`AF0eG!Dcv(;@bkp)1|)qm=Fmb%ec9(PRz6?=;ak(yncE55FshPYgA%^EsV8zT|D+ z$z;4d(`9)L(6^vB1HTl7lR)H=;8!JLbz0vW6C6%eKgnE;HYp3S5 ztT|VMc&J;qwn{fE=zVgdkTp*p9j=!@H7#b^6ROSiOo8U9ck^N)sv&CQ=2Q&ytYZ1i zP1W8$aC;SNn}%hfb0o2bLXfo+#E){>-?u#tN}oKu+}}u&_neaj{i^?H)h!|At=U$X zwlPmZuE&vZrA4I1hEqS*?n*m%BvLOM@!sdA@6_r#E5$jo>y)C^-d(^5YSJRbi4C+d zn|l(M3ZAsmg{(dA|0xp9bnW|hEtIJ|*TX-i<;MJT z)X-UdLPmU)i!aX2ynts%B%hlZ8fS3Cf^ z_ezkh=INH=-GXF4nzMy*( zG854>we**sJ&)sg)dZp^)LrAR@XK@hbkE8p|^}{fJBArS%V+LT~KPL!6J&x5P{g zZ)nDc&LzHm#!+whd3We!Ro>e7=`oAJ&#+z zl}*UZ=@aQ^U8yM8Y4zmCJNj5ws+fY4_NYq}h1M_+lJ>_GGLrP=UMq>@I-F|0z5TKM zf1a_KL)F7hWwXB2<+a^Lp)_Gir4+_5FgrC;ZM42OK0v(wW{gX-b?09B)|U6kD|~SF%4uiA5|o zW!j`Gy4yJ~G+=`*3a^7dQiMnUcj>CxDVM&b_djn+X^S%t)sL z6q>Cbk2R#O$sL)TVVGdyZX^Xw;Hj+`o?oJ6H=PYS*`H0o;FAr$1K_&g(=;d?qo_#& zd{@a>LkQH04?S7`6hp~Pq0a(_c4FuvlJ-k@|CIrzgzfAdsnji%a;}=w|Ju5Re)`C1 zl@73NpApPy?-pX)H7DO{6R^ErG|Io^CVJP$weroF7X27W!RvBX4ds4(T?Qyrpl-Q! zGlS&EOFD4rN|1VHRy4=|`_5AadDBU>dq+{i!yb%CK-w!l1@H5Uo@AuERk`{d2IMca+#JK>p15>yZ6t%7p>aFW32Sd zsrXt<|0{Zb#U-wYQYW1Tm0v{`f78}aQ2dR)YQl3@RwZ4Z?JISp2GMdF{|Ju0mU*+| zHxrxLaCcO;Q`;DE`V;(B?!!@&9o^^46Xz}kuS&927j#~vruX#WN20blSFtM8Ro^1M zS+lud`pDlj==0)0)xJ8!S$=KKsDF*k8*es-kUP99VQ|7=LUKiLqV#a}HR3SX7_6J8 z1~8vBAK^`4=!2YS>bdHw8y6gfqR*8Cs#3Di2BX@NX(wi3a#VD;mT zBkh`33){67X-%lDg?2RWIcZe+doiPi+6^hg9nOVY||nV$N#{w7wbd90Xn=e zP#3o6{n^n?0t%~MO!qHX!Uyjn3R!7+!XdlEk(#M9(-S-MW*PN(KPLXI?u-2_j+v*{ z9(!mT)|R-TMR=HLR?SqRhEG0t6?gx9^kMSxzD8;p`IKSFhmMT|%2K|o-W@U>ib1(4 zJZci47r4&vqN@S`CDtqwut70Cb9!Q57Sglod8oXu55$48bT;yoCi6YRrTQ4h+U)Wv z#N(?f*(46^NO!m>{T6vup_VCUzhkt_4x09#wuqj(clWNm#zxbX?Ol=i*^TwMTk4{h z$hE>&J`%7$J$+bsB(RsjqjxzB*7OtKi(Ks+SCC7fNy;OkaG2?*L)VU}zhf>NmE$ z6Yq6;D*oB?N0miKfJxPW-J9x$L}E750L%_@^PhgA%I|NeCr&vAff0|<>@-ObZZH|k zMW{d;w6KHlG#Ie~X}|?JM1&Zmfyp5Ph!2nk@&6%08q%PXh4{tuE%?wekpPBr#PZaU zWJ?^7!eB2*VPlsg2Ne-N-Uo>*5yQ$Fw18b&$`2imV#@7 z4IrE(s0k(j5)I{t!C4w8430IxpeanaB8EV}n#y88a4bZX)he2$;pbwtGQ>kT;p{Xr zQbIB^+KkKsT;wIw1%y#>=)NP;lp#sv6E3a-V?4_O{H1CiX_A%iUK0u-K{9@K;41-J zQ)fdmcUv1fFwk9q;xD?u*Y=-o77DVzAkNkT6e52Zl4-~(l8M>RwjAIR8P0X!_MJS+fqCIA|y6@=+0yZru;VraZ|9dlcj^RrM(^5 zABu)X_Abr>6t9y0O9fkpf5_T_|2EUB!C2f49asR&tbbJc3ut2e56;2G$>uNSCdMqL zHm0_wcFy2eEZ`rkgN41bJ=ntjzaah3<^PSrt7+xr{^9YT%3^E#4-2rfgzKvse;edK zMT1p6986i1O~LjqPR6DZuCHQJ{?Wz(DCT5p=xpz#YHx4zZ$~NqTVygZu|JOCC8Luw zG`6(+qX+$e7-cGM=xi!L@dv>KU}FOCsIsvF*?EBgE+$q^AS>&?pmO#mmS!IRhO)6T zv2rl6@~8rMfUInPK{@_E=xf}V7&;sNU%@8EKr?$MTfv&EM9%DluGj1k!6BBMG4pv@PCL;hZHxnxxyAe0{D>;C%>A%M-I9a~t zp`p$Hn9iT<{1ZSxX-n{{Yd!wX9~D!_zgsqzWPimB(9rl#E(lN<{|N$96N z{P#5Y7g;w8(^sPZhq(9`3~X=a>}Kd>Dq{X>t^Z!|vHVvWfDK*$&+`BGJovxM|6c~{ z|5*ON4Qy;-XlHKvT4Gr!{%FMVrx^XqJuLr!&;51nKNPNi!(Xf6pXNVh`1RzULT+mJ zO4{kQOyA$$=0HJxV2}|PQFYJw-R6;@tM0P*pzDrQKX$lo1sAFPJb=B*b_u*)>VP4OxvhErKWC}lxyQ^bv0KfO1 z9X540mAsQ<00p{$*9?($3?Sxb8I2F~2|S8!kY*eVHBIzCg}nQ6d1QB+ncahy9Yp-X zt+V__mP?EirV$paHM1*FXaEFnp?R-|Pk)k>C#EexiHZlOBmqqs5FUUaF5FoffUIYY z#=TF{s`-o7Zb56Qzzy}}pa6tu%IYaKJ=+6nGn1dmy4p8rM7Zxyr z71Ju5DVahIMA0&VqTd5T005LEf2Qzt)PGiVF7X0G3}-{!rf72ssN z*TqI;qCx3P^HZ)X3VcG~G!*W`J5$_Cg4?pZn*1vI4aObwGhWVCQZAioWn?I8fHHK6 zUJ(pPLKQ<5n$xmxd?OJZXGV5OMEul`!Ciqacv2M3Aupu|FGW5Eibgb^@(s#>R~=>y zy83X}4@xgwxSW<=lUha?M#kLGCbeJaMYy5p(9}wy7{%`SMGVxHk?yAAIiHnXvPuYs z^>mfW-m@Rbe$J1Vif~s^qQ1@wM>Ivlxl-*_yizQVEBc^#^%0b~AT}$U>sc1U2bx(R zs2+C`j>MgL6F-a>wB!a=#^BFDjvkKbNi7<7`WXfz_Qz#tWNcR~2I3heMl!p|xCwPA zSkikOk=L4&HaMd$UMXijM+iA$bIF5niNoBhU;4Bekqq9(FH*Hu)ivomw*ABaxU{sp zyUZ>4Zey-2m9a-$yJrw9$iR9_qhEr!*w3nbgKn+x!|W2`W`gPw15!K9T5IG6h~J8V zK~FMZs^OqEBW#;;P&unB9vq?i3>R~G?VY9w-CU3s z3dNZq7NRCrEY3DNMLabXTe7q`MRhzho8%B;JO(BH8%;9WSR8W3Se(Jov@(;A_>>Ip zBIs0~*o~=d`4CVLAawg^LVORK`DpxlzCc)3Mf`v*;csuwh#a{Z*h+5POwMbMhx2gv zY()DR`e&Q9axM9y-v#7Rl@!0(ZjX7U2^IE>Y-zqeQk7MNyo)1>r{M<@FnrarE+)u< zFx;Q674C^E@`q1q4c1WY&uR2h^J0~LjEtR;Mt>s{1uGB26mP|7mCC#krKyplpkWl| zqNKdiq~9rrWv~*7q=ObEvt+3k{yGka+W}Ui>qi)Ju=z$n7FU|2i0*m!$JBR*D-Tu9mF6{S)oM`F4**b>H60)PD%2REQcH z;mw^t5qG7z{~NBqA&W0aVkO2SGM5{>@OSl*AycL9d@M z`Q_;N+onm%;m;^CztxJ9BxVa&SyOyc&J?D8oHJO$yFkoTtu^P*!VVWG74g**hR-;m z1278Heu$?dyLKtoU4}(FP3x~ckGa-5<_jS~!}d~M1;yeB=}FgK)=&5Pj_y1brop6v z*NQzsv=n5nQylXCLxm*UKEMh*T5RW)O4?XUY@hGr{j*t-54k|YcloJx6|tHXy#i+E!<_?kYq=FO$W$!nmm58` z)SDDsgozgWmxG~TsGy26Q`7I#H@ipt*_lsC$pJp!L`qY8y=W0B?87)e&r?my2n`*k z>3?gMw)M2=7m!0CNst$t{_;D~I#((M5OYN687~JiADOEqmAh{1}&R2x<^Q*iATh3$x9M1?-UvpM`0IrKfVSmg1sWPR;IR>bTNhK;xp}PW5x_~>u?DX2HzWwnOD?}E@p?u z>04RE+N;LF!?Zl(wx&0d8ptY+~H8dVBRG zjtZ@)ZR|Ejytq;VpAkyp)a}tuzj&8^msZDDH&e=#3qNCU{4)E{)m6e$MzM^y7T3_e zmIe?Tghec|5)aNWG?;vupki~QWy0?@wC+!=Hm6Sdd_1Pxt3guQfmrC;0p4>&brR%$ z0T5QHK(^{q-Koz$DiRlmhdOeRk}0wL1Mdcm7R7fVcs<@h@5;X---nl!74|1c`)B(kAu z5?`F=SAs(i%F&r6HEXr&;d?VcKuV^6WIo2eZrYgYqtN@S=Psx*V_Co0v+zsxPxJ5o zwQtWDsNT`85#ifzLJ5~5iI6dZJ%-YZlk1UCO;o*Y%F4+OB`z(kJMXaajoi}r6nxz9 z))RcxC&_D7QdVkzDw59$;?NJK3N4_FQ(%K+j859-+m#d;!F}fMu|5YN;!2X!>K9@F zl8_UPRyC@d7fX#=iwI-{Y^+pTs6H!rLr>2_>k?0{`X_5MU=qR$5GhkWmm5lYQu4&q zLCHMP>Wcnosk%9J5Z`kUpKRoasq|EQuhkpQy7;I7pm5A>TsT51VdGhu3!oDh3smhU zKVUxBIURrJN_wz$;g)S+F`cY&rsv8_ss8yO@}TIY6J;D`YB3wbs9K=O>f$uU=Sg!o zjC}GS)v(rW#i=;{k^%fMTx|j1O?XLP_#M3Jl$;tt=?_5e$pq<*!N) z^j?;ER659|=_bo%POnHWgk(7v|73a#q5>3@HD)q$=d66mLhCol*pk#mRcPgNDR82$ zLoH=%DU84Bvo@hk9r zMXoM{Il6sZwHVp{O{GVZ8W@7DBu)c@iByL{SxZ?qBJMH-7!5+-tc7(vGxmIL!T@SL z;8%R2_z0^~ba=JurEYsQ_W@%sGOK&RnTu6t-+X7K;Uett#qX`TzQATfbic%hY%op= zQ|lM?cl=$!0%*0ahXO?W&6#dGm*nuWQb;!L?cY1x(RMUO*5LWjZ);h`#rzDum*d<+ zfV?O)?$e^S#7eX942Cv)RF1KkC*eEFY`wCaeU|H_BwdN6m)aVO$UU=I+Vx)3a$5&2 z^8(`d{2R$JXcWSJUrhVYVB=qlK` zE2e;%8oK}r`$UsOlQ*7YFM-H|!%!_mVBs-O``joefZ(sniy)jcFfY1ABP-e^;lIF| z2q!i^p1m#0_b}Y%JlB8kJ!?lNX3iTGt}zn}T!;y@*Pmq$xpoxJ2V52!JXt-JD|0Aaj|I}P=Cj-F(ko= zDDf@zct=mcV?AqG!-uD1zyh|`)d8!$gG51>9Le%qCU#TZsRwlm8)z{9QVuze9BV9v zt5S5WIujn8l6}7&AJ%5HQ{Z)F@U(Lnkw2_x9IaW1o65tJ4O88zyg6F+F8 z4nQc;3z<#FT~@ENz8$Vcfz!2vf-{2)BHpP<)QR3Th~Jgo37wCujz|4@;QvWc{SvhY zyX4$mc<`DjH$hAAs?9uzNWfzhc$BEnl7GVjtTxJB({{xQa$L&%wmEm1~e) zYbI~2!{f-Sc(#bBoqcQVX8M-9E@Vy*h{qX6}sk0aC17}?Hk`{5Pr z-n-50B*y#npjc1v`<9SUR!p?B=m^2?sYUfjoR2hd9(@O72+?+XO}at_wZ7bAL9TYX zS4c2~Th>u%-?IA@2RWRcB-~ExsZY#$)}%BWo*s^VL9#ZLNdce$vhFm$p~NwEZ40V1 z(R?Za$yz?47Y~!M`AR(N6@$&7uK}NRB{PRF#vQ)UebGXn?L`;Fz~WI*Gm-ha>6Ny! zNs2T4#;&$FV(Dfx8U|dR|6(B!uf(AWkI$bh9BHXvr=~y10-^EbT%WcuaW!#P&NLoA z6hX;9V2!%ts?fX_Ogp#zcCm`3p5KCSbG8xTJC?xb(nO6&lW6q3(aFabcf}md=7n$I_$rpD z%RG0hjy>T8A5@70S=KvqyNQ-83)Ah`(kLm!ezG^qmF++G#(gsd_khL(wQ%t33Y`Qq z8DRUTgr>%>aM!xz7>}uNXBB=u<)QK^<8M3=whuSVKVkS+n*{Jvh#H78>$+3EDvs?d zYLX#cg7J`cj++|WG&b@l$}|>g0<4rxs%B)Vnde}16q-(f)Ug~;%Hc*a?^1517&c{t z>Ra9SRA=)Js^?cxky5?X-dT)Xe34g)J{}JFzL4-!UZS_ayPo=5>vZjrE+t>5;*hga zt1`u$qFxH@&p@WrY4qMaT_fYmSgsAiNXzbWU}?)!88K=TkaR5`L!H(<6)GSnJ`phx zg;e)KGucI_OXKq{&lwA%SB%Y8cJ>onQ6Bwz977<*C2k9nP47;`T9|sD0p9A7VRx-K zx=bc1P9MQYMgeu1=Cx09z5cL6Q+8I)8+TG;TOd^iJzi(nU@SYru;V#MyZo@^(83|y zd}ez(@uB8*6XcFh+Vi~-URTV&S2dE8pjw?aoJwr7(*4TuGvFruXz*p4n|7l8j{9D7 z=?4(%(q$XBP_LR}(>dNA?rW%Sba7!a z&zQW0k|&nOibR!$j22xe(~MTX-cVbb^>gE~e`wvF4fTUDx^{JM22naa0%|B|N3OQ|!&k-DY9cU5rD@-&YvV*IsB`K6V?d8$Wn2&&u^d zWN$0VZcu6Q;T6Rr)k!tWV!Cm>Df8X0H@XUi;!*a=6WB9HLE2y>bgWowy`HCzx-eU` zuKEXqHPefyAJJQ(QBQKHahe!|sS{iH#Ze1=p@z%)ksm*E46k4*z8mQ;w%p~6TJ$9J(Ztsqd0xEk(|XrB9a2};4nNXlual2X zAHZtw5nM+X94U~*drR)ieu!cQs|W2kVcwokE6lLa>W{^kp7l4Z ztA3qJbUFC+n#UH1uIZ)s;V3U}%t#Rp%?_gj#pxM8SQ=j`rhqD^vE#VkfeSPpU)x@EIHScFH zPB@zUf@-Q_-HDJ4DA9_;_;e#Z1R0@P#Km22r9-FGi)8iGI2LrBmSTPi^}amauF$KU zy>DLOt7*Jf;f$m(YO|7u7*c6BK7*z?SZ0QSY?Ko8H~t(56t@tsEGEW!zs?YKNbEKB z@ADaZ!SX0v@wTS=(U97MWo2E@1Eh_aO~~lL+H*@?5GilY4QVMy4%mQO2y#}rPqHE_ zwM|jcaoV%uGemoLTh}pgzNik+IX16y{>)QcRk(*UXWNlYH(FC=3YQb*E)eiZT#*PN z#?D-7?*h9fiu2-prVA=89EHYJefF+0)v8@V6*DeudF+!$RNIN}jmK&krdr+!3d%lh zUWSK47hP@%EqMEq0<&mdO=V0n=yck<@6;2wWrF|?V`=Fw1J%Px-@OdhsLmc;*W{#tqUUdz zX8fY*08S`+eEPv%;s@6(SJTjp|d7pe3RFM>$pImk`q#(lTFz$-6hRJT5wE zB_FG342o7p`oQxJKQbDkmtzYKuJ?a2_1k(pngd=!8 zE+c}y9Zh!%7WAWrRSP5ifrog-D0A@w#b8b-?>^>ww{~GJx{arqa9`*vM4X>r$rQ|@ z;*}uqJkLB`WH*y7B;6)a?>qEN93A`i;2E!t5&)!@91L5tht?eNbKi3^+|sbrE$9ZR zXFHi0L3efWs4XK_dP-LlUYB=8*fv7IZx5V>3LM<&vg}(Q1aTVe>oFl?kzUIOEf&S; z;PA(SZ#*j<5rul*esLd#aL3!@)0v-xew=4aW>4?y0+TDU+=$CvzzfqC$ljE?y%kPn zG|?^Wt7~)UEy$He5BRUCk=MkEAXL{5i%c<##}Ky2-8tDjI+(lh)=ZrZpIU)Tm{%Kq zGRA+1%NC3<93cpH{x)fc>?zjvZMl2@aDnWjjCX{nDrJhvxhQjS!h3TQO_Ygm6m`!(OE0yFj;v0}&ahm~fve}&cvz^~!$?E^U8d(i z2~JD)JCI4S<;+B3SKT-M28@KcD{8M_n~=F&yj*!+E9b9%^3otQjO>!jfsNHFVAO+T zoVMoX*KwC~mSsNPC#3z( zefYy2aL@e?G#21H>cViJ|oyFs^n+JKk>6MSGoy z^d&{uZwE&l7d=&^CPeLV*0~>U?(qPp!Z@KLwA5lF4kT+GR(5=B2pZ2iv5pRW;`$+c z;|k@paZq}nOHx;J%SMVijc*fpx3a%C3s_dgD713aO)MM9jdbjj{QTjA^kL56>S~0E zc+XagJ*Je70FmHp8dhBp6jDJahefaQ2ehh2TO9Qd%|U}^{zIM}q}D5$nG>}>HwqSm zbyc2SS08LNm1GZp+HlmN#&8|^gl;Oc*j`;|uK3XV<41W5bVb5+9#ax}SPi^EtatsL zr~v&9lQBud)wyMJAUzltt}wjYz5KbL1ReH@V?wZom(ja}OJ~fdR)|okZca;e%u?RK z+JwjTmxg&7TjI8%o&M7Z$L^B6l{qFL6z?6;YCqO;ht#?>+6a(&Zz-P?if5-WqaOhe zh;UtXby|yEDyGwXYG#H5oMI#44&HCH+}(YnP~CRnao{w@lTDO;nI7;p9EaW*!WnlJ z)|gY*e4U8mC7`EyAP_%6-JDkpp1AHHxX+XrLuJu*P@gtGDDCPN{Z(CkLn6Mu0FgAX zy7v!Nl#$d}Z~|B-x5v;8W^J4TN-lq&tPWGAw~y@x9{wU(n0QU`R|{t56BlQ97R%LJ z+RfYDF}L-E48iiQRUZX%>}pxxr9M^&2&B7v?xCFtl7Ih!PX=|+D-8-LU)$f-lKJZC zbcR;x+v3j2z&3@JuTQjpQM(5bpmVX|*E)W7li|AXA5_b0RiaXhiTusrI=9*eCq~U& zYqr>tOFrLyb`dsnHa*Eb)z>!h?3T6iERahkYoIc*=5NHExAbtU$48>2f`T9`EbHbSvqi_Z0!0$3Mx-`h;$^<TJ{%Y_Sa+I};JcEZ$le_pyX9HVY(?)yRJQc{~#>JI%=#)g{6%tjh`GX`vLcE%kfr*bqL&wR+ahAlB@8QR;LT`?}b+`B1 zLcf{QrM!lpPYpnLYLp=B^5FiDbp2Yr$VQ5F`^$cIKE*3c#actt z)b8b*zq{!ezGxxM#l#)TA|J`d8#S;=)g|zBy?zu+PkUC7Lbu$IGvJv$+ts-sMsZ1W zE@~4W@uxAXW8yzL?0Ja3KDzgJ>zcaP1T*uh9%#qOt%OUP8qxuU)H!Sg_ndO|U>J>1 zjjWaxV#aVXquaMPzrzJ~osX6Z{Y=Y0$(-yN_-nfFv8cjdv%h>9O(Z(2^1AZf?jzmF z^_ZVwaM?0D4~y`ye9^kTZ0$~XtpZyNWvR8noU&`_4Cw>=D8tn!EJxmnwjo*6*_NpX zppNgO;Xq@mao83#dlId5qG+DmA+e?B1lOpZ+r%4rO&dwPo$oo0^_Tr2z3_%p9M;G6 zqACOR6()F+@y%Abvg|#Z@k}SbvR3bnR#zf}-`ZHD!Q@@_E1L)LONw1_n5b$WMxnit zKS@$r^Kw!WU^(`RG}rTvbe@7BVroeTXctXmMqw|2e!o%@4<)I59{l7_$we1-P2 zh{=o*PX(Y<=8F`!Z-`g+6Q)@HS{hbJO`{9-Vi5_?kFV?u&tAdT7v0BFbZQ}~Aa3(v z&X<`IN^IlPsPl!no^y+rdXxyEj2~Ai6;gV}D&zFzoqNaqk1+~fCpx)^R)Mhv$#;n( zJ^e+VlqiJm`;)U$`b!?Nv`wfHRgP3Rm8iK(6r#1rs7;?)CDS5!?|y$$t3>71y>K`P z48eLn8xo>&HLcKb=Bqt0ive$aO0col7$mlT__OZsTtHrP4~)wVMMijVJ}XJ3+f(do!Rv2J5W%ircSRH~3l0BDfr4iU zg@RA}JrdE|15d4?Y-?u;@{Qv7axSbD=w$dNuut##*}P+7Bx2s_cMz$O$H41v&$|Yn z4m{bG@U{sBISnFjFoS#57nf_p+T)maxtMa&R25xJdSEJDJ4V|nwSQS?WCRD!4sKhk z^t}SI)}Ih5lb&a~E>Y-w;qhc()k&YfT?}mwXzL6vS6XtUyOFqT7GDV&AcsKtLGILb zK+RuT3_^lR71WlH2x3dnccfB5a){{=ymxg2IpQ%%hv9@qoa&N1E`^rFmjo)=wgvIn zcZ+krW>3c<)Ew!Z}K)rhTvTMHox z#M?EA9W%$l;>8KUVVz}#_A2Cc=E?@05zNs*MBaD`HOu&pnyDwMs{MJWLW~j(7t|Tb zTkLjDzrjI{QuCdgxic-6wqbojo#dXw_vx3pX2bTwYZat*L@KDC5CPiqU#BWL+R1fJ zU61^kcm)qXsU{%Le(RNP%Eoz}1B)C|*KNdJCfSy}!{~8niow0+A9cvjw$X5tEbxJ! zWeczl^=aMis;C2}*XmqEyxoz8gHJQ4+N_IVC&+ag5ODi7nb8Gn@cYCjj_>&Vx}e1# zIhh5L4yTBbYlQUs=t`Z59 zQE+iqAc{~Dy(-0ZewF?FPIifTa}MNI{rW`C^22wGRK)VOEdEsnW@3`aPY|%46;%yS z_UTFmDZA=1CGMPDQwOP^giEi+J!kXDfw%S?(|!2}y=5uUTHBA7{%P6642+Gsl^nFX zo|Pn94z=AUiz?qkeH4wmHcj)5a+SQd?5K;HUx&M%Gar91t#8v-LK3vq*7~k+eNy{H zt%25)ScE>;#4Tx_nf;tC9rA>o-JhSZSHVSowWC4_jMKYOuzkx6armmP6JKP)&oD&ji#y+h55q>g7;aNz z&1B-#kI*CxgB-HeuIW3cJLl3zhf?;d*fvuIQNp@l$5^`yq>Epf^(m2(6+^F3>sKMG zg>qDYLD2{a^)kHi8*S;#cdov14q%$Cc zU;J=t(djVrg1Zj&=>AC7>4)1Mj`$PSZT-O44_uI*<7-DJwp)#1LI$mj3!XPebg|`wS^g)}ExFEY22l+%r=7{m+s} z39Q7IS7W4mxX@4tOO&h=Xank~BtBLA@elb~@%Ri)bDK-E>&nnMJcn5SL?nic&>7;8nAN{r!WwP29T zIKgx}-u=g+7w5oQAN?&G^D#rG;eoV^c&OL|T>wMi-ScgqZ{42M#N&g2o69>Xp%Yqk z&VCILE$7(LXyl{{a(UCZC4J4cw9U5v=0?ZfjQ2~m^L zF8y>_APaa~{ z^Ju}>dYa-h4xa7Rg+UkTP!2ZFSBE7o>x2t*M-P>OnM?}FZ?CuEtnJ5w;)g!l%PH+) zZ^4FxWP+(z%!ZR5QX+}k_i&c4r!s;?f_n*7$A3AvK4TdWwHh4|+&{p(iNE00mAO|m ztbo1y!Mdq~LGKSd##W=p3B)`3@Iu=b2@@GBN29#5SJEwYJ6cz8TgsF_>Q{R7yL|Cg zf`w`Yr#5>;KzhnNmLFQ8ZCKPFy?2l!P-YCR2;(x1F%d(RTEkI*j0on`74{O<=}-zr zu{$yy?Y&=q-{sw=NJ2sBTcn5Nz6Y6q_5oZHPNA~Ej*G0Ei$_Y1Fx1KMOl69X<(^}l zz+RaHeD@j|#!>o1EHl$nI5J53_drvfiw!;n>*vxp4gB*>?z)PgyCP7WL!S8~N$B;s++$-%ILshi&P{AdItbe8pKV8Qg6q@aFLLefwvx?{xgXeQEZe eS8ump5Geh>hwn##(f|B2L`Fhhyh79<;C}&NjzNn6 literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/img/emoji/github.png b/data/gitea/public/assets/img/emoji/github.png new file mode 100644 index 0000000000000000000000000000000000000000..88efc353e776bde799ee0e6b79ea50c326aad66f GIT binary patch literal 14111 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 literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/img/emoji/gitlab.png b/data/gitea/public/assets/img/emoji/gitlab.png new file mode 100644 index 0000000000000000000000000000000000000000..55a0d2b70b9e2e5b381d2eb2e36358197b98a016 GIT binary patch literal 6873 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 Lq#mMD)jslnh71Eg literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/img/emoji/gogs.png b/data/gitea/public/assets/img/emoji/gogs.png new file mode 100644 index 0000000000000000000000000000000000000000..6471a84dadbbe9935ac802f674a501f1c19ee84d GIT binary patch literal 11794 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

bqyxEqHyXI1@uH4vv_6MQBRYVgsQGS-vpm|a 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 literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/img/favicon.png b/data/gitea/public/assets/img/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..dcd4edb1a30bf93049fd24c31317e3344e08d95b GIT binary patch literal 4351 zcmVqr#8cWU;qFB0000000000000000000000000000000M*$m2N=9!C<=ED zhhX;BGuyU<*?YbHXWI;BySKA#JDe5FTQJ)S|J}|pW}M`EwR>Le>>Qb_&s~c+S1-eQ z4l&kR#!kc7CwY59npiI&j~T{c47pqbE$fcf=@y1{J(`CKF^58J=H<%Pa!!F%qeiKO z>SyV{{)-l6O=+FB#$%;n+#p8$dt(?cB)lbDAdh3g9Kje8pD*z#5+6kleJrD$n5GFi zUBj|2WnIp^5ogaFjG^Kxf%+->e;?Y-%bAfFxyhqM%%i%TM?>QfNxDn;fk`-y7_)@M z!iJCMdE7G2f4oCagty_WBaa5^N2~jcoXND%gjXY)o3lu44zjoAJn4c#I&iTh>JQYYQI!*i`L~;wElpTY zn|V5qnU}j*j8Xp6<+CnV>#%;qxdsqpq-8zcGFbAK5$9STE+9D^A;wwZns8ru`J>Lw zdJI-SLLE4J3StZq?tC8bKTm~69}o7DaPreD68LEPwbo%xxD;RUj=gJua;#~h{oA%R zNp?Qlwrvd8#%J5caBbVRZQEme`tN(r>SdG6>+bh5{W5j;)baMq^s98Lt8U%;1SeIn zeLJ;7H_rJ7r OqaJ!4A=;_`A74VOd)$sc@Azql&vEQC?G%#&2H3V=e zXtU^q_JV=$!y+LetC>FvskwY%n}jV-&I~L(7N^(Bu0sw@hO#^h2M~6^XK*-IxCbn| z#Ed{{a%S8G4-Y-_hb#n+m1Mcq$le+KC^>WlgI}?55b3$69dhC_aq@ndlpS}OT~?b? zHiaCT96BrTWO#l?rf;hzt+Pg4Ccgy(jY$Fo8~JCFLz6@M9%P{aeyZl;dqFv5iU2i{ zUJyC7JeAaUSGb@2Wf~{*vV?D%{Z5bc6nH4q+T_rWkV8i>aJE@6KvvgSbUC^bm?l&{ z135HV$f!WX&YvqTco^+94mJyLGID4s%krHUD%{wnxZr)vL5THoWu8wCO?FxW0zG7k z-;7zzVW3q>;xmv#lhvcH;Y^u3!+(e44xJeoV0{kR+oK+y71p823PX{QdMPZl(*=DD zbi}+&FNqx5t|3$o6}PUDU(EM8a{*|Xw?2pLt&tCh2sy42?~L{aJfPFK8z@uDhZ}Ks zGiRU?&yz!w1%|Uzfs~udLJ8^qzcCkp?gO!Y)hW*+haUCNEOO|u#H5eesXz`-h5E@{ zgjjzAy)1HQI|gkSYjrL&aJ|Apo0y9bWRqbhpGEfO$OkFp2xl3A+t{gq@SQ@sZmzp0 zwC^o?S>(`mEF~=v2o5=t6c(DqTm(cP>1B~a+ps#pA^LH!^R$SrrWj>9+V#GOe>1HE zAF$vZo;Ix$e{Rst4aCq7QVbp1b~)9dvYfdH6l^qQXqH9Qt&F>~W}4^TP^@ZD#HQ-77O=Y4hQzTMjMb4WXdyC?CA&1KvtF z|MCCZb-=at^S6xTwRJV*&{lh&1p{nWFMx(&FFPha1USJhOILx=13PRNM6Tyeo>%oeD7<->6ayk7iML0MH1?>Xlc5w4tb zV!e)iFXwH0UldAaf_TuW-Q)kI`0aRzxd4sNWvuNuvYPAQlL;wU2Tsjf_c)I-KgXM~ zgEJfexTHvb$UC(EP3AJhbB=g@<3FB|%yob-LvSoUX2rL>OaE({x>K)-#6jNU8o6Hs zu^{2Q`QTEngU=?lu&mdA!P^`_reyw>QT&C$w=~fTp+75<<4jdpw5sj5Xa3yf6Z$1D zZ~FUVpX55&owFYF$df9Y*=O+Fk^}ry)Ya9(vH6QbZfj~GN6SbK{i&j2%_Gc3q+|px z^75vy-#4G@;LFLaE$j83`zjBI`uaM)YWEEO#)$iyghOKxE3-hq{0$osg#ybFk22)A z22g0RoX#m(@%%{9Zf*w~_Ae06e>j#o&}9+R#u&1wxOhc!&$vIh9Cq~e;-=%Y)WO$N z+gsM_KI;W8i?w^_Lb)^+!;N`%NcE~yKVM=l0z!OV+wfP1-=maw#zk-So|%07sthh> zqgzhrLj^mzDz+Y4&Oe{jDwf)=-eIAkeKF*i!;I7)a|!qbu%;Ewx1~EKaY-QFM)fb` zdg;@6<-g(=aZJjRzLl)rjV9W82}CXf`lkI@d0mXaDC< z;y+buJg_(^v)S1$IrO^*Z!|c|$Wm}w9LV1$l|4aK5WfO$p{P8UzdYLRJMLO1B)Oh&;lu3|5(SB>{Evj}z&WOD@~CBBI(qSXeZ+mTrz<*Q&<$=` z2fc@dWjR~}2ycv1=?8(%DV@0viG8Q8>tk6jZF*;}3S@1}ab_1fqi~7}hs%l5AFvtYE-)b= z+`RC_%((yIi_n;oUPa|OTouTQbm()LWzEIg$8#MZAMHe`9M#S){jWBvI@mJvuRmo@ zLsb7RL20`Y{-FKBMhSaEoXn4-@B{i_V~&4=$Rgm>35W()Yr0MUg#KuJ5?8_8&BIMg z*9~HBAvrs61KO@k_(L0OY(?|#XCY?giZ~|Yb){v^1zSgRO`!Oq&CUal+raMe`##cU9zAH{nF4og4>&r8bes%_+=1N02De^ zOx*KtSYzVpzUTZ*^cB7;^3^4==+L{4u9GG1BSZ7jTc|ivo)2p~78U5>QAr zZok3!WG+IkjVsHS9!t|;al*=C_NF0jcXH!2wyXy&JdKdWBwNjlfwe#J4Pm(+cW6l1 zx*|=GF{7JC?_Z8Z)gQL$z!EMA2+tTOmFw%kOa-cXBF)zdQ}ey*&@(m+kdB@0h`2mE z=ti!JVM{&I3rm5sn<&yL0g2uX@_SHPpztu}&B zZQvjv{}ARyfbfK$7R;JMtCqanzn?({=BVbN`YngZf0J` z!$aBk64K+&7sUVe$6CJ@o0Kg9*BE(Z383`ckl-N16P0=p!PL_Ui2$@}8F+YXLYp0n zMc@wuP4w7s{g;HJe=E|0V}-3i**yyMQQiD5IMd;r83cT(RxQNLL5>VVDP1<7jRKL8 zvR~lDv!)DOI9q1=f1i@(|L?Jm@Jcr~eDsQMq)GS?KL2ps)94Nd%MNiX3K>$_j7UmG zm^v$qteMZ6csdv2eKLYVr@DrHJ*6GbD>=xc1;p8rK2NKj=SlSsLJq;i(-}=2j1aPu zr8XL@JDhT;%DIW0;{A3mZZhGErFv%^Rv@IK-wp2gr)3w;ULdxkd`zqmJ0J% zP%6h~HqfC*vCtr3+*h6uQZ^1 zdKGju6xK1r#Nl%zBiNco(9?t$_U@R+v}P7oR+ojHHQ28A#kRgQ(5Y*leWr=?y5};2 zJwS9F6GyReUU%%;x*9asqUR5aM*R7~H-iCaxBDE8y{3+5yMhty1MOj^y~Njs--|hh z5(OG9AZHHg1vAz72^tEjW*O+7NXtphG}LGUFwJUl&tU|4Ko`wqCg00L?{sYt5VWMx z1YjO#!KOnEW}b&@al|1L2J~*mqH>a{pzL zC1?3xWQ6Ew@rf?;mE?4;=A7r@GR~p{LQ0RoU&W^HBjn4PI`Kk}G|@74iO4U1@^t$D{>TWi0}N9a zxz=Ryk|#BR3S$vO=0&6Nlce3;M7m&-Gvdy`kjPjwG(%7tj$j7<-yR$Y000000QtW* tf~u;js;a80s;a80s;a80s;a80ssb%lrjbZuCPV-L002ovPDHLkV1hglVSfMs literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/img/favicon.svg b/data/gitea/public/assets/img/favicon.svg new file mode 100644 index 0000000..4329134 --- /dev/null +++ b/data/gitea/public/assets/img/favicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/gitea/public/assets/img/feishu.png b/data/gitea/public/assets/img/feishu.png new file mode 100644 index 0000000000000000000000000000000000000000..2c3ab744136a1be5d928be6780489da5ecf19b4c GIT binary patch literal 1982 zcmY*ZdoNb*Kb7AieNr!nQzLU?QM+JXd!eTqShRpQGPsUGAI%FN3VeqSj`acO$3dzz>cdQS14^3WrZ>#&6ZRC*5oMbH zq7?-fPQ%c*_YCAN94P9Pf0W^$`)AT>XUp28v;mYO<-?XBix|-H@4ANw zx++1?`Aa2675E5%QMWVTBCBjRV`<{7r8jZ42Mh=hyQYggC)gpy z$TJ^#7NTQR{tXEyymWTg{c*d=eqdCarYXMH1A`52<3kXEM@hK;(}U3U9=ghHBy_-=sbS@j4q#L~`!eaCuh5G3Si;+XpSdv#+so^=9quWo zqjH9P$6Y)yckE83{MiKmR@rE!9i$B(Kd)g;DdvQ2zoxk$uZzID^>}EUlslV zGJ=p4B!F2>)3T@lrXA>|#LBJH8n}p+|;L1=_Jno8t(+C{p zKt?OnRd2>uY*1LgE$EQrVVI+&JkNA?MqhiW+QPXq>Et9+UECJ&*JkZi%a*AAp*(L^ zDw&)Ri^g~y_TT`smqBlBtf?w4c>etHqtt7m!B+zV&mTW}*xA|9!NJbXeD^NG)-9V2 z4GmVWQp~HXtIW!#a10ZR1cDJBclal}ub08->S}LmZvOu5Yh4|UR{N=@x~i(Ovf};Q z!q=}}7QD!zQnNEN($gQ@zn_?x5EB!9n?xc7UA}ZN;QTp%UmtHTFHetCe;+&QcG$(m z&eqaw_io}Y!cNnzn+)|gXlt+4S{89&P+P z;f;wUO+U2N{5}}DnC*n zt{(l;IuoCpdUfoz(N~sBBfSFVZi`()dBtFy$b1lDJQTjHY_SDP*{a4vL@V^GR64x7 z@@hg43r{Zb=|2unjqSOoie;_;dd1Q2`JNpyjOVc;aPfK=ZRudka zw0~0Z%8X@hU{Zg8XHH7`VDK^RM5(~WIGK*phCP%o@+F`0u5{CQ1@%{{H+9s#A9bA7z+c$fW~IJX)}d^x$j(_! zAZFuE_DiWF{f2&e<#Ltguwa`<61wHn2(wK>)8>?<~dHRQ1uqIw;#6}4uoj;3mU-$M*(ey!DdCu}_3I>YPtfMDlw4cy9LyKgaP$&oj@ zw8Z=-N0lSiizywNCPd%IWs&*5DlJ@VFufIdCZ}UMzASR1<(ig}%iibVUNPCNs#|;~ z=TGk&i{8vjayr=ZYTy>vhbiDwh?|b2 zsNX9htLajV$PQW-F##^BIqmN(65kib-IeULSj1j9c$&0e++bjDrt7@Q$)|eNe$=@^ zFCRtcEFk5u>gP% \ No newline at end of file diff --git a/data/gitea/public/assets/img/gogs.ico b/data/gitea/public/assets/img/gogs.ico new file mode 100644 index 0000000000000000000000000000000000000000..34385535534c7520f4b1194e9a5def4094874374 GIT binary patch literal 29157 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 Z9+&4SM@nbE!bUOzl;qXrYGlmA{tx4U{&@fZ literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/img/loading.png b/data/gitea/public/assets/img/loading.png new file mode 100644 index 0000000000000000000000000000000000000000..c5ba3d9cd79960a3990d5c61fa68c98c632a1a50 GIT binary patch literal 12629 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 M1x@*SxepQl5Au-}zW@LL literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/img/logo.png b/data/gitea/public/assets/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c7971f91835e889ed15a0e5252734400c5c65cae GIT binary patch literal 14354 zcmdtJRa6|$7cJa_1b26bAVETK4H6(&aDo%u9fD7S1^3|Y4uRkv90CLl?(Xi)?fm`^ z-}Co$*ShmEv!=VNs!vz#v-hskp&yiFFi=TR0RX^|la*2h066d`9Dw`+{JQ)+bq@f1 zb8=E|)jvZHyC4t%Kme%KL|mpZivOMW|MJHO3jhYJuYW^y-06{jeO#!I+xKXyw-dFQ zXwqJ&Kib;||FQ#rEY00>?^%#tWnEw;Fi&Ul{PxVa8S=*t1xu-sbc5N2x%mlYKb~a;``~APlPoJ zy2v4@NxCx8!`Ci3f~mJkpJ#t~&ImU1xwz^NZ3_<%GJoI0KKRW(!$c^i7WzB2z`2#) zuaDA#?>DYSo?Px){QCm1wNllTZF%1bF1KxjgZPJ6lQ$A>!W&4#+mdtbFNI$|@C{z) zChSE_rO}zT$n;GSvS8QaR>j;m=JbTKCnMqH>4T#wn13!0-t%@^5}ui6uqya9QIhwQ z+k*GRByG$(S%}nE^=G=x_V4sPGXa6w*KLL_+3$xgYi-5wmhm%VH(FFe2ZZ%s_FJI# zPw9}F3oVMV&6j_g>87<8v8ZXR_%WcTd(k@i4(x^pQnIsm7I8|(u=2&|L`S$HUhA94 zRj^2)z5)eBWZU= zaK>j^cNL0{bqX<)o4!u6d(OYkS~#y0N#~7ArEO{wZ{+ouS5P)ns2Y6kH|Zd?^-DZ@ z&Zr7w3|IeEDTx)y_ANm&+oddHi{khtuO4O>=@yW3O1?2I8P^*8Oa3uIuQcrSH{;=G>@~Ux z4%%m%3*L~t+U{90XW#z$@q#^c$-tD*8E5^xS038L!PcK52Q*T(jh`Ac*6$>-beBVU z-e>amw8V{(G?^B~=v&w-Nls%ygwm7sIe12HmqT^>pbsKd%u5*7FQH&U( zQAjMk7`#vp;F^9??--B?>M!~V^V>d?$tcv)l8Gn9sYfot;5&j+x-+`JC*9N5O%q*u`xi9)d zcW{1~3)9t=os$qNd9B_d7Lf-Jg@sL}eBMT8dtmky(=(lLc!8vkex{j-l9|VN|GL9$ z;|;AwLhN=3?e49_=Z00!HIfAKHQVl4YGm;knr@PyyYTL}6o?@NvI27?qiopb+^f66 zNhf}Hb>2U9mb`#^f@>1;SuvM;cX+``QBI0D*vOZ0W%G4$yRfuMIAhLow?#B1Kly5b(@R_cW5bLnL_|7J)3Ev6>V&fEoZI zQJSB$!Vd^^Fs}7Jt0F-+=DdEB!U2wY%MJP~hd0wRR9k3J0;t1Csdg5$<6FE&(gQ-Q zzxy==VuWaP1qatz1Nk!jdtJx(^2WKNbN_=MHGly94mrNNl>R9rczJsA(8)Qma`p@C ztB!D-;Euy-W6ghgk_uPn$%8Hc0(~`GP746cfw3?WD-Vns4nJtk{TL%UGQbL4pa9~j z!0J=+(aB@v^vbyjV1x+l3gl=kEH6FV-olFmfS1AMlh(Y(U|Y{`3T!ZJ@8N)$(FtCW zN0G^|UEt}|7nD%T5k7ORYOPLoqy$=}zOeti*gw zQYjeNYqJ&UWP)B&Tz1Puyd)P6i z-By$c4}t#H!T~1W;B>up!;_w`&ieK-Q!$_bz)ycJI<@W(Tc)yf_4+a`6gh339#krkchOwFnp_dcZZ~k-$e7mG#oZ&z}JYG5p#M^9tCH(db zQ9%bB_#5eR!x(cd3y-6qzI}ZL1KuWQt3D?e5qdAm2MKi>Dv1glN~D zyZPYDESpl?FgtPvj{tS}U18bL$=J!Kb!})xymun#C%S5^noau2@DVC_xF49O?Rge+qHb*t%)Pb}so3ax)O zeq+QHtbY?x8v>C2aZ3?x_@lqKgKu4HsP0|WsDF3z5zvNE1Nn%0^EZPSZPD!Gk^UYe z2mb2sKYW>Xcw$8lnUfeI|uQ_c7Yz(jPyf;!h!5)dIXP5;% zU}9G}efNAV!j0oz7Vkq@s|7Esoxm`D1Ud3F_qjt{QTKp<$3}o|S|C2N69W?orLZ|* zQ>8tCDlXVr+=`VYpH8Wre-am`MSMqP3|bg$LvWnkSkyq%{ zK+i_INXOSUI4?7i=bNs+{UdwKJ|Q_4%|5Rc(PAVJ8yFz~e>=@}Q*<2LG|9BV-o8;Y z`{a%$J0SJ*=J*5xofg{01E3o%JpJ%89c#NrgmQ>w+{Xn9rceTaI?v71Jp zp!~n(yX4CNUkwNFGf(V!!ga#QjJ@$|Qm>OJ8%`bvBmIgx;&LpmWZ#*}L8{~3oEC8A&p^O#a&@`n3shV8x0)jXP!ni8ojXO__-c3} zCQxGmw#W*UKx*7gAK^M5(!=59*n4A#G&i!$;mQFYi?@kh2new^&E-X-83(K4_A4&; zhGqw9Nmu?O%YFa?w22!T=&W%=zsic|0UoEjzOdoEkC;AEuny`iJ#zVXY$@?By0%8} zSC=x0ACnvo(8pN<(F9Zh-Yw68au-e@{bfS(Knqk31H55!t#UPI1OR4^BxZ&j6xX?r z&B!Yb0IAP=k3{T84~~3dkn%Rgm+c6^wRV#)FBtUtN$%%gq<~~fVF-s z^&J32u~jdxlVcHe40m;v<69fLNk7XcuNF6N>000d(7e#AD$jOqSZ;t2NfOG>s^Gsx zqEp&!LjKC&bo^jGShg+l ziIW>!nNHA+kbv&-_BR%M7g0?!(nHy*RrmF`Z2U+uR6|@Lj^nKsCDn)Mi1Ar%8+VIYZ^hY2fIJLU1!Y|_#9cR%Yb1W z0}yp(WC{msl17{bRlDrlxwc=v8H5uXNII4+Fd(_ntyJl3ARHW0UTRn z9L|4U`gw*1e#yW~0)$0h6*6p~u3gCSjWZbbqYe|zprcDPe3 z<)!gaUJGHGO=}hU+XGdgXZ$9vx>* zKI*^Xtdb3`3_(9XDn-3NXlRgKQ?gHeGB7scUbEwv#vv7NCxKHEBUW61SHomlKA$#^ zuwOUKMWs?MYuonB>Amhk7LoWZg*Z9T`bf6LBNoR$E(e!Qjcq%~OOqk&4^`i=?6N;6 zJ!b5m<2k}CEoaUf?y{gNEcZ{dq2@O=pm9~k>5^D4GxJR16$F~syf9IKwDrI(5n1Uz zwj*2S(WZsI$)ql`uT6T6KIe*IW2}M41~@7v?UJ9$4tk{l5w3d{dcZbJ2Gu>*np~`5 zc49&72J*6urLa&{)iYBU$3>D}V~60A#mO?YX7Z$J0mjt0SNQOkF@Pxs`81roEg!FB z;MQ#ERj+`}g{(DZL89~vS`K@R0}L+>qq#a!|hS5&QO_FN9tiOKU-VSD);W4>i)cUj4Ix{-?{=dUB_*5;#ZNyla>1A7Z?~179LEkiq!8e+K z!H-_^!bLf=T1)!~qbHE_I&qVCDy-a-asP$(WigMH*?4s27f%OvB~Few-;ziH=HiYH zEjwIYmg~k1I95zqw!lZIDu!SDj(w0~Wb7Eqspl8R9}k;eUaSX(?qeK1H!vJp{9V5z z$lQtOc^97(4pb`;g3|q5o0;>%n!0zj!BgJpUaLdmNA-miFGkAB%=f#Xag$~kgT&i~ z8WpiAj0%J8)h2^4jmVuMIkCiSnKuzcG$O3VPZ-xiTNn9BEVV!Hq zj(|9D4$h~ZtvYn`o8Dcfm#=RIF4p6bjMhY}9iHWVpYa>Z<=XG-r(I!260+Ayf-Ld)Kgj3VWOMgXP7Y@JY}79fyvzW+&-TyAON1ax4L+uDl{4t>%_RPs5_ z@gbtVejD)g@}>h=sD2CILz{H_gX)Hi-RuwrGD^iGhTRL*sv;i9OhQh}E3O<`3$L4L z;nhxf^gK{Hk)xH#$VpHjM7GNGDg64b$zWQ?vKpyvh$xi(B6f5tkqxfjGw+bvpo~)< zp`aHQHfaiHJdoRq-x;IIFa8Q#@vgrzNm)hp&525@8Yj@g|3KfxCp>dBmOEQ0hMUvj zvCE|=(p{6$s+9qmSVy!hNBz7whXSdskBF^E%d!iyzvY%h=-y#%oP|&Fd50;LT6nPS z$OZ(zd?UMag;L@F3K(1Xyu%28nC#4bHs}<(`s-VL?+V|AT$t%+niv;LoU5$6H|I33 z+1|@y8xpwxTA7(9eR<;pkt#2Fnrj*axcM-c=BjJaC~x3bWL@~Ijo8>F4-LLJ7W2rqO@Y~@?9`*euKYC ztxW3H)*t0jsDTKbWH=tdP<&n_Z?>93^&~WTZ>=+D9YdP#X^I_+>Dqb5nYRcx!vZ3% ztoTA5yLyqP%98Ud6lHIpW~CAEOsxG~G-*3ApAT-UGXfJ2QSGS0!AyX6`v{*Bu>FK2 zuz`L-dIAfhTj6*1?#TY}W)}X>7?hJ&(a13Ln5_sYs88>)?I6lW<${oc9L1!mg-|Rh!o(fC zM&U;}>KWT0a#c0ISUc9Pg-sr@b7Gy6ukhN0@x*TO2p&k6{B$_f9y9SNfph+73x9j= zbmN=$&DP%sCIOA#K5UR+{0zi6!mD~JpwHOW3k}0uKa;J%8mB3_Qf@Mio0kLbFxabh zCF4>`$X>`*>ys+teZR@3Lu}do)R}wpG{De%NjmQyS|6Y1@S!0xw_ZiLZGV9l?vHOJ zgEbSJg5IArQw#rP!jis-16=Z?eO_)F&BeGMK>jMeZP*iL`yh$70ASr^&|_Q})H#X4)Jj z#k^b_dH#goS_n}J3OByHGidz%?ATtn!S9o!B!lLzmVfbFGd;k{!*(FbyRSRJlX^y6 znPJTVx5!K$@{QV6O*c4DbrNgr_(SQtr)oql)swKX^*)UVcR|-3uS&W7ryv38gv=Ij zt;{MNA5ORd;h2U<^$ie!h9Wp-*#|~QaGVf>N^Mx1^5~rv?DK-k9Z!6VTt8ZKpAVf# z$*N=%$g;SR*Jq2A41AMb&W@G_*T1CT%s(h>Y_q55^2tH+WUM$gL3K@Yp>XUrx*+KK zYkEU4%7MDM|E)*0U!;ilKk_72Y|@#9`~6s!!QOkgg=QnkZRhAA#(-jkL-c)Y=Vhd1 zti?H{<_+51T73&9>E&dm)QxXj1^9hAFg z)5A;&$8=L_^U4om#&5_pITmu0_7j*P&A)PscGMT{e?cIq;skgC(}2 zt;9`?MTtjDOSd8#I-{b;ohKZkMVc6wq&nod3ie2&&tzxc8>}5YL|L5*EwJ)`lzyt0 zc39B(NdVG)9a+@HQ>C65TdgDUm}2W1Q|sgxsrcCn zneVaI>B9b5#G!QOJHA72rf6ti6;1(-LAxve{t3gPGI9c= zVklIX3-WOKMJB}eh4we8_{nzeEcNpv|Mf6~@9PS>LQn~5ecxAS64_dPzFkNC)#r%o z5;B-y`eob6p%_lj#jFJ7d{r3kr}>Acq?Ij!lBf5JM=_Sp&3mhGsu-1}7F(u%NHDh^ zq&o==e^Tw_gFG9Bo6 zl-^K9cNjIcG9s=L``!3QUrCCR7g;k6xE2%MRq+|8B=CNJdzn^<6Fi5O#nQ+DKDjs! ztX1)#g;8r|DT#n!C`u_2)_HPeiYzaR`eT=K{VhLLLaq8&zLRboRHPs?Pt!`TlrfgN zMlb6A?ANX1haeX<6#z_d^Xyfg9?tWTQ_Az2_a-!6F&ths!9oM$`;!WvzjWxc{xxi` zD&UVyu_Wp*j6(Wh$biu9&`r@^%+!6+7o&4p%XLhb4&P}^)N{;W zdrJmcVFA6L-leIE{*M)De$8_cg=*3vvM+A4w}Rm>igoYxUlmU^hT;buFbyOjSw3^C z@Ixv;;eWyV92k!LbI|rlF$bAaa#(yl$gsVm^3!ya+#Je3!qoahMNdWCB+1=srWGUg zhOOj1$f)GMBgNS4BNt^q)J-903bO{Tar$ycBd~a-&3~iE@o_pC|5EO6qhphFZm1Tv#IxXC)QRZ?{c)h<($}X5gEYRfAJS9gj4jA8m^6+0%Io_#I;e=0=UOQCtz%gQ8lO(~c|`H9Y1xqTA$^Ivjc zq=iI_-SaLvCh_?~PdCOrcY3CR&+Wc`Fu?nRF$?it|LOy+Y+NTV=>z#KTd#nrpO7j+ z>T){Tj%Qo3?VUzI>&6m8pr)clv6X=Cn}iiS`>BlMq|gdEVe8U4wt{P1+zXBT&FUiIa$W1rske*uL=r$qrbfS=vc0Pdm;u z;NH*qypc-9bCGTSrtkHoXqGEHLE=t4Vgg&j#r2|pe5v}ZrcRjK?pJqu?iQu;_%~G5 zzZPzBiJW$WSq13f(a7K^x4Ur-vdXfKU7p(7R;Ejt+fXI^KHxdu=^;{mBbYLo5c$6T z9|E)J)x?-M4lzNE(dLI!upEQFso#F-SrI#>tN!_VO|(imEsty-J6bvXkK$2Oy-A+m zOVMr{%Qh~hoPQ?6`U}C*8dsUp0)7yFS)FPrGzORXhE-el=HO*DF}HSxQnAK&_UUO! z{BC!Hzmr{uLM`C!Clu{S`eF?(tjqRXj+);!nw$(=A9FXNP)x8cjf zFASeparRF6u$RW&`8|KoMDXaUECfnTzYC` zA_6}cXdtP}APNZw#oqkh)L`(q_7!f)J3C*DHvX-f@9T>`pSem#YFxb8I1Wu;?QZJc z<>uc3O;YW*2%QTwN{5ulG#x=_3(3~44IaS-{12w0IhPA!@juNX3X+k=yrWF%J8p?N zlw$nQQOeO!7|l{QOz!!3{9OlxqulE{;3uAX9p~BVaSr ztJfcB7{Ndv_f|@=MUKWlq@C7o@Q*4WzUvwce-X6yqj#nr_EfPe;R%s@0ZVIK4g?2w z_u~7lkN8cE%E|K@^RPP*~wtUrvW6 zD!!a~(I{QnzeAaGZYnuY;izFU*@gK1(U48 zfq5o_2l=Hb!a?3Y*!E)0arglqY;3&)4rz}wCH#wnW2%eXF3U7?tNO{HDJY+g7voSD zx*AaSwR!EBpjt0jF1Q+2ZjtZ*P*qt$@3(s4d$xuq(z8-0#JFP0JQ~#WqC`n<%QH;5 z{m=U~D&_?Nj)fFfdV|~9UJIf8m61!P)0PpBzIG4qBFEb(k=3-nmEHSK0YstXvZ7wAx!*NN^2eXR-)Nz3ytelO*9t zLf1^>tDV`ck4=i>XC$=jB7>_V@gE*DV2)vpM>kII;Bhh&`N*$RJv?)J z!A?%2aa!T?N7WXzEaOcbQ>+lr;k?kbuyQCHd9XpYFoW@m+laz%pqjbD*zD68l3aaX zR+|H1iMZbxm;Jp-%?^w)E|PEiQS!MJnn)3+15+mO^U5otD&!lfKtsB|~7 zs#}o;m5k>|!sMF`t}-zrk5UHD;6zq>ty7P&qv?AWninFn0 z;V}B(1uEUJqW*mE{O0MdQyw*jbBJc%nQ|bWkV;Fi4VsUudG-srHCw~9vzLQC`y!LJ zkzzaJv~h`H`>Ok??k(pPQ7a$u%if80Dx6sXESO%t$L36(8hPXw0$T6jL?6O7`?V%Ms{34Dak55 z!T&3R>4zL6u5BrPKN6-{kS@*5P~(`YaEbt(`b&NEX|YG7YHDo5i`zVhhhluE!se?N z)D26Cp*Po~)eOgxNIUW6<$rnRRM~t!ROg=y5B8k7csG%AIkUyFz#weMt%cu@x%7ml zi{Bv&6)Z~h66~1n6O0j{N-iToTP6l&LFLi*<_c?w=nZK{tI)YT#FLM2xp7;DHW|Qn zSiHuFCYhe!nEccl>>XimeE?dWaU3W{ea(EbjP6-_V=KFo?#F8%{3=})oj>DzH}pv$ zY&&U~Ki4Wm)Z6$N)pr-KzdOl@Y(!32LHFqpW=+lE+x6c zH#ctqNYWsf{E@Nu#`)|5%mh*9{oHmN*dNJ=n5j3D-r(2+qBO3u&AdZ4&6(%K^Wn`U zk<%DAK1<`G$lCb#QczzD(Lp}Ad@ok}@-I|u+zfwNcH-~#PFC;o$#lrEI-U$)a!`k^ zVunXXhSL*yVb~=C;_kO(8WAhLdB@>iIyX&%d%?V%tDiwq^DB$6vDImq2$j=m3#|vs zAZ1|wbzyJFVB=8@I>9+Fg`PMFx#;sgic6f|On-IU6KuxOdMV6`1;zu}M}Lc{`WRcP zzH#O8h$i2vgl~527tSo(GzuMv-jq?1x?PV!;qCGhx$F5I8bTs+$0z1%r%QPt?#P{zu+^E)U6oo_k9(ZtO4 zU-<(RJmq2k<6Xe&S(A{Ss2uf*%#JzxZ+QHK^vwV-nl!3*5$a)@PO!Zg?y!NMIz2D| z(86<*97dBpJzv=S=io*x0i1oos*S>YxNNTYUJoH$q4OE*{s15x{E*0@Os2+bI zL9{yz@sy^TS3ymx!V7-jG}>@eEPl7uVS9!GK(FKN9}TFvP*0I^t@L+pE8?jHJI}ks ziU|1Dqr!ZC<2L0)`4c1o046-+8<9{Wy@{(H2frXQi(S>u18&M%JN96XDP{#n6}rs; zLCWo18?bVV>pzj-oRf$^Z)u0-1tQfMv*W2#ieY7t!$GA2|4X*vjUeiCaRSAP@J3+( zs9GbPc|?#DgSbo&_Y@e>WjuN69#X=p-yp2#sti58Gxkf1)$)_kqXd8zaH4v6Uc{rH zr*W(d?`%uN4n=L)*iqe>>|Doy0vo&XUGazmo)*l2$PgWXlHnjS?NwtF|7@hAVE!u| z`$CJl&bw8afRbJ)rS+*?Ig@}MoXMafjoCK% zrrQYzboGY(i!Wssul5@Z0NOwP*rhDR4_fhcJ5!9#g1rQY^--)^WaU*=bSCn!>7=pzLOU!;lhFA$#LZ8aQ}GQJ0G)M=uHpD-+>xUEr}^ol`pO3xB_mMH z&`{NK$qU8nkNkb3m$8Cpdz!3LA$E-{(_<)xx3XW%XPOWCx^gTk8fr@5nhdyE@|R;Ot*D}DN&e}XFW7-Gl>UPgD(5 z=nw!I15}(ecQ9-tn(@D6hKaqM;Ffc!5VA8@z9JG4HU}o^dnH_ls}P)JeHDvmW5tks zn>?^wDIW>07A~%}yD|SDbR`{a_#F8S?5M+rbop5$HvBtSqqs|kSn`LRxbJ@k^AKn; z&HyeAky;j&#&ZApQb1=xwiG8J9LP!DG+9$FKg)w#{1p2mT!(Z3aDBSiL*|!DHa`c= zkBX`Kqo}gATxrm^0pEH{)X5$o1FE_ECqEI_fqW1cCo_|scGnT zHDKYV$nRb?wStov_EUUmd^>@fA{o(uWk}D==q7JGsuhfi*@T$nW@}=H534{7-be=fY|%dI#3vZRC|L6E?i7j z(^M&Y*0qfu08}ZE_3&b{xhXggIO?`eaoNWX1{z?QBsZm8M2-%vP78bpfH>tRrsk#Q z91R5eUA?CGm47P-toBec-iuP#=%cz{j0SPjXE*r3>@hYB-7xcBMh7&etPe`%%s`1$ ztkw5q9U+wd3ILqDJ)GSn7w}_fC2zrcfpL%wCFmoc(!L9=2`2bQ=HLKow}#GLXd;B! zIS>qie7LjXb7tk=Hh-T7t+!PrZR`MW{%bHyOedB(>Ccwv{i2eVySW`@NoTSIsJcS~ z{DGGe65S^q$6R%mXd$i}Pav;{T-&zPd#yLWkZIZe#py=jw6%L7JX%%ozU2l3>j5T#tY}yH4IKbLqP~h{D2}`~cO5$W48FTV8xV+arm-|m z`0kQQ6xsL}%;bd9=nX$9KjzrYw7GUeL+#I_zLKNm(V2R?G$9AOmbZ2b_Tbwrzkh}A z$obW{-1v*AHH7s_IzVQGYsgu*ZnJR`(yvxbpg)z8&3`0p$cym##Zf+OC%uL2>f7*c z9Wp1K+>D&c-CO=<9K{Fr87mW5$3daP{HY9ZAD!v-m8HL^#r%=pSA}ou ze60#luV~+E-WUbs+}JUZ{fWdg!kbj1PTY=9|dh8WvD(T8W=rt4<`2h6Zc&K2K4Ds@s z^8L0y7l3}Y^)`fbbxnaq$+d-wlTDTN*dZ`Pv}Ba)q}}`0A0TGeV0U-c9*<$fdPefz z!m0}r>}T1!4Rxa2%-38L1L_u*AYeGj_TI|fmk&AR0pn5oGgB9ZTn^CW=ZN^gv-LLk zafP0MsW6_2ipP}&+RU8vUZDM~;hpk?Oo@g)VKbzYv_DBLpZw&0axMPSGULG+_T-Ib=6Di__`xFPfGxS \ No newline at end of file diff --git a/data/gitea/public/assets/img/msteams.png b/data/gitea/public/assets/img/msteams.png new file mode 100644 index 0000000000000000000000000000000000000000..d7b81da4edf9cfce4357d0486b5c790449710f16 GIT binary patch literal 4313 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 U1h}j_1T>n#)78&qol`;+0Iq90p8x;= literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/img/packagist.png b/data/gitea/public/assets/img/packagist.png new file mode 100644 index 0000000000000000000000000000000000000000..76c0e62a20d7ca8f50ce24b1e5acb8b4af2b932f GIT binary patch literal 4573 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 literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/img/repo_default.png b/data/gitea/public/assets/img/repo_default.png new file mode 100644 index 0000000000000000000000000000000000000000..fa11c8221853765e36d5c557e11cd8d1644df25f GIT binary patch literal 1645 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKL9LzwG?TN?!0jZw>J|V6^dSn8J*t<4Bp9hx& z`2{n`#7*9H``xeqwG;?kci;Z}u|1}IsphO{J*)j*`c7A#x$4qQsrrVw>|cr)7+5ZNx;TbZ zFuu9i+<26MhvCANmATu~-|oK~d0+2ySVaLJ&*_g%8V_?k7oE}8VQyZKWmTutw#@0i z&uO<$rweUgOqRFs5Nioz+1n|sqCH9E*TkoalS~gOHOoyA&2xCgW_5kb4#7-o`JKCt z>2}O^+@4pUUBo?i7k8ny(6I{(f3uV;@b_PstA3}`#yLGsM#b7P|IMx7MS5uh3tqR?&TW6MS5jDMga@iJH)we0h zRk~WY&K}z$E_(OOF%ucly)%0=?X|2<9QzU$QZl3WWok&tl-`#XTBr8MeyRTH&dA8b z!XcpG(7-@|G2tNFOKvA36haMK!p}sc$v_Qrx(Pb~=17lt7UEnC(qJLpNXTO_b2%pD z@e>siU=4+OOauZ9ZmxjBUkM}*0iP-h6_04bipDr^-DH!%LZOEB7C z7JGcRZ9+1UK%krmT($A>iWde~Z=7E7LgDI-=)jA!S03|Qv zp83#I#O%Ay*X6d=f=hds{M+(+MQ)bWSM^?g*FxdREA4ZNluk+4ntx^Q^><;HlB%4x zfAYLof7kS?e8u|7_x>wbU3>KD@E_Nz9}g$LNRhAoqfpOvTwVO)%edRO&gEZT9=+Z* ze9PwVCI2@cUMzE?kI(*g{jTqoUuu5d7lkE8a8N2K$ntYc@KlIp{p30)v~k5rT}hW(5gjkDGosdN3ZGYD$eIU+9?=^@_4-?K#VF@L{~$`c}q z7XF?mip``EJFHT^Fp9VH*gv>6;UjyDl+nKl+Rn%1OA=4~IIPDP$zlKC(uCF@&U!qN x9rkY)P4Kj{yWVo<`^6otHm%=R?m0jI2cxDmhXvzro@`L1;pyt?4>)4Biv literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/img/slack.png b/data/gitea/public/assets/img/slack.png new file mode 100644 index 0000000000000000000000000000000000000000..28d863f8cb0b9a447edaa388ee54fe7e921c891b GIT binary patch literal 1428 zcmV;F1#9|=P)thp&PTQC04v;tDegNGKW|4$*k!l~HGr!C%91vTckx7+U^Qx?m8^p5YGcGc7yzR>2yP%A zKs7R;hKGoMIUR~KWdtfOREI^cfg89=2H;`zBuK&>lmDK88_+p4@If7cH>z-$trq(R zEJmnrwiOvjeAo{*7%W!&h)=>FZ897|WFXmW#O(JM(dw=@ylKHq^on6R zyu3O|vCv7f+na^Hh)`xIGoPJ)TH##*yky6B|qCSi*ZhN85g)JC(=OWg8=A$BknU5cE z;zVZXk~cHBC{_5-A2}it^{zD`VeO~8OtiwG^(g7T3Prq^qfEdCOndV)wLybLCMNrK zpwtUxppxu6JrJKYaY!<8Q{>nH{UD{6x_9)$XDGOPF%vH4yOObx_Yw@a`xx^i;hX_# zHYx)(A2lI0BQ<5hh03rR;z4j~AXt}T8ySj_BBh8)m^0Ai^kK}GLU{p*vc^H-5)m7Pv!A!5^T`j=_p!Cn!DYc z8#o!F02Ag7P`bG?P(RcVHIzdG5n6H_2{KA@1l)EH}lDN$PeT~Zi^+D3@AZkeG27YQ4 zOtjVYU1+gsF`9NCf;z=p;!^GbkQbcDMMY6kw48x|83`#q3W@>#6g6ed;VR}}jZcE= zz7)L&jYoqLtQAyWl>VSNs#I<&6kt)L&)qx&_45W{VXs@L!p|y zm(?jQ&jhT=+KGua%H4#qZmvdXpQkx~6&!~MzOfKdVitZkuf;@V`%4K^p?TQFB?B~{ zTwN*6w+jp_1Ge$H|gs>wgVLBxurx`c;^PU2f3sgu$2$OiO&dJqmk=YYrn z9ZpUSm?AZZtTB%>plP)h(oHAO;MjV!dgx12LI1PyydM1x_Mnft$BEMon%)d9HKAD+ z$F>yF_&pLf^!jjAw3HS|uD}tDY6-oZ=;`M0Za@YMa0urYRw{$|?cm

i@L2Ij%bl%eiEoiv4{Ymii0zzvb~J!uDw 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 literal 0 HcmV?d00001 diff --git a/data/gitea/public/assets/img/wechatwork.png b/data/gitea/public/assets/img/wechatwork.png new file mode 100644 index 0000000000000000000000000000000000000000..296225fb885144f88c2b02073d7ca642877be9ac GIT binary patch literal 9341 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[y].dequeue(),m){u=u.concat(yn(e,t,r,m,!0));break}}}return u}function yn(e,t,r,u,o){var f=o?[]:void 0;return g.A(e.inEdges(u.v),function(m){var y=e.edge(m),C=e.node(m.v);o&&f.push({v:m.v,w:m.w}),C.out-=y,mn(t,r,C)}),g.A(e.outEdges(u.v),function(m){var y=e.edge(m),C=m.w,S=e.node(C);S.in-=y,mn(t,r,S)}),e.removeNode(u.v),f}function Ln(e,t){var r=new N.T,u=0,o=0;g.A(e.nodes(),function(y){r.setNode(y,{v:y,in:0,out:0})}),g.A(e.edges(),function(y){var C=r.edge(y.v,y.w)||0,S=t(y),P=C+S;r.setEdge(y.v,y.w,P),o=Math.max(o,r.node(y.v).out+=S),u=Math.max(u,r.node(y.w).in+=S)});var f=H.A(o+u+3).map(function(){return new Y}),m=u+1;return g.A(r.nodes(),function(y){mn(f,m,r.node(y))}),{graph:r,buckets:f,zeroIdx:m}}function mn(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}function Bn(e){var t=e.graph().acyclicer==="greedy"?rn(e,r(e)):ve(e);g.A(t,function(u){var o=e.edge(u);e.removeEdge(u),o.forwardName=u.name,o.reversed=!0,e.setEdge(u.w,u.v,o,R.A("rev"))});function r(u){return function(o){return u.edge(o).weight}}}function ve(e){var t=[],r={},u={};function o(f){F.A(u,f)||(u[f]=!0,r[f]=!0,g.A(e.outEdges(f),function(m){F.A(r,m.w)?t.push(m):o(m.w)}),delete r[f])}return g.A(e.nodes(),o),t}function sn(e){g.A(e.edges(),function(t){var r=e.edge(t);if(r.reversed){e.removeEdge(t);var u=r.forwardName;delete r.reversed,delete r.forwardName,e.setEdge(t.w,t.v,r,u)}})}var gn=h("./node_modules/lodash-es/merge.js"),Rn=h("./node_modules/lodash-es/pick.js"),xe=h("./node_modules/lodash-es/defaults.js"),Z=h("./node_modules/lodash-es/isSymbol.js");function Mn(e,t,r){for(var u=-1,o=e.length;++ut}var te=_e,Nn=h("./node_modules/lodash-es/identity.js");function vn(e){return e&&e.length?ln(e,Nn.A,te):void 0}var ue=vn;function pt(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var ye=pt,rt=h("./node_modules/lodash-es/_baseAssignValue.js"),it=h("./node_modules/lodash-es/_baseForOwn.js"),Pe=h("./node_modules/lodash-es/_baseIteratee.js");function Ee(e,t){var r={};return t=(0,Pe.A)(t,3),(0,it.A)(e,function(u,o,f){(0,rt.A)(r,o,t(u,o,f))}),r}var Ne=Ee,re=h("./node_modules/lodash-es/isUndefined.js");function ce(e,t){return eMath.abs(o)*y?(f<0&&(y=-y),C=y*o/f,S=y):(o<0&&(m=-m),C=m,S=m*f/o),{x:r+C,y:u+S}}function cn(e){var t=D.A(H.A($e(e)+1),function(){return[]});return g.A(e.nodes(),function(r){var u=e.node(r),o=u.rank;re.A(o)||(t[o][u.order]=r)}),t}function An(e){var t=we(D.A(e.nodes(),function(r){return e.node(r).rank}));g.A(e.nodes(),function(r){var u=e.node(r);F.A(u,"rank")&&(u.rank-=t)})}function kn(e){var t=we(D.A(e.nodes(),function(f){return e.node(f).rank})),r=[];g.A(e.nodes(),function(f){var m=e.node(f).rank-t;r[m]||(r[m]=[]),r[m].push(f)});var u=0,o=e.graph().nodeRankFactor;g.A(r,function(f,m){re.A(f)&&m%o!==0?--u:u&&g.A(f,function(y){e.node(y).rank+=u})})}function $n(e,t,r,u){var o={width:0,height:0};return arguments.length>=4&&(o.rank=r,o.order=u),Ae(e,"border",o,t)}function $e(e){return ue(D.A(e.nodes(),function(t){var r=e.node(t).rank;if(!re.A(r))return r}))}function fe(e,t){var r={lhs:[],rhs:[]};return g.A(e,function(u){t(u)?r.lhs.push(u):r.rhs.push(u)}),r}function Ce(e,t){var r=Me();try{return t()}finally{console.log(e+" time: "+(Me()-r)+"ms")}}function Zn(e,t){return t()}function Tt(e){function t(r){var u=e.children(r),o=e.node(r);if(u.length&&g.A(u,t),F.A(o,"minRank")){o.borderLeft=[],o.borderRight=[];for(var f=o.minRank,m=o.maxRank+1;f-1?o[f?t[m]:m]:void 0}}var zt=Rt,O=h("./node_modules/lodash-es/_baseFindIndex.js"),U=h("./node_modules/lodash-es/toFinite.js");function un(e){var t=(0,U.A)(e),r=t%1;return t===t?r?t-r:t:0}var fn=un,jn=Math.max;function _n(e,t,r){var u=e==null?0:e.length;if(!u)return-1;var o=r==null?0:fn(r);return o<0&&(o=jn(u+o,0)),(0,O.A)(e,(0,Pe.A)(t,3),o)}var Gn=_n,Tn=zt(Gn),Un=Tn,Wn=h("./node_modules/lodash-es/filter.js"),oe=M.A(1);function ie(e,t,r,u){return Vn(e,String(t),r||oe,u||function(o){return e.outEdges(o)})}function Vn(e,t,r,u){var o={},f=new PriorityQueue,m,y,C=function(S){var P=S.v!==m?S.v:S.w,V=o[P],pn=r(S),En=y.distance+pn;if(pn<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+S+" Weight: "+pn);En0&&(m=f.removeMin(),y=o[m],y.distance!==Number.POSITIVE_INFINITY);)u(m).forEach(C);return o}function je(e,t,r){return _.transform(e.nodes(),function(u,o){u[o]=dijkstra(e,o,t,r)},{})}var le=M.A(1);function pe(e,t,r){return Te(e,t||le,r||function(u){return e.outEdges(u)})}function Te(e,t,r){var u={},o=e.nodes();return o.forEach(function(f){u[f]={},u[f][f]={distance:0},o.forEach(function(m){f!==m&&(u[f][m]={distance:Number.POSITIVE_INFINITY})}),r(f).forEach(function(m){var y=m.v===f?m.w:m.v,C=t(m);u[f][y]={distance:C,predecessor:f}})}),o.forEach(function(f){var m=u[f];o.forEach(function(y){var C=u[y];o.forEach(function(S){var P=C[f],V=m[S],pn=C[S],En=P.distance+V.distance;En0;){if(f=o.removeMin(),_.has(u,f))r.setEdge(f,u[f]);else{if(y)throw new Error("Input graph is not connected: "+e);y=!0}e.nodeEdges(f).forEach(m)}return r}ct.initLowLimValues=He,ct.initCutValues=qt,ct.calcCutValue=wr,ct.leaveEdge=kr,ct.enterEdge=lr,ct.exchangeEdges=Cr;function ct(e){e=dn(e),Se(e);var t=wt(e);He(t),qt(t,e);for(var r,u;r=kr(t);)u=lr(t,e,r),Cr(t,e,r,u)}function qt(e,t){var r=$r(e,e.nodes());r=r.slice(0,r.length-1),g.A(r,function(u){Er(e,t,u)})}function Er(e,t,r){var u=e.node(r),o=u.parent;e.edge(r,o).cutvalue=wr(e,t,r)}function wr(e,t,r){var u=e.node(r),o=u.parent,f=!0,m=t.edge(r,o),y=0;return m||(f=!1,m=t.edge(o,r)),y=m.weight,g.A(t.nodeEdges(r),function(C){var S=C.v===r,P=S?C.w:C.v;if(P!==o){var V=S===f,pn=t.edge(C).weight;if(y+=V?pn:-pn,Jr(e,r,P)){var En=e.edge(r,P).cutvalue;y+=V?-En:En}}}),y}function He(e,t){arguments.length<2&&(t=e.nodes()[0]),or(e,{},1,t)}function or(e,t,r,u,o){var f=r,m=e.node(u);return t[u]=!0,g.A(e.neighbors(u),function(y){F.A(t,y)||(r=or(e,t,r,y,u))}),m.low=f,m.lim=r++,o?m.parent=o:delete m.parent,r}function kr(e){return Un(e.edges(),function(t){return e.edge(t).cutvalue<0})}function lr(e,t,r){var u=r.v,o=r.w;t.hasEdge(u,o)||(u=r.w,o=r.v);var f=e.node(u),m=e.node(o),y=f,C=!1;f.lim>m.lim&&(y=m,C=!0);var S=Wn.A(t.edges(),function(P){return C===Ir(e,e.node(P.v),y)&&C!==Ir(e,e.node(P.w),y)});return Ie(S,function(P){return Je(t,P)})}function Cr(e,t,r,u){var o=r.v,f=r.w;e.removeEdge(o,f),e.setEdge(u.v,u.w,{}),He(e),qt(e,t),Xr(e,t)}function Xr(e,t){var r=Un(e.nodes(),function(o){return!t.node(o).parent}),u=Jt(e,r);u=u.slice(1),g.A(u,function(o){var f=e.node(o).parent,m=t.edge(o,f),y=!1;m||(m=t.edge(f,o),y=!0),t.node(o).rank=t.node(f).rank+(y?m.minlen:-m.minlen)})}function Jr(e,t,r){return e.hasEdge(t,r)}function Ir(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}function qr(e){switch(e.graph().ranker){case"network-simplex":jr(e);break;case"tight-tree":Sr(e);break;case"longest-path":ni(e);break;default:jr(e)}}var ni=Se;function Sr(e){Se(e),wt(e)}function jr(e){ct(e)}var ft=h("./node_modules/lodash-es/values.js"),nr=h("./node_modules/lodash-es/reduce.js");function ei(e){var t=Ae(e,"root",{},"_root"),r=ti(e),u=ue(ft.A(r))-1,o=2*u+1;e.graph().nestingRoot=t,g.A(e.edges(),function(m){e.edge(m).minlen*=o});var f=ri(e)+1;g.A(e.children(),function(m){er(e,t,o,f,u,r,m)}),e.graph().nodeRankFactor=o}function er(e,t,r,u,o,f,m){var y=e.children(m);if(!y.length){m!==t&&e.setEdge(t,m,{weight:0,minlen:r});return}var C=$n(e,"_bt"),S=$n(e,"_bb"),P=e.node(m);e.setParent(C,m),P.borderTop=C,e.setParent(S,m),P.borderBottom=S,g.A(y,function(V){er(e,t,r,u,o,f,V);var pn=e.node(V),En=pn.borderTop?pn.borderTop:V,Pn=pn.borderBottom?pn.borderBottom:V,ge=pn.borderTop?u:2*u,hr=En!==Pn?1:o-f[m]+1;e.setEdge(C,En,{weight:ge,minlen:hr,nestingEdge:!0}),e.setEdge(Pn,S,{weight:ge,minlen:hr,nestingEdge:!0})}),e.parent(m)||e.setEdge(t,C,{weight:0,minlen:o+f[m]})}function ti(e){var t={};function r(u,o){var f=e.children(u);f&&f.length&&g.A(f,function(m){r(m,o+1)}),t[u]=o}return g.A(e.children(),function(u){r(u,1)}),t}function ri(e){return nr.A(e.edges(),function(t,r){return t+e.edge(r).weight},0)}function ii(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,g.A(e.edges(),function(r){var u=e.edge(r);u.nestingEdge&&e.removeEdge(r)})}var dr=h("./node_modules/lodash-es/_baseClone.js"),si=1,n=4;function a(e){return(0,dr.A)(e,si|n)}var i=a;function s(e,t,r){var u={},o;g.A(r,function(f){for(var m=e.parent(f),y,C;m;){if(y=e.parent(m),y?(C=u[y],u[y]=m):(C=o,o=m),C&&C!==m){t.setEdge(C,m);return}m=y}})}function c(e,t,r){var u=l(e),o=new N.T({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(f){return e.node(f)});return g.A(e.nodes(),function(f){var m=e.node(f),y=e.parent(f);(m.rank===t||m.minRank<=t&&t<=m.maxRank)&&(o.setNode(f),o.setParent(f,y||u),g.A(e[r](f),function(C){var S=C.v===f?C.w:C.v,P=o.edge(S,f),V=re.A(P)?0:P.weight;o.setEdge(S,f,{weight:e.edge(C).weight+V})}),F.A(m,"minRank")&&o.setNode(f,{borderLeft:m.borderLeft[t],borderRight:m.borderRight[t]}))}),o}function l(e){for(var t;e.hasNode(t=R.A("_root")););return t}var d=h("./node_modules/lodash-es/_assignValue.js");function p(e,t,r){for(var u=-1,o=e.length,f=t.length,m={};++ut||f&&m&&C&&!y&&!S||u&&m&&C||!r&&C||!o)return 1;if(!u&&!f&&!S&&e=y)return C;var S=r[u];return C*(S=="desc"?-1:1)}}return e.index-t.index}var Qn=Yn;function B(e,t,r){t.length?t=(0,k.A)(t,function(f){return(0,Be.A)(f)?function(m){return(0,x.A)(m,f.length===1?f[0]:f)}:f}):t=[Nn.A];var u=-1;t=(0,k.A)(t,(0,$.A)(Pe.A));var o=(0,In.A)(e,function(f,m,y){var C=(0,k.A)(t,function(S){return S(f)});return{criteria:C,index:++u,value:f}});return Kn(o,function(f,m){return Qn(f,m,r)})}var zn=B,ee=h("./node_modules/lodash-es/_baseRest.js"),qn=h("./node_modules/lodash-es/_isIterateeCall.js"),me=(0,ee.A)(function(e,t){if(e==null)return[];var r=t.length;return r>1&&(0,qn.A)(e,t[0],t[1])?t=[]:r>2&&(0,qn.A)(t[0],t[1],t[2])&&(t=[t[0]]),zn(e,(0,j.A)(t,1),[])}),Hn=me;function wn(e,t){for(var r=0,u=1;u0;)P%2&&(V+=y[P+1]),P=P-1>>1,y[P]+=S.weight;C+=S.weight*V})),C}function xn(e){var t={},r=Wn.A(e.nodes(),function(y){return!e.children(y).length}),u=ue(D.A(r,function(y){return e.node(y).rank})),o=D.A(H.A(u+1),function(){return[]});function f(y){if(!F.A(t,y)){t[y]=!0;var C=e.node(y);o[C.rank].push(y),g.A(e.successors(y),f)}}var m=Hn(r,function(y){return e.node(y).rank});return g.A(m,f),o}function bn(e,t){return D.A(t,function(r){var u=e.inEdges(r);if(u.length){var o=nr.A(u,function(f,m){var y=e.edge(m),C=e.node(m.v);return{sum:f.sum+y.weight*C.order,weight:f.weight+y.weight}},{sum:0,weight:0});return{v:r,barycenter:o.sum/o.weight,weight:o.weight}}else return{v:r}})}function Jn(e,t){var r={};g.A(e,function(o,f){var m=r[o.v]={indegree:0,in:[],out:[],vs:[o.v],i:f};re.A(o.barycenter)||(m.barycenter=o.barycenter,m.weight=o.weight)}),g.A(t.edges(),function(o){var f=r[o.v],m=r[o.w];!re.A(f)&&!re.A(m)&&(m.indegree++,f.out.push(r[o.w]))});var u=Wn.A(r,function(o){return!o.indegree});return se(u)}function se(e){var t=[];function r(f){return function(m){m.merged||(re.A(m.barycenter)||re.A(f.barycenter)||m.barycenter>=f.barycenter)&&Re(f,m)}}function u(f){return function(m){m.in.push(f),--m.indegree===0&&e.push(m)}}for(;e.length;){var o=e.pop();t.push(o),g.A(o.in.reverse(),r(o)),g.A(o.out,u(o))}return D.A(Wn.A(t,function(f){return!f.merged}),function(f){return Rn.A(f,["vs","i","barycenter","weight"])})}function Re(e,t){var r=0,u=0;e.weight&&(r+=e.barycenter*e.weight,u+=e.weight),t.weight&&(r+=t.barycenter*t.weight,u+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/u,e.weight=u,e.i=Math.min(t.i,e.i),t.merged=!0}function Ge(e,t){var r=fe(e,function(P){return F.A(P,"barycenter")}),u=r.lhs,o=Hn(r.rhs,function(P){return-P.i}),f=[],m=0,y=0,C=0;u.sort(Oe(!!t)),C=A(f,o,C),g.A(u,function(P){C+=P.vs.length,f.push(P.vs),m+=P.barycenter*P.weight,y+=P.weight,C=A(f,o,C)});var S={vs:z.A(f)};return y&&(S.barycenter=m/y,S.weight=y),S}function A(e,t,r){for(var u;t.length&&(u=ye(t)).i<=r;)t.pop(),e.push(u.vs),r++;return r}function Oe(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}function Ve(e,t,r,u){var o=e.children(t),f=e.node(t),m=f?f.borderLeft:void 0,y=f?f.borderRight:void 0,C={};m&&(o=Wn.A(o,function(Pn){return Pn!==m&&Pn!==y}));var S=bn(e,o);g.A(S,function(Pn){if(e.children(Pn.v).length){var ge=Ve(e,Pn.v,r,u);C[Pn.v]=ge,F.A(ge,"barycenter")&&be(Pn,ge)}});var P=Jn(S,r);v(P,C);var V=Ge(P,u);if(m&&(V.vs=z.A([m,V.vs,y]),e.predecessors(m).length)){var pn=e.node(e.predecessors(m)[0]),En=e.node(e.predecessors(y)[0]);F.A(V,"barycenter")||(V.barycenter=0,V.weight=0),V.barycenter=(V.barycenter*V.weight+pn.order+En.order)/(V.weight+2),V.weight+=2}return V}function v(e,t){g.A(e,function(r){r.vs=z.A(r.vs.map(function(u){return t[u]?t[u].vs:u}))})}function be(e,t){re.A(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}function St(e){var t=$e(e),r=tr(e,H.A(1,t+1),"inEdges"),u=tr(e,H.A(t-1,-1,-1),"outEdges"),o=xn(e);ae(e,o);for(var f=Number.POSITIVE_INFINITY,m,y=0,C=0;C<4;++y,++C){Kt(y%2?r:u,y%4>=2),o=cn(e);var S=wn(e,o);Sm||y>t[C].lim));for(S=C,C=u;(C=e.parent(C))!==S;)f.push(C);return{path:o.concat(f.reverse()),lca:S}}function jt(e){var t={},r=0;function u(o){var f=r;g.A(e.children(o),u),t[o]={low:f,lim:r++}}return g.A(e.children(),u),t}var ht=h("./node_modules/lodash-es/_castFunction.js");function cr(e,t){return e&&(0,it.A)(e,(0,ht.A)(t))}var ai=cr,ui=h("./node_modules/lodash-es/_baseFor.js"),Tr=h("./node_modules/lodash-es/keysIn.js");function Fr(e,t){return e==null?e:(0,ui.A)(e,(0,ht.A)(t),Tr.A)}var Or=Fr;function oi(e,t){var r={};function u(o,f){var m=0,y=0,C=o.length,S=ye(f);return g.A(f,function(P,V){var pn=Lr(e,P),En=pn?e.node(pn).order:C;(pn||P===S)&&(g.A(f.slice(y,V+1),function(Pn){g.A(e.predecessors(Pn),function(ge){var hr=e.node(ge),pi=hr.order;(piS)&&Mr(r,pn,P)})})}function o(f,m){var y=-1,C,S=0;return g.A(m,function(P,V){if(e.node(P).dummy==="border"){var pn=e.predecessors(P);pn.length&&(C=e.node(pn[0]).order,u(m,S,V,y,C),S=V,y=C)}u(m,S,m.length,C,f.length)}),m}return nr.A(t,o),r}function Lr(e,t){if(e.node(t).dummy)return Un(e.predecessors(t),function(r){return e.node(r).dummy})}function Mr(e,t,r){if(t>r){var u=t;t=r,r=u}var o=e[t];o||(e[t]=o={}),o[r]=!0}function li(e,t,r){if(t>r){var u=t;t=r,r=u}return F.A(e[t],r)}function di(e,t,r,u){var o={},f={},m={};return g.A(t,function(y){g.A(y,function(C,S){o[C]=C,f[C]=C,m[C]=S})}),g.A(t,function(y){var C=-1;g.A(y,function(S){var P=u(S);if(P.length){P=Hn(P,function(ge){return m[ge]});for(var V=(P.length-1)/2,pn=Math.floor(V),En=Math.ceil(V);pn<=En;++pn){var Pn=P[pn];f[S]===S&&C-1}var sn=ve;function gn(dn,w,L){for(var X=-1,J=dn==null?0:dn.length;++X=ue){var $e=w?null:vn(dn);if($e)return(0,_e.A)($e);An=!1,J=xe.A,$n=new an.A}else $n=w?[]:kn;n:for(;++X1?J.setNode(cn,L):J.setNode(cn)}),this}setNode(w,L){return g.A(this._nodes,w)?(arguments.length>1&&(this._nodes[w]=L),this):(this._nodes[w]=arguments.length>1?L:this._defaultNodeLabelFn(w),this._isCompound&&(this._parent[w]=ce,this._children[w]={},this._children[ce][w]=!0),this._in[w]={},this._preds[w]={},this._out[w]={},this._sucs[w]={},++this._nodeCount,this)}node(w){return this._nodes[w]}hasNode(w){return g.A(this._nodes,w)}removeNode(w){var L=this;if(g.A(this._nodes,w)){var X=function(J){L.removeEdge(L._edgeObjs[J])};delete this._nodes[w],this._isCompound&&(this._removeFromParentsChildList(w),delete this._parent[w],H.A(this.children(w),function(J){L.setParent(J)}),delete this._children[w]),H.A(M.A(this._in[w]),X),delete this._in[w],delete this._preds[w],H.A(M.A(this._out[w]),X),delete this._out[w],delete this._sucs[w],--this._nodeCount}return this}setParent(w,L){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(N.A(L))L=ce;else{L+="";for(var X=L;!N.A(X);X=this.parent(X))if(X===w)throw new Error("Setting "+L+" as parent of "+w+" would create a cycle");this.setNode(L)}return this.setNode(w),this._removeFromParentsChildList(w),this._parent[w]=L,this._children[L][w]=!0,this}_removeFromParentsChildList(w){delete this._children[this._parent[w]][w]}parent(w){if(this._isCompound){var L=this._parent[w];if(L!==ce)return L}}children(w){if(N.A(w)&&(w=ce),this._isCompound){var L=this._children[w];if(L)return M.A(L)}else{if(w===ce)return this.nodes();if(this.hasNode(w))return[]}}predecessors(w){var L=this._preds[w];if(L)return M.A(L)}successors(w){var L=this._sucs[w];if(L)return M.A(L)}neighbors(w){var L=this.predecessors(w);if(L)return Pe(L,this.successors(w))}isLeaf(w){var L;return this.isDirected()?L=this.successors(w):L=this.neighbors(w),L.length===0}filterNodes(w){var L=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});L.setGraph(this.graph());var X=this;H.A(this._nodes,function(An,kn){w(kn)&&L.setNode(kn,An)}),H.A(this._edgeObjs,function(An){L.hasNode(An.v)&&L.hasNode(An.w)&&L.setEdge(An,X.edge(An))});var J={};function cn(An){var kn=X.parent(An);return kn===void 0||L.hasNode(kn)?(J[An]=kn,kn):kn in J?J[kn]:cn(kn)}return this._isCompound&&H.A(L.nodes(),function(An){L.setParent(An,cn(An))}),L}setDefaultEdgeLabel(w){return F.A(w)||(w=R.A(w)),this._defaultEdgeLabelFn=w,this}edgeCount(){return this._edgeCount}edges(){return Ee.A(this._edgeObjs)}setPath(w,L){var X=this,J=arguments;return Ne.A(w,function(cn,An){return J.length>1?X.setEdge(cn,An,L):X.setEdge(cn,An),An}),this}setEdge(){var w,L,X,J,cn=!1,An=arguments[0];typeof An=="object"&&An!==null&&"v"in An?(w=An.v,L=An.w,X=An.name,arguments.length===2&&(J=arguments[1],cn=!0)):(w=An,L=arguments[1],X=arguments[3],arguments.length>2&&(J=arguments[2],cn=!0)),w=""+w,L=""+L,N.A(X)||(X=""+X);var kn=ke(this._isDirected,w,L,X);if(g.A(this._edgeLabels,kn))return cn&&(this._edgeLabels[kn]=J),this;if(!N.A(X)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(w),this.setNode(L),this._edgeLabels[kn]=cn?J:this._defaultEdgeLabelFn(w,L,X);var $n=Me(this._isDirected,w,L,X);return w=$n.v,L=$n.w,Object.freeze($n),this._edgeObjs[kn]=$n,we(this._preds[L],w),we(this._sucs[w],L),this._in[L][kn]=$n,this._out[w][kn]=$n,this._edgeCount++,this}edge(w,L,X){var J=arguments.length===1?Ae(this._isDirected,arguments[0]):ke(this._isDirected,w,L,X);return this._edgeLabels[J]}hasEdge(w,L,X){var J=arguments.length===1?Ae(this._isDirected,arguments[0]):ke(this._isDirected,w,L,X);return g.A(this._edgeLabels,J)}removeEdge(w,L,X){var J=arguments.length===1?Ae(this._isDirected,arguments[0]):ke(this._isDirected,w,L,X),cn=this._edgeObjs[J];return cn&&(w=cn.v,L=cn.w,delete this._edgeLabels[J],delete this._edgeObjs[J],Qe(this._preds[L],w),Qe(this._sucs[w],L),delete this._in[L][J],delete this._out[w][J],this._edgeCount--),this}inEdges(w,L){var X=this._in[w];if(X){var J=Ee.A(X);return L?z.A(J,function(cn){return cn.v===L}):J}}outEdges(w,L){var X=this._out[w];if(X){var J=Ee.A(X);return L?z.A(J,function(cn){return cn.w===L}):J}}nodeEdges(w,L){var X=this.inEdges(w,L);if(X)return X.concat(this.outEdges(w,L))}}Ye.prototype._nodeCount=0,Ye.prototype._edgeCount=0;function we(dn,w){dn[w]?dn[w]++:dn[w]=1}function Qe(dn,w){--dn[w]||delete dn[w]}function ke(dn,w,L,X){var J=""+w,cn=""+L;if(!dn&&J>cn){var An=J;J=cn,cn=An}return J+Le+cn+Le+(N.A(X)?re:X)}function Me(dn,w,L,X){var J=""+w,cn=""+L;if(!dn&&J>cn){var An=J;J=cn,cn=An}var kn={v:J,w:cn};return X&&(kn.name=X),kn}function Ae(dn,w){return ke(dn,w.v,w.w,w.name)}},"./node_modules/dagre-d3-es/src/graphlib/index.js":function(hn,W,h){h.d(W,{T:function(){return g.T}});var g=h("./node_modules/dagre-d3-es/src/graphlib/graph.js");const R="2.1.9-pre"},"./node_modules/lodash-es/_SetCache.js":function(hn,W,h){h.d(W,{A:function(){return N}});var g=h("./node_modules/lodash-es/_MapCache.js"),R="__lodash_hash_undefined__";function F(Y){return this.__data__.set(Y,R),this}var M=F;function z(Y){return this.__data__.has(Y)}var D=z;function H(Y){var nn=-1,an=Y==null?0:Y.length;for(this.__data__=new g.A;++nn0&&Q(mn)?an>1?N(mn,an-1,Q,rn,q):(0,g.A)(q,mn):rn||(q[q.length]=mn)}return q}var Y=N},"./node_modules/lodash-es/_baseForOwn.js":function(hn,W,h){var g=h("./node_modules/lodash-es/_baseFor.js"),R=h("./node_modules/lodash-es/keys.js");function F(M,z){return M&&(0,g.A)(M,z,R.A)}W.A=F},"./node_modules/lodash-es/_baseGet.js":function(hn,W,h){var g=h("./node_modules/lodash-es/_castPath.js"),R=h("./node_modules/lodash-es/_toKey.js");function F(M,z){z=(0,g.A)(z,M);for(var D=0,H=z.length;M!=null&&DTn))return!1;var Wn=_n.get(O),oe=_n.get(U);if(Wn&&oe)return Wn==U&&oe==O;var ie=-1,Vn=!0,je=un&H?new R.A:void 0;for(_n.set(O,U),_n.set(U,O);++ie2?Y[2]:void 0;for(Q&&(0,F.A)(Y[0],Y[1],Q)&&(an=1);++nnc?0:c+a:a=a>c?c:a,i=i>0?i:0,s.length<1e4)d=Array.from(s),d.unshift(a,i),n.splice(...d);else for(i&&n.splice(a,i);l0?(N(n,n.length,0,a),n):a}const nn={}.hasOwnProperty;function an(n){const a={};let i=-1;for(;++id))return;const zn=a.events.length;let ee=zn,qn,me;for(;ee--;)if(a.events[ee][0]==="exit"&&a.events[ee][1].type==="chunkFlow"){if(qn){me=a.events[ee][1].end;break}qn=!0}for($(s),B=zn;Ben;){const Qn=i[Yn];a.containerState=Qn[1],Qn[0].exit.call(a,n)}i.length=en}function Xn(){c.write([null]),l=void 0,c=void 0,a.containerState._closeFlow=void 0}}function Pe(n,a,i){return vn(n,n.attempt(this.parser.constructs.document,a,i),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}const Ee={tokenize:Ne,partial:!0};function Ne(n,a,i){return s;function s(l){return ln(l)?vn(n,c,"linePrefix")(l):c(l)}function c(l){return l===null||Z(l)?a(l):i(l)}}function re(n){const a={};let i=-1,s,c,l,d,p,I,E;for(;++i=4?a(d):n.interrupt(s.parser.constructs.flow,i,a)(d)}}const Me={tokenize:Ae};function Ae(n){const a=this,i=n.attempt(Ee,s,n.attempt(this.parser.constructs.flowInitial,c,vn(n,n.attempt(this.parser.constructs.flow,c,n.attempt(Le,c)),"linePrefix")));return i;function s(l){if(l===null){n.consume(l);return}return n.enter("lineEndingBlank"),n.consume(l),n.exit("lineEndingBlank"),a.currentConstruct=void 0,i}function c(l){if(l===null){n.consume(l);return}return n.enter("lineEnding"),n.consume(l),n.exit("lineEnding"),a.currentConstruct=void 0,i}}const dn={resolveAll:J()},w=X("string"),L=X("text");function X(n){return{tokenize:a,resolveAll:J(n==="text"?cn:void 0)};function a(i){const s=this,c=this.parser.constructs[n],l=i.attempt(c,d,p);return d;function d(b){return E(b)?l(b):p(b)}function p(b){if(b===null){i.consume(b);return}return i.enter("data"),i.consume(b),I}function I(b){return E(b)?(i.exit("data"),l(b)):(i.consume(b),I)}function E(b){if(b===null)return!0;const j=c[b];let k=-1;if(j)for(;++k-1){const p=d[0];typeof p=="string"?d[0]=p.slice(s):d.shift()}l>0&&d.push(n[c].slice(0,l))}return d}function $e(n,a){let i=-1;const s=[];let c;for(;++i=3&&(E===null||Z(E))?(n.exit("thematicBreak"),a(E)):i(E)}function I(E){return E===c?(n.consume(E),s++,I):(n.exit("thematicBreakSequence"),ln(E)?vn(n,p,"whitespace")(E):p(E))}}const Zn={name:"list",tokenize:Ft,continuation:{tokenize:Ot},exit:yt},Tt={tokenize:Pt,partial:!0},xt={tokenize:gt,partial:!0};function Ft(n,a,i){const s=this,c=s.events[s.events.length-1];let l=c&&c[1].type==="linePrefix"?c[2].sliceSerialize(c[1],!0).length:0,d=0;return p;function p(x){const In=s.containerState.type||(x===42||x===43||x===45?"listUnordered":"listOrdered");if(In==="listUnordered"?!s.containerState.marker||x===s.containerState.marker:gn(x)){if(s.containerState.type||(s.containerState.type=In,n.enter(In,{_container:!0})),In==="listUnordered")return n.enter("listItemPrefix"),x===42||x===45?n.check(fe,i,E)(x):E(x);if(!s.interrupt||x===49)return n.enter("listItemPrefix"),n.enter("listItemValue"),I(x)}return i(x)}function I(x){return gn(x)&&++d<10?(n.consume(x),I):(!s.interrupt||d<2)&&(s.containerState.marker?x===s.containerState.marker:x===41||x===46)?(n.exit("listItemValue"),E(x)):i(x)}function E(x){return n.enter("listItemMarker"),n.consume(x),n.exit("listItemMarker"),s.containerState.marker=s.containerState.marker||x,n.check(Ee,s.interrupt?i:b,n.attempt(Tt,k,j))}function b(x){return s.containerState.initialBlankLine=!0,l++,k(x)}function j(x){return ln(x)?(n.enter("listItemPrefixWhitespace"),n.consume(x),n.exit("listItemPrefixWhitespace"),k):i(x)}function k(x){return s.containerState.size=l+s.sliceSerialize(n.exit("listItemPrefix"),!0).length,a(x)}}function Ot(n,a,i){const s=this;return s.containerState._closeFlow=void 0,n.check(Ee,c,l);function c(p){return s.containerState.furtherBlankLines=s.containerState.furtherBlankLines||s.containerState.initialBlankLine,vn(n,a,"listItemIndent",s.containerState.size+1)(p)}function l(p){return s.containerState.furtherBlankLines||!ln(p)?(s.containerState.furtherBlankLines=void 0,s.containerState.initialBlankLine=void 0,d(p)):(s.containerState.furtherBlankLines=void 0,s.containerState.initialBlankLine=void 0,n.attempt(xt,a,d)(p))}function d(p){return s.containerState._closeFlow=!0,s.interrupt=void 0,vn(n,n.attempt(Zn,a,i),"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(p)}}function gt(n,a,i){const s=this;return vn(n,c,"listItemIndent",s.containerState.size+1);function c(l){const d=s.events[s.events.length-1];return d&&d[1].type==="listItemIndent"&&d[2].sliceSerialize(d[1],!0).length===s.containerState.size?a(l):i(l)}}function yt(n){n.exit(this.containerState.type)}function Pt(n,a,i){const s=this;return vn(n,c,"listItemPrefixWhitespace",s.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function c(l){const d=s.events[s.events.length-1];return!ln(l)&&d&&d[1].type==="listItemPrefixWhitespace"?a(l):i(l)}}const Ze={name:"blockQuote",tokenize:Et,continuation:{tokenize:_t},exit:Lt};function Et(n,a,i){const s=this;return c;function c(d){if(d===62){const p=s.containerState;return p.open||(n.enter("blockQuote",{_container:!0}),p.open=!0),n.enter("blockQuotePrefix"),n.enter("blockQuoteMarker"),n.consume(d),n.exit("blockQuoteMarker"),l}return i(d)}function l(d){return ln(d)?(n.enter("blockQuotePrefixWhitespace"),n.consume(d),n.exit("blockQuotePrefixWhitespace"),n.exit("blockQuotePrefix"),a):(n.exit("blockQuotePrefix"),a(d))}}function _t(n,a,i){const s=this;return c;function c(d){return ln(d)?vn(n,l,"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(d):l(d)}function l(d){return n.attempt(Ze,a,i)(d)}}function Lt(n){n.exit("blockQuote")}function At(n,a,i,s,c,l,d,p,I){const E=I||Number.POSITIVE_INFINITY;let b=0;return j;function j($){return $===60?(n.enter(s),n.enter(c),n.enter(l),n.consume($),n.exit(l),k):$===null||$===32||$===41||sn($)?i($):(n.enter(s),n.enter(d),n.enter(p),n.enter("chunkString",{contentType:"string"}),Sn($))}function k($){return $===62?(n.enter(l),n.consume($),n.exit(l),n.exit(c),n.exit(s),a):(n.enter(p),n.enter("chunkString",{contentType:"string"}),x($))}function x($){return $===62?(n.exit("chunkString"),n.exit(p),k($)):$===null||$===60||Z($)?i($):(n.consume($),$===92?In:x)}function In($){return $===60||$===62||$===92?(n.consume($),x):x($)}function Sn($){return!b&&($===null||$===41||Mn($))?(n.exit("chunkString"),n.exit(p),n.exit(d),n.exit(s),a($)):b999||x===null||x===91||x===93&&!I||x===94&&!p&&"_hiddenFootnoteSupport"in d.parser.constructs?i(x):x===93?(n.exit(l),n.enter(c),n.consume(x),n.exit(c),n.exit(s),a):Z(x)?(n.enter("lineEnding"),n.consume(x),n.exit("lineEnding"),b):(n.enter("chunkString",{contentType:"string"}),j(x))}function j(x){return x===null||x===91||x===93||Z(x)||p++>999?(n.exit("chunkString"),b(x)):(n.consume(x),I||(I=!ln(x)),x===92?k:j)}function k(x){return x===91||x===92||x===93?(n.consume(x),p++,j):j(x)}}function Xe(n,a,i,s,c,l){let d;return p;function p(k){return k===34||k===39||k===40?(n.enter(s),n.enter(c),n.consume(k),n.exit(c),d=k===40?41:k,I):i(k)}function I(k){return k===d?(n.enter(c),n.consume(k),n.exit(c),n.exit(s),a):(n.enter(l),E(k))}function E(k){return k===d?(n.exit(l),I(d)):k===null?i(k):Z(k)?(n.enter("lineEnding"),n.consume(k),n.exit("lineEnding"),vn(n,E,"linePrefix")):(n.enter("chunkString",{contentType:"string"}),b(k))}function b(k){return k===d||k===null||Z(k)?(n.exit("chunkString"),E(k)):(n.consume(k),k===92?j:b)}function j(k){return k===d||k===92?(n.consume(k),b):b(k)}}function Ie(n,a){let i;return s;function s(c){return Z(c)?(n.enter("lineEnding"),n.consume(c),n.exit("lineEnding"),i=!0,s):ln(c)?vn(n,s,i?"linePrefix":"lineSuffix")(c):a(c)}}function Se(n){return n.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Je={name:"definition",tokenize:Mt},wt={tokenize:Dt,partial:!0};function Mt(n,a,i){const s=this;let c;return l;function l(x){return n.enter("definition"),d(x)}function d(x){return st.call(s,n,p,i,"definitionLabel","definitionLabelMarker","definitionLabelString")(x)}function p(x){return c=Se(s.sliceSerialize(s.events[s.events.length-1][1]).slice(1,-1)),x===58?(n.enter("definitionMarker"),n.consume(x),n.exit("definitionMarker"),I):i(x)}function I(x){return Mn(x)?Ie(n,E)(x):E(x)}function E(x){return At(n,b,i,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(x)}function b(x){return n.attempt(wt,j,j)(x)}function j(x){return ln(x)?vn(n,k,"whitespace")(x):k(x)}function k(x){return x===null||Z(x)?(n.exit("definition"),s.parser.defined.push(c),a(x)):i(x)}}function Dt(n,a,i){return s;function s(p){return Mn(p)?Ie(n,c)(p):i(p)}function c(p){return Xe(n,l,i,"definitionTitle","definitionTitleMarker","definitionTitleString")(p)}function l(p){return ln(p)?vn(n,d,"whitespace")(p):d(p)}function d(p){return p===null||Z(p)?a(p):i(p)}}const vt={name:"codeIndented",tokenize:Bt},bt={tokenize:Rt,partial:!0};function Bt(n,a,i){const s=this;return c;function c(E){return n.enter("codeIndented"),vn(n,l,"linePrefix",5)(E)}function l(E){const b=s.events[s.events.length-1];return b&&b[1].type==="linePrefix"&&b[2].sliceSerialize(b[1],!0).length>=4?d(E):i(E)}function d(E){return E===null?I(E):Z(E)?n.attempt(bt,d,I)(E):(n.enter("codeFlowValue"),p(E))}function p(E){return E===null||Z(E)?(n.exit("codeFlowValue"),d(E)):(n.consume(E),p)}function I(E){return n.exit("codeIndented"),a(E)}}function Rt(n,a,i){const s=this;return c;function c(d){return s.parser.lazy[s.now().line]?i(d):Z(d)?(n.enter("lineEnding"),n.consume(d),n.exit("lineEnding"),c):vn(n,l,"linePrefix",5)(d)}function l(d){const p=s.events[s.events.length-1];return p&&p[1].type==="linePrefix"&&p[2].sliceSerialize(p[1],!0).length>=4?a(d):Z(d)?c(d):i(d)}}const zt={name:"headingAtx",tokenize:U,resolve:O};function O(n,a){let i=n.length-2,s=3,c,l;return n[s][1].type==="whitespace"&&(s+=2),i-2>s&&n[i][1].type==="whitespace"&&(i-=2),n[i][1].type==="atxHeadingSequence"&&(s===i-1||i-4>s&&n[i-2][1].type==="whitespace")&&(i-=s+1===i?2:4),i>s&&(c={type:"atxHeadingText",start:n[s][1].start,end:n[i][1].end},l={type:"chunkText",start:n[s][1].start,end:n[i][1].end,contentType:"text"},N(n,s,i-s+1,[["enter",c,a],["enter",l,a],["exit",l,a],["exit",c,a]])),n}function U(n,a,i){let s=0;return c;function c(b){return n.enter("atxHeading"),l(b)}function l(b){return n.enter("atxHeadingSequence"),d(b)}function d(b){return b===35&&s++<6?(n.consume(b),d):b===null||Mn(b)?(n.exit("atxHeadingSequence"),p(b)):i(b)}function p(b){return b===35?(n.enter("atxHeadingSequence"),I(b)):b===null||Z(b)?(n.exit("atxHeading"),a(b)):ln(b)?vn(n,p,"whitespace")(b):(n.enter("atxHeadingText"),E(b))}function I(b){return b===35?(n.consume(b),I):(n.exit("atxHeadingSequence"),p(b))}function E(b){return b===null||b===35||Mn(b)?(n.exit("atxHeadingText"),p(b)):(n.consume(b),E)}}const un={name:"setextUnderline",tokenize:jn,resolveTo:fn};function fn(n,a){let i=n.length,s,c,l;for(;i--;)if(n[i][0]==="enter"){if(n[i][1].type==="content"){s=i;break}n[i][1].type==="paragraph"&&(c=i)}else n[i][1].type==="content"&&n.splice(i,1),!l&&n[i][1].type==="definition"&&(l=i);const d={type:"setextHeading",start:Object.assign({},n[c][1].start),end:Object.assign({},n[n.length-1][1].end)};return n[c][1].type="setextHeadingText",l?(n.splice(c,0,["enter",d,a]),n.splice(l+1,0,["exit",n[s][1],a]),n[s][1].end=Object.assign({},n[l][1].end)):n[s][1]=d,n.push(["exit",d,a]),n}function jn(n,a,i){const s=this;let c;return l;function l(E){let b=s.events.length,j;for(;b--;)if(s.events[b][1].type!=="lineEnding"&&s.events[b][1].type!=="linePrefix"&&s.events[b][1].type!=="content"){j=s.events[b][1].type==="paragraph";break}return!s.parser.lazy[s.now().line]&&(s.interrupt||j)?(n.enter("setextHeadingLine"),c=E,d(E)):i(E)}function d(E){return n.enter("setextHeadingLineSequence"),p(E)}function p(E){return E===c?(n.consume(E),p):(n.exit("setextHeadingLineSequence"),ln(E)?vn(n,I,"lineSuffix")(E):I(E))}function I(E){return E===null||Z(E)?(n.exit("setextHeadingLine"),a(E)):i(E)}}const _n=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Gn=["pre","script","style","textarea"],Tn={name:"htmlFlow",tokenize:ie,resolveTo:oe,concrete:!0},Un={tokenize:je,partial:!0},Wn={tokenize:Vn,partial:!0};function oe(n){let a=n.length;for(;a--&&!(n[a][0]==="enter"&&n[a][1].type==="htmlFlow"););return a>1&&n[a-2][1].type==="linePrefix"&&(n[a][1].start=n[a-2][1].start,n[a+1][1].start=n[a-2][1].start,n.splice(a-2,2)),n}function ie(n,a,i){const s=this;let c,l,d,p,I;return E;function E(v){return b(v)}function b(v){return n.enter("htmlFlow"),n.enter("htmlFlowData"),n.consume(v),j}function j(v){return v===33?(n.consume(v),k):v===47?(n.consume(v),l=!0,Sn):v===63?(n.consume(v),c=3,s.interrupt?a:A):mn(v)?(n.consume(v),d=String.fromCharCode(v),Kn):i(v)}function k(v){return v===45?(n.consume(v),c=2,x):v===91?(n.consume(v),c=5,p=0,In):mn(v)?(n.consume(v),c=4,s.interrupt?a:A):i(v)}function x(v){return v===45?(n.consume(v),s.interrupt?a:A):i(v)}function In(v){const be="CDATA[";return v===be.charCodeAt(p++)?(n.consume(v),p===be.length?s.interrupt?a:wn:In):i(v)}function Sn(v){return mn(v)?(n.consume(v),d=String.fromCharCode(v),Kn):i(v)}function Kn(v){if(v===null||v===47||v===62||Mn(v)){const be=v===47,St=d.toLowerCase();return!be&&!l&&Gn.includes(St)?(c=1,s.interrupt?a(v):wn(v)):_n.includes(d.toLowerCase())?(c=6,be?(n.consume(v),$):s.interrupt?a(v):wn(v)):(c=7,s.interrupt&&!s.parser.lazy[s.now().line]?i(v):l?Xn(v):en(v))}return v===45||Bn(v)?(n.consume(v),d+=String.fromCharCode(v),Kn):i(v)}function $(v){return v===62?(n.consume(v),s.interrupt?a:wn):i(v)}function Xn(v){return ln(v)?(n.consume(v),Xn):me(v)}function en(v){return v===47?(n.consume(v),me):v===58||v===95||mn(v)?(n.consume(v),Yn):ln(v)?(n.consume(v),en):me(v)}function Yn(v){return v===45||v===46||v===58||v===95||Bn(v)?(n.consume(v),Yn):Qn(v)}function Qn(v){return v===61?(n.consume(v),B):ln(v)?(n.consume(v),Qn):en(v)}function B(v){return v===null||v===60||v===61||v===62||v===96?i(v):v===34||v===39?(n.consume(v),I=v,zn):ln(v)?(n.consume(v),B):ee(v)}function zn(v){return v===I?(n.consume(v),I=null,qn):v===null||Z(v)?i(v):(n.consume(v),zn)}function ee(v){return v===null||v===34||v===39||v===47||v===60||v===61||v===62||v===96||Mn(v)?Qn(v):(n.consume(v),ee)}function qn(v){return v===47||v===62||ln(v)?en(v):i(v)}function me(v){return v===62?(n.consume(v),Hn):i(v)}function Hn(v){return v===null||Z(v)?wn(v):ln(v)?(n.consume(v),Hn):i(v)}function wn(v){return v===45&&c===2?(n.consume(v),Jn):v===60&&c===1?(n.consume(v),se):v===62&&c===4?(n.consume(v),Oe):v===63&&c===3?(n.consume(v),A):v===93&&c===5?(n.consume(v),Ge):Z(v)&&(c===6||c===7)?(n.exit("htmlFlowData"),n.check(Un,Ve,tn)(v)):v===null||Z(v)?(n.exit("htmlFlowData"),tn(v)):(n.consume(v),wn)}function tn(v){return n.check(Wn,xn,Ve)(v)}function xn(v){return n.enter("lineEnding"),n.consume(v),n.exit("lineEnding"),bn}function bn(v){return v===null||Z(v)?tn(v):(n.enter("htmlFlowData"),wn(v))}function Jn(v){return v===45?(n.consume(v),A):wn(v)}function se(v){return v===47?(n.consume(v),d="",Re):wn(v)}function Re(v){if(v===62){const be=d.toLowerCase();return Gn.includes(be)?(n.consume(v),Oe):wn(v)}return mn(v)&&d.length<8?(n.consume(v),d+=String.fromCharCode(v),Re):wn(v)}function Ge(v){return v===93?(n.consume(v),A):wn(v)}function A(v){return v===62?(n.consume(v),Oe):v===45&&c===2?(n.consume(v),A):wn(v)}function Oe(v){return v===null||Z(v)?(n.exit("htmlFlowData"),Ve(v)):(n.consume(v),Oe)}function Ve(v){return n.exit("htmlFlow"),a(v)}}function Vn(n,a,i){const s=this;return c;function c(d){return Z(d)?(n.enter("lineEnding"),n.consume(d),n.exit("lineEnding"),l):i(d)}function l(d){return s.parser.lazy[s.now().line]?i(d):a(d)}}function je(n,a,i){return s;function s(c){return n.enter("lineEnding"),n.consume(c),n.exit("lineEnding"),n.attempt(Ee,a,i)}}const le={tokenize:De,partial:!0},pe={name:"codeFenced",tokenize:Te,concrete:!0};function Te(n,a,i){const s=this,c={tokenize:Qn,partial:!0};let l=0,d=0,p;return I;function I(B){return E(B)}function E(B){const zn=s.events[s.events.length-1];return l=zn&&zn[1].type==="linePrefix"?zn[2].sliceSerialize(zn[1],!0).length:0,p=B,n.enter("codeFenced"),n.enter("codeFencedFence"),n.enter("codeFencedFenceSequence"),b(B)}function b(B){return B===p?(d++,n.consume(B),b):d<3?i(B):(n.exit("codeFencedFenceSequence"),ln(B)?vn(n,j,"whitespace")(B):j(B))}function j(B){return B===null||Z(B)?(n.exit("codeFencedFence"),s.interrupt?a(B):n.check(le,Sn,Yn)(B)):(n.enter("codeFencedFenceInfo"),n.enter("chunkString",{contentType:"string"}),k(B))}function k(B){return B===null||Z(B)?(n.exit("chunkString"),n.exit("codeFencedFenceInfo"),j(B)):ln(B)?(n.exit("chunkString"),n.exit("codeFencedFenceInfo"),vn(n,x,"whitespace")(B)):B===96&&B===p?i(B):(n.consume(B),k)}function x(B){return B===null||Z(B)?j(B):(n.enter("codeFencedFenceMeta"),n.enter("chunkString",{contentType:"string"}),In(B))}function In(B){return B===null||Z(B)?(n.exit("chunkString"),n.exit("codeFencedFenceMeta"),j(B)):B===96&&B===p?i(B):(n.consume(B),In)}function Sn(B){return n.attempt(c,Yn,Kn)(B)}function Kn(B){return n.enter("lineEnding"),n.consume(B),n.exit("lineEnding"),$}function $(B){return l>0&&ln(B)?vn(n,Xn,"linePrefix",l+1)(B):Xn(B)}function Xn(B){return B===null||Z(B)?n.check(le,Sn,Yn)(B):(n.enter("codeFlowValue"),en(B))}function en(B){return B===null||Z(B)?(n.exit("codeFlowValue"),Xn(B)):(n.consume(B),en)}function Yn(B){return n.exit("codeFenced"),a(B)}function Qn(B,zn,ee){let qn=0;return me;function me(bn){return B.enter("lineEnding"),B.consume(bn),B.exit("lineEnding"),Hn}function Hn(bn){return B.enter("codeFencedFence"),ln(bn)?vn(B,wn,"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(bn):wn(bn)}function wn(bn){return bn===p?(B.enter("codeFencedFenceSequence"),tn(bn)):ee(bn)}function tn(bn){return bn===p?(qn++,B.consume(bn),tn):qn>=d?(B.exit("codeFencedFenceSequence"),ln(bn)?vn(B,xn,"whitespace")(bn):xn(bn)):ee(bn)}function xn(bn){return bn===null||Z(bn)?(B.exit("codeFencedFence"),zn(bn)):ee(bn)}}}function De(n,a,i){const s=this;return c;function c(d){return d===null?i(d):(n.enter("lineEnding"),n.consume(d),n.exit("lineEnding"),l)}function l(d){return s.parser.lazy[s.now().line]?i(d):a(d)}}const Fe=document.createElement("i");function at(n){const a="&"+n+";";Fe.innerHTML=a;const i=Fe.textContent;return i.charCodeAt(i.length-1)===59&&n!=="semi"||i===a?!1:i}const Be={name:"characterReference",tokenize:ut};function ut(n,a,i){const s=this;let c=0,l,d;return p;function p(j){return n.enter("characterReference"),n.enter("characterReferenceMarker"),n.consume(j),n.exit("characterReferenceMarker"),I}function I(j){return j===35?(n.enter("characterReferenceMarkerNumeric"),n.consume(j),n.exit("characterReferenceMarkerNumeric"),E):(n.enter("characterReferenceValue"),l=31,d=Bn,b(j))}function E(j){return j===88||j===120?(n.enter("characterReferenceMarkerHexadecimal"),n.consume(j),n.exit("characterReferenceMarkerHexadecimal"),n.enter("characterReferenceValue"),l=6,d=Rn,b):(n.enter("characterReferenceValue"),l=7,d=gn,b(j))}function b(j){if(j===59&&c){const k=n.exit("characterReferenceValue");return d===Bn&&!at(s.sliceSerialize(k))?i(j):(n.enter("characterReferenceMarker"),n.consume(j),n.exit("characterReferenceMarker"),n.exit("characterReference"),a)}return d(j)&&c++1&&n[i][1].end.offset-n[i][1].start.offset>1?2:1;const j=Object.assign({},n[s][1].end),k=Object.assign({},n[i][1].start);qe(j,-I),qe(k,I),d={type:I>1?"strongSequence":"emphasisSequence",start:j,end:Object.assign({},n[s][1].end)},p={type:I>1?"strongSequence":"emphasisSequence",start:Object.assign({},n[i][1].start),end:k},l={type:I>1?"strongText":"emphasisText",start:Object.assign({},n[s][1].end),end:Object.assign({},n[i][1].start)},c={type:I>1?"strong":"emphasis",start:Object.assign({},d.start),end:Object.assign({},p.end)},n[s][1].end=Object.assign({},d.start),n[i][1].start=Object.assign({},p.end),E=[],n[s][1].end.offset-n[s][1].start.offset&&(E=Y(E,[["enter",n[s][1],a],["exit",n[s][1],a]])),E=Y(E,[["enter",c,a],["enter",d,a],["exit",d,a],["enter",l,a]]),E=Y(E,An(a.parser.constructs.insideSpan.null,n.slice(s+1,i),a)),E=Y(E,[["exit",l,a],["enter",p,a],["exit",p,a],["exit",c,a]]),n[i][1].end.offset-n[i][1].start.offset?(b=2,E=Y(E,[["enter",n[i][1],a],["exit",n[i][1],a]])):b=0,N(n,s-1,i-s+3,E),i=s+E.length-b-2;break}}for(i=-1;++i13&&i<32||i>126&&i<160||i>55295&&i<57344||i>64975&&i<65008||(i&65535)===65535||(i&65535)===65534||i>1114111?"\uFFFD":String.fromCharCode(i)}const br=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function xr(n){return n.replace(br,$r)}function $r(n,a,i){if(a)return a;if(i.charCodeAt(0)===35){const c=i.charCodeAt(1),l=c===120||c===88;return Qr(i.slice(l?2:1),l?16:10)}return at(i)||n}function Jt(n){return!n||typeof n!="object"?"":"position"in n||"type"in n?Zr(n.position):"start"in n||"end"in n?Zr(n):"line"in n||"column"in n?yr(n):""}function yr(n){return ct(n&&n.line)+":"+ct(n&&n.column)}function Zr(n){return yr(n&&n.start)+"-"+yr(n&&n.end)}function ct(n){return n&&typeof n=="number"?n:1}const qt={}.hasOwnProperty,Er=function(n,a,i){return typeof a!="string"&&(i=a,a=void 0),wr(i)(Xt(Vr(i).document().write(Yr()(n,a,!0))))};function wr(n){const a={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:p(Pr),autolinkProtocol:Hn,autolinkEmail:Hn,atxHeading:p(Tr),blockQuote:p(jt),characterEscape:Hn,characterReference:Hn,codeFenced:p(ht),codeFencedFenceInfo:I,codeFencedFenceMeta:I,codeIndented:p(ht,I),codeText:p(cr,I),codeTextData:Hn,data:Hn,codeFlowValue:Hn,definition:p(ai),definitionDestinationString:I,definitionLabelString:I,definitionTitleString:I,emphasis:p(ui),hardBreakEscape:p(Fr),hardBreakTrailing:p(Fr),htmlFlow:p(Or,I),htmlFlowData:Hn,htmlText:p(Or,I),htmlTextData:Hn,image:p(oi),label:I,link:p(Pr),listItem:p(Mr),listItemValue:In,listOrdered:p(Lr,x),listUnordered:p(Lr),paragraph:p(li),reference:St,referenceString:I,resourceDestinationString:I,resourceTitleString:I,setextHeading:p(Tr),strong:p(di),thematicBreak:p(fi)},exit:{atxHeading:b(),atxHeadingSequence:zn,autolink:b(),autolinkEmail:nt,autolinkProtocol:Ht,blockQuote:b(),characterEscapeValue:wn,characterReferenceMarkerHexadecimal:Kt,characterReferenceMarkerNumeric:Kt,characterReferenceValue:ae,codeFenced:b(Xn),codeFencedFence:$,codeFencedFenceInfo:Sn,codeFencedFenceMeta:Kn,codeFlowValue:wn,codeIndented:b(en),codeText:b(se),codeTextData:wn,data:wn,definition:b(),definitionDestinationString:B,definitionLabelString:Yn,definitionTitleString:Qn,emphasis:b(),hardBreakEscape:b(xn),hardBreakTrailing:b(xn),htmlFlow:b(bn),htmlFlowData:wn,htmlText:b(Jn),htmlTextData:wn,image:b(Ge),label:Oe,labelText:A,lineEnding:tn,link:b(Re),listItem:b(),listOrdered:b(),listUnordered:b(),paragraph:b(),referenceString:tr,resourceDestinationString:Ve,resourceTitleString:v,resource:be,setextHeading:b(me),setextHeadingLineSequence:qn,setextHeadingText:ee,strong:b(),thematicBreak:b()}};or(a,(n||{}).mdastExtensions||[]);const i={};return s;function s(T){let G={type:"root",children:[]};const on={stack:[G],tokenStack:[],config:a,enter:E,exit:j,buffer:I,resume:k,setData:l,getData:d},On=[];let Dn=-1;for(;++Dn0){const ze=on.tokenStack[on.tokenStack.length-1];(ze[1]||lr).call(on,void 0,ze[0])}for(G.position={start:He(T.length>0?T[0][1].start:{line:1,column:1,offset:0}),end:He(T.length>0?T[T.length-2][1].end:{line:1,column:1,offset:0})},Dn=-1;++Dn{b!==0&&(c++,s.push([])),E.split(" ").forEach(j=>{j&&s[c].push({content:j,type:p})})}):(d.type==="strong"||d.type==="emphasis")&&d.children.forEach(I=>{l(I,d.type)})}return i.forEach(d=>{d.type==="paragraph"&&d.children.forEach(p=>{l(p)})}),s}function Ir(n){const{children:a}=Er(n);function i(s){return s.type==="text"?s.value.replace(/\n/g,"
"):s.type==="strong"?`${s.children.map(i).join("")}`:s.type==="emphasis"?`${s.children.map(i).join("")}`:s.type==="paragraph"?`

${s.children.map(i).join("")}

`:`Unsupported markdown: ${s.type}`}return a.map(i).join("")}function qr(n){return Intl.Segmenter?[...new Intl.Segmenter().segment(n)].map(a=>a.segment):[...n]}function ni(n,a){const i=qr(a.content);return Sr(n,[],i,a.type)}function Sr(n,a,i,s){if(i.length===0)return[{content:a.join(""),type:s},{content:"",type:s}];const[c,...l]=i,d=[...a,c];return n([{content:d.join(""),type:s}])?Sr(n,d,l,s):(a.length===0&&c&&(a.push(c),i.shift()),[{content:a.join(""),type:s},{content:i.join(""),type:s}])}function jr(n,a){if(n.some(({content:i})=>i.includes(` +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return ft(n,a)}function ft(n,a,i=[],s=[]){if(n.length===0)return s.length>0&&i.push(s),i.length>0?i:[];let c="";n[0].content===" "&&(c=" ",n.shift());const l=n.shift()??{content:" ",type:"normal"},d=[...s];if(c!==""&&d.push({content:c,type:"normal"}),d.push(l),a(d))return ft(n,a,i,d);if(s.length>0)i.push(s),n.unshift(l);else if(l.content){const[p,I]=ni(a,l);i.push([p]),I.content&&n.unshift(I)}return ft(n,a,i)}function nr(n,a){a&&n.attr("style",a)}function ei(n,a,i,s,c=!1){const l=n.append("foreignObject"),d=l.append("xhtml:div"),p=a.label,I=a.isNode?"nodeLabel":"edgeLabel";d.html(` + "+p+""),nr(d,a.labelStyle),d.style("display","table-cell"),d.style("white-space","nowrap"),d.style("max-width",i+"px"),d.attr("xmlns","http://www.w3.org/1999/xhtml"),c&&d.attr("class","labelBkg");let E=d.node().getBoundingClientRect();return E.width===i&&(d.style("display","table"),d.style("white-space","break-spaces"),d.style("width",i+"px"),E=d.node().getBoundingClientRect()),l.style("width",E.width),l.style("height",E.height),l.node()}function er(n,a,i){return n.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",a*i-.1+"em").attr("dy",i+"em")}function ti(n,a,i){const s=n.append("text"),c=er(s,1,a);dr(c,i);const l=c.node().getComputedTextLength();return s.remove(),l}function ri(n,a,i){var s;const c=n.append("text"),l=er(c,1,a);dr(l,[{content:i,type:"normal"}]);const d=(s=l.node())==null?void 0:s.getBoundingClientRect();return d&&c.remove(),d}function ii(n,a,i,s=!1){const l=a.append("g"),d=l.insert("rect").attr("class","background"),p=l.append("text").attr("y","-10.1");let I=0;for(const E of i){const b=k=>ti(l,1.1,k)<=n,j=b(E)?[E]:jr(E,b);for(const k of j){const x=er(p,I,1.1);dr(x,k),I++}}if(s){const E=p.node().getBBox(),b=2;return d.attr("x",-b).attr("y",-b).attr("width",E.width+2*b).attr("height",E.height+2*b),l.node()}else return p.node()}function dr(n,a){n.text(""),a.forEach((i,s)=>{const c=n.append("tspan").attr("font-style",i.type==="emphasis"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",i.type==="strong"?"bold":"normal");s===0?c.text(i.content):c.text(" "+i.content)})}const si=(n,a="",{style:i="",isTitle:s=!1,classes:c="",useHtmlLabels:l=!0,isNode:d=!0,width:p=200,addSvgBackground:I=!1}={})=>{if(R.l.info("createText",a,i,s,c,l,d,I),l){const E=Ir(a),b={isNode:d,label:(0,R.M)(E).replace(/fa[blrs]?:fa-[\w-]+/g,k=>``),labelStyle:i.replace("fill:","color:")};return ei(n,b,p,c,I)}else{const E=Jr(a);return ii(p,n,E,I)}}}}]); diff --git a/data/gitea/public/assets/js/-.2e273c97.js b/data/gitea/public/assets/js/-.2e273c97.js new file mode 100644 index 0000000..4577bbb --- /dev/null +++ b/data/gitea/public/assets/js/-.2e273c97.js @@ -0,0 +1,493 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([["-"],{"./node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.js":function(je,se,ot){ot.r(se),ot.d(se,{conf:function(){return G},language:function(){return et}});var E=ot("include-loader!./node_modules/monaco-editor/esm/vs/editor/editor.api.js");var C=Object.defineProperty,U=Object.getOwnPropertyDescriptor,w=Object.getOwnPropertyNames,ae=Object.prototype.hasOwnProperty,Ot=(ut,mt,Qt,le)=>{if(mt&&typeof mt=="object"||typeof mt=="function")for(let Zt of w(mt))!ae.call(ut,Zt)&&Zt!==Qt&&C(ut,Zt,{get:()=>mt[Zt],enumerable:!(le=U(mt,Zt))||le.enumerable});return ut},Rt=(ut,mt,Qt)=>(Ot(ut,mt,"default"),Qt&&Ot(Qt,mt,"default")),N={};Rt(N,E);var G={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:N.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:N.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:N.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:N.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:new RegExp("^\\s*//\\s*#?region\\b"),end:new RegExp("^\\s*//\\s*#?endregion\\b")}}},et={defaultToken:"invalid",tokenPostfix:".ts",keywords:["abstract","any","as","asserts","bigint","boolean","break","case","catch","class","continue","const","constructor","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","infer","instanceof","interface","is","keyof","let","module","namespace","never","new","null","number","object","out","package","private","protected","public","override","readonly","require","global","return","satisfies","set","static","string","super","switch","symbol","this","throw","true","try","type","typeof","undefined","unique","unknown","var","void","while","with","yield","async","await","of"],operators:["<=",">=","==","!=","===","!==","=>","+","-","**","*","/","%","++","--","<<",">",">>>","&","|","^","!","~","&&","||","??","?",":","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=","@"],symbols:/[=>](?!@symbols)/,"@brackets"],[/!(?=([^=]|$))/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)n?/,"number.hex"],[/0[oO]?(@octaldigits)n?/,"number.octal"],[/0[bB](@binarydigits)n?/,"number.binary"],[/(@digits)n?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"],[/`/,"string","@string_backtick"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([dgimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],string_single:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]],string_backtick:[[/\$\{/,{token:"delimiter.bracket",next:"@bracketCounting"}],[/[^\\`$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/`/,"string","@pop"]],bracketCounting:[[/\{/,"delimiter.bracket","@bracketCounting"],[/\}/,"delimiter.bracket","@pop"],{include:"common"}]}}},"./node_modules/dagre-d3-es/src/dagre-js/label/add-html-label.js":function(je,se,ot){ot.d(se,{H:function(){return C}});var E=ot("./node_modules/dagre-d3-es/src/dagre-js/util.js");function C(U,w){var ae=U.append("foreignObject").attr("width","100000"),Ot=ae.append("xhtml:div");Ot.attr("xmlns","http://www.w3.org/1999/xhtml");var Rt=w.label;switch(typeof Rt){case"function":Ot.insert(Rt);break;case"object":Ot.insert(function(){return Rt});break;default:Ot.html(Rt)}E.AV(Ot,w.labelStyle),Ot.style("display","inline-block"),Ot.style("white-space","nowrap");var N=Ot.node().getBoundingClientRect();return ae.attr("width",N.width).attr("height",N.height),ae}},"./node_modules/dagre-d3-es/src/dagre-js/util.js":function(je,se,ot){ot.d(se,{AV:function(){return Rt},De:function(){return U},c$:function(){return G},gh:function(){return w},nh:function(){return N}});var E=ot("./node_modules/lodash-es/isPlainObject.js"),C=ot("./node_modules/lodash-es/isFunction.js");function U(et,ut){return!!et.children(ut).length}function w(et){return Ot(et.v)+":"+Ot(et.w)+":"+Ot(et.name)}var ae=/:/g;function Ot(et){return et?String(et).replace(ae,"\\:"):""}function Rt(et,ut){ut&&et.attr("style",ut)}function N(et,ut,mt){ut&&et.attr("class",ut).attr("class",mt+" "+et.attr("class"))}function G(et,ut){var mt=ut.graph();if(E.A(mt)){var Qt=mt.transition;if(C.A(Qt))return Qt(et)}return et}},"./node_modules/dagre-d3-es/src/graphlib/json.js":function(je,se,ot){ot.d(se,{M:function(){return ae}});var E=ot("./node_modules/lodash-es/isUndefined.js"),C=ot("./node_modules/lodash-es/clone.js"),U=ot("./node_modules/lodash-es/map.js"),w=ot("./node_modules/dagre-d3-es/src/graphlib/graph.js");function ae(G){var et={options:{directed:G.isDirected(),multigraph:G.isMultigraph(),compound:G.isCompound()},nodes:Ot(G),edges:Rt(G)};return E.A(G.graph())||(et.value=C.A(G.graph())),et}function Ot(G){return U.A(G.nodes(),function(et){var ut=G.node(et),mt=G.parent(et),Qt={v:et};return E.A(ut)||(Qt.value=ut),E.A(mt)||(Qt.parent=mt),Qt})}function Rt(G){return U.A(G.edges(),function(et){var ut=G.edge(et),mt={v:et.v,w:et.w};return E.A(et.name)||(mt.name=et.name),E.A(ut)||(mt.value=ut),mt})}function N(G){var et=new Graph(G.options).setGraph(G.value);return _.each(G.nodes,function(ut){et.setNode(ut.v,ut.value),ut.parent&&et.setParent(ut.v,ut.parent)}),_.each(G.edges,function(ut){et.setEdge({v:ut.v,w:ut.w,name:ut.name},ut.value)}),et}},"./node_modules/khroma/dist/methods/channel.js":function(je,se,ot){var E=ot("./node_modules/khroma/dist/utils/index.js"),C=ot("./node_modules/khroma/dist/color/index.js");const U=(w,ae)=>E.A.lang.round(C.A.parse(w)[ae]);se.A=U},"./node_modules/lodash-es/clone.js":function(je,se,ot){var E=ot("./node_modules/lodash-es/_baseClone.js"),C=4;function U(w){return(0,E.A)(w,C)}se.A=U},"./node_modules/mermaid/dist/edges-d32062c0.js":function(je,se,ot){ot.d(se,{a:function(){return Zt},b:function(){return j},c:function(){return At},d:function(){return ct},e:function(){return b},f:function(){return Ee},g:function(){return xt},h:function(){return Jt},i:function(){return J},j:function(){return Te},k:function(){return ee},l:function(){return kt},m:function(){return wt},p:function(){return K},s:function(){return v},u:function(){return bt}});var E=ot("./node_modules/mermaid/dist/mermaid-f47111a7.js"),C=ot("./node_modules/d3/src/index.js"),U=ot("./node_modules/mermaid/dist/createText-6b48ae7d.js");const w=(s,t,e,a)=>{t.forEach(c=>{le[c](s,e,a)})},le={extension:(s,t,e)=>{E.l.trace("Making markers for ",e),s.append("defs").append("marker").attr("id",e+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),s.append("defs").append("marker").attr("id",e+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},composition:(s,t,e)=>{s.append("defs").append("marker").attr("id",e+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),s.append("defs").append("marker").attr("id",e+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},aggregation:(s,t,e)=>{s.append("defs").append("marker").attr("id",e+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),s.append("defs").append("marker").attr("id",e+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},dependency:(s,t,e)=>{s.append("defs").append("marker").attr("id",e+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),s.append("defs").append("marker").attr("id",e+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},lollipop:(s,t,e)=>{s.append("defs").append("marker").attr("id",e+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),s.append("defs").append("marker").attr("id",e+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},point:(s,t,e)=>{s.append("marker").attr("id",e+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),s.append("marker").attr("id",e+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},circle:(s,t,e)=>{s.append("marker").attr("id",e+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),s.append("marker").attr("id",e+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},cross:(s,t,e)=>{s.append("marker").attr("id",e+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),s.append("marker").attr("id",e+"_"+t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},barb:(s,t,e)=>{s.append("defs").append("marker").attr("id",e+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}},Zt=w;function Mt(s,t){t&&s.attr("style",t)}function ye(s){const t=(0,C.Ltv)(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),e=t.append("xhtml:div"),a=s.label,c=s.isNode?"nodeLabel":"edgeLabel";return e.html('"+a+""),Mt(e,s.labelStyle),e.style("display","inline-block"),e.style("white-space","nowrap"),e.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}const At=(s,t,e,a)=>{let c=s||"";if(typeof c=="object"&&(c=c[0]),(0,E.m)((0,E.c)().flowchart.htmlLabels)){c=c.replace(/\\n|\n/g,"
"),E.l.debug("vertexText"+c);const i={isNode:a,label:(0,E.M)(c).replace(/fa[blrs]?:fa-[\w-]+/g,h=>``),labelStyle:t.replace("fill:","color:")};return ye(i)}else{const i=document.createElementNS("http://www.w3.org/2000/svg","text");i.setAttribute("style",t.replace("color:","fill:"));let o=[];typeof c=="string"?o=c.split(/\\n|\n|/gi):Array.isArray(c)?o=c:o=[];for(const h of o){const g=document.createElementNS("http://www.w3.org/2000/svg","tspan");g.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),g.setAttribute("dy","1em"),g.setAttribute("x","0"),e?g.setAttribute("class","title-row"):g.setAttribute("class","row"),g.textContent=h.trim(),i.appendChild(g)}return i}},kt=async(s,t,e,a)=>{let c;const i=t.useHtmlLabels||(0,E.m)((0,E.c)().flowchart.htmlLabels);e?c=e:c="node default";const o=s.insert("g").attr("class",c).attr("id",t.domId||t.id),h=o.insert("g").attr("class","label").attr("style",t.labelStyle);let g;t.labelText===void 0?g="":g=typeof t.labelText=="string"?t.labelText:t.labelText[0];const R=h.node();let m;t.labelType==="markdown"?m=(0,U.a)(h,(0,E.d)((0,E.M)(g),(0,E.c)()),{useHtmlLabels:i,width:t.width||(0,E.c)().flowchart.wrappingWidth,classes:"markdown-node-label"}):m=R.appendChild(At((0,E.d)((0,E.M)(g),(0,E.c)()),t.labelStyle,!1,a));let x=m.getBBox();const D=t.padding/2;if((0,E.m)((0,E.c)().flowchart.htmlLabels)){const T=m.children[0],Y=(0,C.Ltv)(m),nt=T.getElementsByTagName("img");if(nt){const S=g.replace(/]*>/g,"").trim()==="";await Promise.all([...nt].map(Et=>new Promise(X=>{function It(){if(Et.style.display="flex",Et.style.flexDirection="column",S){const St=(0,E.c)().fontSize?(0,E.c)().fontSize:window.getComputedStyle(document.body).fontSize,pe=parseInt(St,10)*5+"px";Et.style.minWidth=pe,Et.style.maxWidth=pe}else Et.style.width="100%";X(Et)}setTimeout(()=>{Et.complete&&It()}),Et.addEventListener("error",It),Et.addEventListener("load",It)})))}x=T.getBoundingClientRect(),Y.attr("width",x.width),Y.attr("height",x.height)}return i?h.attr("transform","translate("+-x.width/2+", "+-x.height/2+")"):h.attr("transform","translate(0, "+-x.height/2+")"),t.centerLabel&&h.attr("transform","translate("+-x.width/2+", "+-x.height/2+")"),h.insert("rect",":first-child"),{shapeSvg:o,bbox:x,halfPadding:D,label:h}},bt=(s,t)=>{const e=t.node().getBBox();s.width=e.width,s.height=e.height};function Dt(s,t,e,a){return s.insert("polygon",":first-child").attr("points",a.map(function(c){return c.x+","+c.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+e/2+")")}function Ht(s,t){return s.intersect(t)}function re(s,t,e,a){var c=s.x,i=s.y,o=c-a.x,h=i-a.y,g=Math.sqrt(t*t*h*h+e*e*o*o),R=Math.abs(t*e*o/g);a.x0}function te(s,t,e){var a=s.x,c=s.y,i=[],o=Number.POSITIVE_INFINITY,h=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(Y){o=Math.min(o,Y.x),h=Math.min(h,Y.y)}):(o=Math.min(o,t.x),h=Math.min(h,t.y));for(var g=a-s.width/2-o,R=c-s.height/2-h,m=0;m1&&i.sort(function(Y,nt){var S=Y.x-e.x,Et=Y.y-e.y,X=Math.sqrt(S*S+Et*Et),It=nt.x-e.x,St=nt.y-e.y,ue=Math.sqrt(It*It+St*St);return X{var e=s.x,a=s.y,c=t.x-e,i=t.y-a,o=s.width/2,h=s.height/2,g,R;return Math.abs(i)*o>Math.abs(c)*h?(i<0&&(h=-h),g=i===0?0:h*c/i,R=h):(c<0&&(o=-o),g=o,R=c===0?0:o*i/c),{x:e+g,y:a+R}},Z={node:Ht,circle:vt,ellipse:re,polygon:te,rect:J},u=async(s,t)=>{t.useHtmlLabels||(0,E.c)().flowchart.htmlLabels||(t.centerLabel=!0);const{shapeSvg:a,bbox:c,halfPadding:i}=await kt(s,t,"node "+t.classes,!0);E.l.info("Classes = ",t.classes);const o=a.insert("rect",":first-child");return o.attr("rx",t.rx).attr("ry",t.ry).attr("x",-c.width/2-i).attr("y",-c.height/2-i).attr("width",c.width+t.padding).attr("height",c.height+t.padding),bt(t,o),t.intersect=function(h){return Z.rect(t,h)},a},A=s=>{const t=new Set;for(const e of s)switch(e){case"x":t.add("right"),t.add("left");break;case"y":t.add("up"),t.add("down");break;default:t.add(e);break}return t},P=(s,t,e)=>{const a=A(s),c=2,i=t.height+2*e.padding,o=i/c,h=t.width+2*o+e.padding,g=e.padding/2;return a.has("right")&&a.has("left")&&a.has("up")&&a.has("down")?[{x:0,y:0},{x:o,y:0},{x:h/2,y:2*g},{x:h-o,y:0},{x:h,y:0},{x:h,y:-i/3},{x:h+2*g,y:-i/2},{x:h,y:-2*i/3},{x:h,y:-i},{x:h-o,y:-i},{x:h/2,y:-i-2*g},{x:o,y:-i},{x:0,y:-i},{x:0,y:-2*i/3},{x:-2*g,y:-i/2},{x:0,y:-i/3}]:a.has("right")&&a.has("left")&&a.has("up")?[{x:o,y:0},{x:h-o,y:0},{x:h,y:-i/2},{x:h-o,y:-i},{x:o,y:-i},{x:0,y:-i/2}]:a.has("right")&&a.has("left")&&a.has("down")?[{x:0,y:0},{x:o,y:-i},{x:h-o,y:-i},{x:h,y:0}]:a.has("right")&&a.has("up")&&a.has("down")?[{x:0,y:0},{x:h,y:-o},{x:h,y:-i+o},{x:0,y:-i}]:a.has("left")&&a.has("up")&&a.has("down")?[{x:h,y:0},{x:0,y:-o},{x:0,y:-i+o},{x:h,y:-i}]:a.has("right")&&a.has("left")?[{x:o,y:0},{x:o,y:-g},{x:h-o,y:-g},{x:h-o,y:0},{x:h,y:-i/2},{x:h-o,y:-i},{x:h-o,y:-i+g},{x:o,y:-i+g},{x:o,y:-i},{x:0,y:-i/2}]:a.has("up")&&a.has("down")?[{x:h/2,y:0},{x:0,y:-g},{x:o,y:-g},{x:o,y:-i+g},{x:0,y:-i+g},{x:h/2,y:-i},{x:h,y:-i+g},{x:h-o,y:-i+g},{x:h-o,y:-g},{x:h,y:-g}]:a.has("right")&&a.has("up")?[{x:0,y:0},{x:h,y:-o},{x:0,y:-i}]:a.has("right")&&a.has("down")?[{x:0,y:0},{x:h,y:0},{x:0,y:-i}]:a.has("left")&&a.has("up")?[{x:h,y:0},{x:0,y:-o},{x:h,y:-i}]:a.has("left")&&a.has("down")?[{x:h,y:0},{x:0,y:0},{x:h,y:-i}]:a.has("right")?[{x:o,y:-g},{x:o,y:-g},{x:h-o,y:-g},{x:h-o,y:0},{x:h,y:-i/2},{x:h-o,y:-i},{x:h-o,y:-i+g},{x:o,y:-i+g},{x:o,y:-i+g}]:a.has("left")?[{x:o,y:0},{x:o,y:-g},{x:h-o,y:-g},{x:h-o,y:-i+g},{x:o,y:-i+g},{x:o,y:-i},{x:0,y:-i/2}]:a.has("up")?[{x:o,y:-g},{x:o,y:-i+g},{x:0,y:-i+g},{x:h/2,y:-i},{x:h,y:-i+g},{x:h-o,y:-i+g},{x:h-o,y:-g}]:a.has("down")?[{x:h/2,y:0},{x:0,y:-g},{x:o,y:-g},{x:o,y:-i+g},{x:h-o,y:-i+g},{x:h-o,y:-g},{x:h,y:-g}]:[{x:0,y:0}]},L=s=>s?" "+s:"",O=(s,t)=>`${t||"node default"}${L(s.classes)} ${L(s.class)}`,ft=async(s,t)=>{const{shapeSvg:e,bbox:a}=await kt(s,t,O(t,void 0),!0),c=a.width+t.padding,i=a.height+t.padding,o=c+i,h=[{x:o/2,y:0},{x:o,y:-o/2},{x:o/2,y:-o},{x:0,y:-o/2}];E.l.info("Question main (Circle)");const g=Dt(e,o,o,h);return g.attr("style",t.style),bt(t,g),t.intersect=function(R){return E.l.warn("Intersect called"),Z.polygon(t,h,R)},e},rt=(s,t)=>{const e=s.insert("g").attr("class","node default").attr("id",t.domId||t.id),a=28,c=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}];return e.insert("polygon",":first-child").attr("points",c.map(function(o){return o.x+","+o.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(o){return Z.circle(t,14,o)},e},st=async(s,t)=>{const{shapeSvg:e,bbox:a}=await kt(s,t,O(t,void 0),!0),c=4,i=a.height+t.padding,o=i/c,h=a.width+2*o+t.padding,g=[{x:o,y:0},{x:h-o,y:0},{x:h,y:-i/2},{x:h-o,y:-i},{x:o,y:-i},{x:0,y:-i/2}],R=Dt(e,h,i,g);return R.attr("style",t.style),bt(t,R),t.intersect=function(m){return Z.polygon(t,g,m)},e},Bt=async(s,t)=>{const{shapeSvg:e,bbox:a}=await kt(s,t,void 0,!0),c=2,i=a.height+2*t.padding,o=i/c,h=a.width+2*o+t.padding,g=P(t.directions,a,t),R=Dt(e,h,i,g);return R.attr("style",t.style),bt(t,R),t.intersect=function(m){return Z.polygon(t,g,m)},e},Vt=async(s,t)=>{const{shapeSvg:e,bbox:a}=await kt(s,t,O(t,void 0),!0),c=a.width+t.padding,i=a.height+t.padding,o=[{x:-i/2,y:0},{x:c,y:0},{x:c,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}];return Dt(e,c,i,o).attr("style",t.style),t.width=c+i,t.height=i,t.intersect=function(g){return Z.polygon(t,o,g)},e},ie=async(s,t)=>{const{shapeSvg:e,bbox:a}=await kt(s,t,O(t),!0),c=a.width+t.padding,i=a.height+t.padding,o=[{x:-2*i/6,y:0},{x:c-i/6,y:0},{x:c+2*i/6,y:-i},{x:i/6,y:-i}],h=Dt(e,c,i,o);return h.attr("style",t.style),bt(t,h),t.intersect=function(g){return Z.polygon(t,o,g)},e},de=async(s,t)=>{const{shapeSvg:e,bbox:a}=await kt(s,t,O(t,void 0),!0),c=a.width+t.padding,i=a.height+t.padding,o=[{x:2*i/6,y:0},{x:c+i/6,y:0},{x:c-2*i/6,y:-i},{x:-i/6,y:-i}],h=Dt(e,c,i,o);return h.attr("style",t.style),bt(t,h),t.intersect=function(g){return Z.polygon(t,o,g)},e},ne=async(s,t)=>{const{shapeSvg:e,bbox:a}=await kt(s,t,O(t,void 0),!0),c=a.width+t.padding,i=a.height+t.padding,o=[{x:-2*i/6,y:0},{x:c+2*i/6,y:0},{x:c-i/6,y:-i},{x:i/6,y:-i}],h=Dt(e,c,i,o);return h.attr("style",t.style),bt(t,h),t.intersect=function(g){return Z.polygon(t,o,g)},e},z=async(s,t)=>{const{shapeSvg:e,bbox:a}=await kt(s,t,O(t,void 0),!0),c=a.width+t.padding,i=a.height+t.padding,o=[{x:i/6,y:0},{x:c-i/6,y:0},{x:c+2*i/6,y:-i},{x:-2*i/6,y:-i}],h=Dt(e,c,i,o);return h.attr("style",t.style),bt(t,h),t.intersect=function(g){return Z.polygon(t,o,g)},e},Q=async(s,t)=>{const{shapeSvg:e,bbox:a}=await kt(s,t,O(t,void 0),!0),c=a.width+t.padding,i=a.height+t.padding,o=[{x:0,y:0},{x:c+i/2,y:0},{x:c,y:-i/2},{x:c+i/2,y:-i},{x:0,y:-i}],h=Dt(e,c,i,o);return h.attr("style",t.style),bt(t,h),t.intersect=function(g){return Z.polygon(t,o,g)},e},be=async(s,t)=>{const{shapeSvg:e,bbox:a}=await kt(s,t,O(t,void 0),!0),c=a.width+t.padding,i=c/2,o=i/(2.5+c/50),h=a.height+o+t.padding,g="M 0,"+o+" a "+i+","+o+" 0,0,0 "+c+" 0 a "+i+","+o+" 0,0,0 "+-c+" 0 l 0,"+h+" a "+i+","+o+" 0,0,0 "+c+" 0 l 0,"+-h,R=e.attr("label-offset-y",o).insert("path",":first-child").attr("style",t.style).attr("d",g).attr("transform","translate("+-c/2+","+-(h/2+o)+")");return bt(t,R),t.intersect=function(m){const x=Z.rect(t,m),D=x.x-t.x;if(i!=0&&(Math.abs(D)t.height/2-o)){let T=o*o*(1-D*D/(i*i));T!=0&&(T=Math.sqrt(T)),T=o-T,m.y-t.y>0&&(T=-T),x.y+=T}return x},e},Ae=async(s,t)=>{const{shapeSvg:e,bbox:a,halfPadding:c}=await kt(s,t,"node "+t.classes+" "+t.class,!0),i=e.insert("rect",":first-child"),o=t.positioned?t.width:a.width+t.padding,h=t.positioned?t.height:a.height+t.padding,g=t.positioned?-o/2:-a.width/2-c,R=t.positioned?-h/2:-a.height/2-c;if(i.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",g).attr("y",R).attr("width",o).attr("height",h),t.props){const m=new Set(Object.keys(t.props));t.props.borders&&(f(i,t.props.borders,o,h),m.delete("borders")),m.forEach(x=>{E.l.warn(`Unknown node property ${x}`)})}return bt(t,i),t.intersect=function(m){return Z.rect(t,m)},e},ns=async(s,t)=>{const{shapeSvg:e,bbox:a,halfPadding:c}=await kt(s,t,"node "+t.classes,!0),i=e.insert("rect",":first-child"),o=t.positioned?t.width:a.width+t.padding,h=t.positioned?t.height:a.height+t.padding,g=t.positioned?-o/2:-a.width/2-c,R=t.positioned?-h/2:-a.height/2-c;if(i.attr("class","basic cluster composite label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",g).attr("y",R).attr("width",o).attr("height",h),t.props){const m=new Set(Object.keys(t.props));t.props.borders&&(f(i,t.props.borders,o,h),m.delete("borders")),m.forEach(x=>{E.l.warn(`Unknown node property ${x}`)})}return bt(t,i),t.intersect=function(m){return Z.rect(t,m)},e},ss=async(s,t)=>{const{shapeSvg:e}=await kt(s,t,"label",!0);E.l.trace("Classes = ",t.class);const a=e.insert("rect",":first-child"),c=0,i=0;if(a.attr("width",c).attr("height",i),e.attr("class","label edgeLabel"),t.props){const o=new Set(Object.keys(t.props));t.props.borders&&(f(a,t.props.borders,c,i),o.delete("borders")),o.forEach(h=>{E.l.warn(`Unknown node property ${h}`)})}return bt(t,a),t.intersect=function(o){return Z.rect(t,o)},e};function f(s,t,e,a){const c=[],i=h=>{c.push(h,0)},o=h=>{c.push(0,h)};t.includes("t")?(E.l.debug("add top border"),i(e)):o(e),t.includes("r")?(E.l.debug("add right border"),i(a)):o(a),t.includes("b")?(E.l.debug("add bottom border"),i(e)):o(e),t.includes("l")?(E.l.debug("add left border"),i(a)):o(a),s.attr("stroke-dasharray",c.join(" "))}const M=(s,t)=>{let e;t.classes?e="node "+t.classes:e="node default";const a=s.insert("g").attr("class",e).attr("id",t.domId||t.id),c=a.insert("rect",":first-child"),i=a.insert("line"),o=a.insert("g").attr("class","label"),h=t.labelText.flat?t.labelText.flat():t.labelText;let g="";typeof h=="object"?g=h[0]:g=h,E.l.info("Label text abc79",g,h,typeof h=="object");const R=o.node().appendChild(At(g,t.labelStyle,!0,!0));let m={width:0,height:0};if((0,E.m)((0,E.c)().flowchart.htmlLabels)){const nt=R.children[0],S=(0,C.Ltv)(R);m=nt.getBoundingClientRect(),S.attr("width",m.width),S.attr("height",m.height)}E.l.info("Text 2",h);const x=h.slice(1,h.length);let D=R.getBBox();const T=o.node().appendChild(At(x.join?x.join("
"):x,t.labelStyle,!0,!0));if((0,E.m)((0,E.c)().flowchart.htmlLabels)){const nt=T.children[0],S=(0,C.Ltv)(T);m=nt.getBoundingClientRect(),S.attr("width",m.width),S.attr("height",m.height)}const Y=t.padding/2;return(0,C.Ltv)(T).attr("transform","translate( "+(m.width>D.width?0:(D.width-m.width)/2)+", "+(D.height+Y+5)+")"),(0,C.Ltv)(R).attr("transform","translate( "+(m.width{const{shapeSvg:e,bbox:a}=await kt(s,t,O(t,void 0),!0),c=a.height+t.padding,i=a.width+c/4+t.padding,o=e.insert("rect",":first-child").attr("style",t.style).attr("rx",c/2).attr("ry",c/2).attr("x",-i/2).attr("y",-c/2).attr("width",i).attr("height",c);return bt(t,o),t.intersect=function(h){return Z.rect(t,h)},e},pt=async(s,t)=>{const{shapeSvg:e,bbox:a,halfPadding:c}=await kt(s,t,O(t,void 0),!0),i=e.insert("circle",":first-child");return i.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",a.width/2+c).attr("width",a.width+t.padding).attr("height",a.height+t.padding),E.l.info("Circle main"),bt(t,i),t.intersect=function(o){return E.l.info("Circle intersect",t,a.width/2+c,o),Z.circle(t,a.width/2+c,o)},e},yt=async(s,t)=>{const{shapeSvg:e,bbox:a,halfPadding:c}=await kt(s,t,O(t,void 0),!0),i=5,o=e.insert("g",":first-child"),h=o.insert("circle"),g=o.insert("circle");return o.attr("class",t.class),h.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",a.width/2+c+i).attr("width",a.width+t.padding+i*2).attr("height",a.height+t.padding+i*2),g.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",a.width/2+c).attr("width",a.width+t.padding).attr("height",a.height+t.padding),E.l.info("DoubleCircle main"),bt(t,h),t.intersect=function(R){return E.l.info("DoubleCircle intersect",t,a.width/2+c+i,R),Z.circle(t,a.width/2+c+i,R)},e},Yt=async(s,t)=>{const{shapeSvg:e,bbox:a}=await kt(s,t,O(t,void 0),!0),c=a.width+t.padding,i=a.height+t.padding,o=[{x:0,y:0},{x:c,y:0},{x:c,y:-i},{x:0,y:-i},{x:0,y:0},{x:-8,y:0},{x:c+8,y:0},{x:c+8,y:-i},{x:-8,y:-i},{x:-8,y:0}],h=Dt(e,c,i,o);return h.attr("style",t.style),bt(t,h),t.intersect=function(g){return Z.polygon(t,o,g)},e},fe=(s,t)=>{const e=s.insert("g").attr("class","node default").attr("id",t.domId||t.id),a=e.insert("circle",":first-child");return a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),bt(t,a),t.intersect=function(c){return Z.circle(t,7,c)},e},me=(s,t,e)=>{const a=s.insert("g").attr("class","node default").attr("id",t.domId||t.id);let c=70,i=10;e==="LR"&&(c=10,i=70);const o=a.append("rect").attr("x",-1*c/2).attr("y",-1*i/2).attr("width",c).attr("height",i).attr("class","fork-join");return bt(t,o),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(h){return Z.rect(t,h)},a},F={rhombus:ft,composite:ns,question:ft,rect:Ae,labelRect:ss,rectWithTitle:M,choice:rt,circle:pt,doublecircle:yt,stadium:it,hexagon:st,block_arrow:Bt,rect_left_inv_arrow:Vt,lean_right:ie,lean_left:de,trapezoid:ne,inv_trapezoid:z,rect_right_inv_arrow:Q,cylinder:be,start:fe,end:(s,t)=>{const e=s.insert("g").attr("class","node default").attr("id",t.domId||t.id),a=e.insert("circle",":first-child"),c=e.insert("circle",":first-child");return c.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),a.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),bt(t,c),t.intersect=function(i){return Z.circle(t,7,i)},e},note:u,subroutine:Yt,fork:me,join:me,class_box:(s,t)=>{const e=t.padding/2,a=4,c=8;let i;t.classes?i="node "+t.classes:i="node default";const o=s.insert("g").attr("class",i).attr("id",t.domId||t.id),h=o.insert("rect",":first-child"),g=o.insert("line"),R=o.insert("line");let m=0,x=a;const D=o.insert("g").attr("class","label");let T=0;const Y=t.classData.annotations&&t.classData.annotations[0],nt=t.classData.annotations[0]?"\xAB"+t.classData.annotations[0]+"\xBB":"",S=D.node().appendChild(At(nt,t.labelStyle,!0,!0));let Et=S.getBBox();if((0,E.m)((0,E.c)().flowchart.htmlLabels)){const ht=S.children[0],I=(0,C.Ltv)(S);Et=ht.getBoundingClientRect(),I.attr("width",Et.width),I.attr("height",Et.height)}t.classData.annotations[0]&&(x+=Et.height+a,m+=Et.width);let X=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&((0,E.c)().flowchart.htmlLabels?X+="<"+t.classData.type+">":X+="<"+t.classData.type+">");const It=D.node().appendChild(At(X,t.labelStyle,!0,!0));(0,C.Ltv)(It).attr("class","classTitle");let St=It.getBBox();if((0,E.m)((0,E.c)().flowchart.htmlLabels)){const ht=It.children[0],I=(0,C.Ltv)(It);St=ht.getBoundingClientRect(),I.attr("width",St.width),I.attr("height",St.height)}x+=St.height+a,St.width>m&&(m=St.width);const ue=[];t.classData.members.forEach(ht=>{const I=ht.getDisplayDetails();let H=I.displayText;(0,E.c)().flowchart.htmlLabels&&(H=H.replace(//g,">"));const W=D.node().appendChild(At(H,I.cssStyle?I.cssStyle:t.labelStyle,!0,!0));let B=W.getBBox();if((0,E.m)((0,E.c)().flowchart.htmlLabels)){const Pt=W.children[0],p=(0,C.Ltv)(W);B=Pt.getBoundingClientRect(),p.attr("width",B.width),p.attr("height",B.height)}B.width>m&&(m=B.width),x+=B.height+a,ue.push(W)}),x+=c;const pe=[];if(t.classData.methods.forEach(ht=>{const I=ht.getDisplayDetails();let H=I.displayText;(0,E.c)().flowchart.htmlLabels&&(H=H.replace(//g,">"));const W=D.node().appendChild(At(H,I.cssStyle?I.cssStyle:t.labelStyle,!0,!0));let B=W.getBBox();if((0,E.m)((0,E.c)().flowchart.htmlLabels)){const Pt=W.children[0],p=(0,C.Ltv)(W);B=Pt.getBoundingClientRect(),p.attr("width",B.width),p.attr("height",B.height)}B.width>m&&(m=B.width),x+=B.height+a,pe.push(W)}),x+=c,Y){let ht=(m-Et.width)/2;(0,C.Ltv)(S).attr("transform","translate( "+(-1*m/2+ht)+", "+-1*x/2+")"),T=Et.height+a}let Se=(m-St.width)/2;return(0,C.Ltv)(It).attr("transform","translate( "+(-1*m/2+Se)+", "+(-1*x/2+T)+")"),T+=St.height+a,g.attr("class","divider").attr("x1",-m/2-e).attr("x2",m/2+e).attr("y1",-x/2-e+c+T).attr("y2",-x/2-e+c+T),T+=c,ue.forEach(ht=>{(0,C.Ltv)(ht).attr("transform","translate( "+-m/2+", "+(-1*x/2+T+c/2)+")");const I=ht?.getBBox();T+=(I?.height??0)+a}),T+=c,R.attr("class","divider").attr("x1",-m/2-e).attr("x2",m/2+e).attr("y1",-x/2-e+c+T).attr("y2",-x/2-e+c+T),T+=c,pe.forEach(ht=>{(0,C.Ltv)(ht).attr("transform","translate( "+-m/2+", "+(-1*x/2+T)+")");const I=ht?.getBBox();T+=(I?.height??0)+a}),h.attr("style",t.style).attr("class","outer title-state").attr("x",-m/2-e).attr("y",-(x/2)-e).attr("width",m+t.padding).attr("height",x+t.padding),bt(t,h),t.intersect=function(ht){return Z.rect(t,ht)},o}};let r={};const b=async(s,t,e)=>{let a,c;if(t.link){let i;(0,E.c)().securityLevel==="sandbox"?i="_top":t.linkTarget&&(i=t.linkTarget||"_blank"),a=s.insert("svg:a").attr("xlink:href",t.link).attr("target",i),c=await F[t.shape](a,t,e)}else c=await F[t.shape](s,t,e),a=c;return t.tooltip&&c.attr("title",t.tooltip),t.class&&c.attr("class","node default "+t.class),a.attr("data-node","true"),a.attr("data-id",t.id),r[t.id]=a,t.haveCallback&&r[t.id].attr("class",r[t.id].attr("class")+" clickable"),a},v=(s,t)=>{r[t.id]=s},j=()=>{r={}},K=s=>{const t=r[s.id];E.l.trace("Transforming node",s.diff,s,"translate("+(s.x-s.width/2-5)+", "+s.width/2+")");const e=8,a=s.diff||0;return s.clusterNode?t.attr("transform","translate("+(s.x+a-s.width/2)+", "+(s.y-s.height/2-e)+")"):t.attr("transform","translate("+s.x+", "+s.y+")"),a},xt=({flowchart:s})=>{var t,e;const a=((t=s?.subGraphTitleMargin)==null?void 0:t.top)??0,c=((e=s?.subGraphTitleMargin)==null?void 0:e.bottom)??0,i=a+c;return{subGraphTitleTopMargin:a,subGraphTitleBottomMargin:c,subGraphTitleTotalMargin:i}},$={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function Lt(s,t){if(s===void 0||t===void 0)return{angle:0,deltaX:0,deltaY:0};s=tt(s),t=tt(t);const[e,a]=[s.x,s.y],[c,i]=[t.x,t.y],o=c-e,h=i-a;return{angle:Math.atan(h/o),deltaX:o,deltaY:h}}const tt=s=>Array.isArray(s)?{x:s[0],y:s[1]}:s,ee=s=>({x:function(t,e,a){let c=0;if(e===0&&Object.hasOwn($,s.arrowTypeStart)){const{angle:i,deltaX:o}=Lt(a[0],a[1]);c=$[s.arrowTypeStart]*Math.cos(i)*(o>=0?1:-1)}else if(e===a.length-1&&Object.hasOwn($,s.arrowTypeEnd)){const{angle:i,deltaX:o}=Lt(a[a.length-1],a[a.length-2]);c=$[s.arrowTypeEnd]*Math.cos(i)*(o>=0?1:-1)}return tt(t).x+c},y:function(t,e,a){let c=0;if(e===0&&Object.hasOwn($,s.arrowTypeStart)){const{angle:i,deltaY:o}=Lt(a[0],a[1]);c=$[s.arrowTypeStart]*Math.abs(Math.sin(i))*(o>=0?1:-1)}else if(e===a.length-1&&Object.hasOwn($,s.arrowTypeEnd)){const{angle:i,deltaY:o}=Lt(a[a.length-1],a[a.length-2]);c=$[s.arrowTypeEnd]*Math.abs(Math.sin(i))*(o>=0?1:-1)}return tt(t).y+c}}),wt=(s,t,e,a,c)=>{t.arrowTypeStart&&_t(s,"start",t.arrowTypeStart,e,a,c),t.arrowTypeEnd&&_t(s,"end",t.arrowTypeEnd,e,a,c)},Nt={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},_t=(s,t,e,a,c,i)=>{const o=Nt[e];if(!o){E.l.warn(`Unknown arrow type: ${e}`);return}const h=t==="start"?"Start":"End";s.attr(`marker-${t}`,`url(${a}#${c}_${i}-${o}${h})`)};let dt={},Ft={};const ct=()=>{dt={},Ft={}},Ee=(s,t)=>{const e=(0,E.m)((0,E.c)().flowchart.htmlLabels),a=t.labelType==="markdown"?(0,U.a)(s,t.label,{style:t.labelStyle,useHtmlLabels:e,addSvgBackground:!0}):At(t.label,t.labelStyle),c=s.insert("g").attr("class","edgeLabel"),i=c.insert("g").attr("class","label");i.node().appendChild(a);let o=a.getBBox();if(e){const g=a.children[0],R=(0,C.Ltv)(a);o=g.getBoundingClientRect(),R.attr("width",o.width),R.attr("height",o.height)}i.attr("transform","translate("+-o.width/2+", "+-o.height/2+")"),dt[t.id]=c,t.width=o.width,t.height=o.height;let h;if(t.startLabelLeft){const g=At(t.startLabelLeft,t.labelStyle),R=s.insert("g").attr("class","edgeTerminals"),m=R.insert("g").attr("class","inner");h=m.node().appendChild(g);const x=g.getBBox();m.attr("transform","translate("+-x.width/2+", "+-x.height/2+")"),Ft[t.id]||(Ft[t.id]={}),Ft[t.id].startLeft=R,ge(h,t.startLabelLeft)}if(t.startLabelRight){const g=At(t.startLabelRight,t.labelStyle),R=s.insert("g").attr("class","edgeTerminals"),m=R.insert("g").attr("class","inner");h=R.node().appendChild(g),m.node().appendChild(g);const x=g.getBBox();m.attr("transform","translate("+-x.width/2+", "+-x.height/2+")"),Ft[t.id]||(Ft[t.id]={}),Ft[t.id].startRight=R,ge(h,t.startLabelRight)}if(t.endLabelLeft){const g=At(t.endLabelLeft,t.labelStyle),R=s.insert("g").attr("class","edgeTerminals"),m=R.insert("g").attr("class","inner");h=m.node().appendChild(g);const x=g.getBBox();m.attr("transform","translate("+-x.width/2+", "+-x.height/2+")"),R.node().appendChild(g),Ft[t.id]||(Ft[t.id]={}),Ft[t.id].endLeft=R,ge(h,t.endLabelLeft)}if(t.endLabelRight){const g=At(t.endLabelRight,t.labelStyle),R=s.insert("g").attr("class","edgeTerminals"),m=R.insert("g").attr("class","inner");h=m.node().appendChild(g);const x=g.getBBox();m.attr("transform","translate("+-x.width/2+", "+-x.height/2+")"),R.node().appendChild(g),Ft[t.id]||(Ft[t.id]={}),Ft[t.id].endRight=R,ge(h,t.endLabelRight)}return a};function ge(s,t){(0,E.c)().flowchart.htmlLabels&&s&&(s.style.width=t.length*9+"px",s.style.height="12px")}const Te=(s,t)=>{E.l.debug("Moving label abc88 ",s.id,s.label,dt[s.id],t);let e=t.updatedPath?t.updatedPath:t.originalPath;const a=(0,E.c)(),{subGraphTitleTotalMargin:c}=xt(a);if(s.label){const i=dt[s.id];let o=s.x,h=s.y;if(e){const g=E.u.calcLabelPosition(e);E.l.debug("Moving label "+s.label+" from (",o,",",h,") to (",g.x,",",g.y,") abc88"),t.updatedPath&&(o=g.x,h=g.y)}i.attr("transform",`translate(${o}, ${h+c/2})`)}if(s.startLabelLeft){const i=Ft[s.id].startLeft;let o=s.x,h=s.y;if(e){const g=E.u.calcTerminalLabelPosition(s.arrowTypeStart?10:0,"start_left",e);o=g.x,h=g.y}i.attr("transform",`translate(${o}, ${h})`)}if(s.startLabelRight){const i=Ft[s.id].startRight;let o=s.x,h=s.y;if(e){const g=E.u.calcTerminalLabelPosition(s.arrowTypeStart?10:0,"start_right",e);o=g.x,h=g.y}i.attr("transform",`translate(${o}, ${h})`)}if(s.endLabelLeft){const i=Ft[s.id].endLeft;let o=s.x,h=s.y;if(e){const g=E.u.calcTerminalLabelPosition(s.arrowTypeEnd?10:0,"end_left",e);o=g.x,h=g.y}i.attr("transform",`translate(${o}, ${h})`)}if(s.endLabelRight){const i=Ft[s.id].endRight;let o=s.x,h=s.y;if(e){const g=E.u.calcTerminalLabelPosition(s.arrowTypeEnd?10:0,"end_right",e);o=g.x,h=g.y}i.attr("transform",`translate(${o}, ${h})`)}},Wt=(s,t)=>{const e=s.x,a=s.y,c=Math.abs(t.x-e),i=Math.abs(t.y-a),o=s.width/2,h=s.height/2;return c>=o||i>=h},Kt=(s,t,e)=>{E.l.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(t)} + insidePoint : ${JSON.stringify(e)} + node : x:${s.x} y:${s.y} w:${s.width} h:${s.height}`);const a=s.x,c=s.y,i=Math.abs(a-e.x),o=s.width/2;let h=e.xMath.abs(a-t.x)*g){let x=e.y{E.l.debug("abc88 cutPathAtIntersect",s,t);let e=[],a=s[0],c=!1;return s.forEach(i=>{if(!Wt(t,i)&&!c){const o=Kt(t,a,i);let h=!1;e.forEach(g=>{h=h||g.x===o.x&&g.y===o.y}),e.some(g=>g.x===o.x&&g.y===o.y)||e.push(o),c=!0}else a=i,c||e.push(i)}),e},Jt=function(s,t,e,a,c,i,o){let h=e.points;E.l.debug("abc88 InsertEdge: edge=",e,"e=",t);let g=!1;const R=i.node(t.v);var m=i.node(t.w);m?.intersect&&R?.intersect&&(h=h.slice(1,e.points.length-1),h.unshift(R.intersect(h[0])),h.push(m.intersect(h[h.length-1]))),e.toCluster&&(E.l.debug("to cluster abc88",a[e.toCluster]),h=zt(e.points,a[e.toCluster].node),g=!0),e.fromCluster&&(E.l.debug("from cluster abc88",a[e.fromCluster]),h=zt(h.reverse(),a[e.fromCluster].node).reverse(),g=!0);const x=h.filter(St=>!Number.isNaN(St.y));let D=C.qrM;e.curve&&(c==="graph"||c==="flowchart")&&(D=e.curve);const{x:T,y:Y}=ee(e),nt=(0,C.n8j)().x(T).y(Y).curve(D);let S;switch(e.thickness){case"normal":S="edge-thickness-normal";break;case"thick":S="edge-thickness-thick";break;case"invisible":S="edge-thickness-thick";break;default:S=""}switch(e.pattern){case"solid":S+=" edge-pattern-solid";break;case"dotted":S+=" edge-pattern-dotted";break;case"dashed":S+=" edge-pattern-dashed";break}const Et=s.append("path").attr("d",nt(x)).attr("id",e.id).attr("class"," "+S+(e.classes?" "+e.classes:"")).attr("style",e.style);let X="";((0,E.c)().flowchart.arrowMarkerAbsolute||(0,E.c)().state.arrowMarkerAbsolute)&&(X=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,X=X.replace(/\(/g,"\\("),X=X.replace(/\)/g,"\\)")),wt(Et,e,X,o,c);let It={};return g&&(It.updatedPath=h),It.originalPath=e.points,It}},"./node_modules/mermaid/dist/flowDb-4b19a42f.js":function(je,se,ot){ot.d(se,{d:function(){return ke},f:function(){return me},p:function(){return w}});var E=ot("./node_modules/d3/src/index.js"),C=ot("./node_modules/mermaid/dist/mermaid-f47111a7.js"),U=function(){var n=function(is,at,gt,Ct){for(gt=gt||{},Ct=is.length;Ct--;gt[is[Ct]]=at);return gt},F=[1,4],r=[1,3],b=[1,5],v=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],j=[2,2],K=[1,13],xt=[1,14],$=[1,15],Lt=[1,16],tt=[1,23],ee=[1,25],wt=[1,26],Nt=[1,27],_t=[1,49],dt=[1,48],Ft=[1,29],ct=[1,30],Ee=[1,31],ge=[1,32],Te=[1,33],Wt=[1,44],Kt=[1,46],zt=[1,42],Jt=[1,47],s=[1,43],t=[1,50],e=[1,45],a=[1,51],c=[1,52],i=[1,34],o=[1,35],h=[1,36],g=[1,37],R=[1,57],m=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],x=[1,61],D=[1,60],T=[1,62],Y=[8,9,11,73,75],nt=[1,88],S=[1,93],Et=[1,92],X=[1,89],It=[1,85],St=[1,91],ue=[1,87],pe=[1,94],Se=[1,90],ht=[1,95],I=[1,86],H=[8,9,10,11,73,75],W=[8,9,10,11,44,73,75],B=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],Pt=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],p=[42,58,86,99,102,103,106,108,111,112,113],we=[1,121],y=[1,120],Ue=[1,128],Re=[1,142],Ye=[1,143],Be=[1,144],as=[1,145],qt=[1,130],Fe=[1,132],Ce=[1,136],hs=[1,137],xs=[1,138],_s=[1,139],_e=[1,140],Ge=[1,141],Le=[1,146],ds=[1,147],We=[1,126],ls=[1,127],Me=[1,134],bs=[1,129],cs=[1,133],fs=[1,131],Ie=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],Ds=[1,149],ce=[8,9,11],Oe=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],jt=[1,169],ve=[1,165],De=[1,166],Ut=[1,170],Gt=[1,167],Xt=[1,168],ps=[75,113,116],$t=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],Bs=[10,103],rs=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],Ke=[1,235],ze=[1,233],He=[1,237],Je=[1,231],Qe=[1,232],Ze=[1,234],qe=[1,236],$e=[1,238],gs=[1,255],Ls=[8,9,11,103],Xe=[8,9,10,11,58,81,102,103,106,107,108,109],Es={trace:function(){},yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:function(at,gt,Ct,V,oe,l,ms){var d=l.length-1;switch(oe){case 2:this.$=[];break;case 3:(!Array.isArray(l[d])||l[d].length>0)&&l[d-1].push(l[d]),this.$=l[d-1];break;case 4:case 176:this.$=l[d];break;case 11:V.setDirection("TB"),this.$="TB";break;case 12:V.setDirection(l[d-1]),this.$=l[d-1];break;case 27:this.$=l[d-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=V.addSubGraph(l[d-6],l[d-1],l[d-4]);break;case 34:this.$=V.addSubGraph(l[d-3],l[d-1],l[d-3]);break;case 35:this.$=V.addSubGraph(void 0,l[d-1],void 0);break;case 37:this.$=l[d].trim(),V.setAccTitle(this.$);break;case 38:case 39:this.$=l[d].trim(),V.setAccDescription(this.$);break;case 43:V.addLink(l[d-2].stmt,l[d],l[d-1]),this.$={stmt:l[d],nodes:l[d].concat(l[d-2].nodes)};break;case 44:V.addLink(l[d-3].stmt,l[d-1],l[d-2]),this.$={stmt:l[d-1],nodes:l[d-1].concat(l[d-3].nodes)};break;case 45:this.$={stmt:l[d-1],nodes:l[d-1]};break;case 46:this.$={stmt:l[d],nodes:l[d]};break;case 47:this.$=[l[d]];break;case 48:this.$=l[d-4].concat(l[d]);break;case 49:this.$=l[d];break;case 50:this.$=l[d-2],V.setClass(l[d-2],l[d]);break;case 51:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"square");break;case 52:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"doublecircle");break;case 53:this.$=l[d-5],V.addVertex(l[d-5],l[d-2],"circle");break;case 54:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"ellipse");break;case 55:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"stadium");break;case 56:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"subroutine");break;case 57:this.$=l[d-7],V.addVertex(l[d-7],l[d-1],"rect",void 0,void 0,void 0,Object.fromEntries([[l[d-5],l[d-3]]]));break;case 58:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"cylinder");break;case 59:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"round");break;case 60:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"diamond");break;case 61:this.$=l[d-5],V.addVertex(l[d-5],l[d-2],"hexagon");break;case 62:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"odd");break;case 63:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"trapezoid");break;case 64:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"inv_trapezoid");break;case 65:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"lean_right");break;case 66:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"lean_left");break;case 67:this.$=l[d],V.addVertex(l[d]);break;case 68:l[d-1].text=l[d],this.$=l[d-1];break;case 69:case 70:l[d-2].text=l[d-1],this.$=l[d-2];break;case 71:this.$=l[d];break;case 72:var Ve=V.destructLink(l[d],l[d-2]);this.$={type:Ve.type,stroke:Ve.stroke,length:Ve.length,text:l[d-1]};break;case 73:this.$={text:l[d],type:"text"};break;case 74:this.$={text:l[d-1].text+""+l[d],type:l[d-1].type};break;case 75:this.$={text:l[d],type:"string"};break;case 76:this.$={text:l[d],type:"markdown"};break;case 77:var Ve=V.destructLink(l[d]);this.$={type:Ve.type,stroke:Ve.stroke,length:Ve.length};break;case 78:this.$=l[d-1];break;case 79:this.$={text:l[d],type:"text"};break;case 80:this.$={text:l[d-1].text+""+l[d],type:l[d-1].type};break;case 81:this.$={text:l[d],type:"string"};break;case 82:case 97:this.$={text:l[d],type:"markdown"};break;case 94:this.$={text:l[d],type:"text"};break;case 95:this.$={text:l[d-1].text+""+l[d],type:l[d-1].type};break;case 96:this.$={text:l[d],type:"text"};break;case 98:this.$=l[d-4],V.addClass(l[d-2],l[d]);break;case 99:this.$=l[d-4],V.setClass(l[d-2],l[d]);break;case 100:case 108:this.$=l[d-1],V.setClickEvent(l[d-1],l[d]);break;case 101:case 109:this.$=l[d-3],V.setClickEvent(l[d-3],l[d-2]),V.setTooltip(l[d-3],l[d]);break;case 102:this.$=l[d-2],V.setClickEvent(l[d-2],l[d-1],l[d]);break;case 103:this.$=l[d-4],V.setClickEvent(l[d-4],l[d-3],l[d-2]),V.setTooltip(l[d-4],l[d]);break;case 104:this.$=l[d-2],V.setLink(l[d-2],l[d]);break;case 105:this.$=l[d-4],V.setLink(l[d-4],l[d-2]),V.setTooltip(l[d-4],l[d]);break;case 106:this.$=l[d-4],V.setLink(l[d-4],l[d-2],l[d]);break;case 107:this.$=l[d-6],V.setLink(l[d-6],l[d-4],l[d]),V.setTooltip(l[d-6],l[d-2]);break;case 110:this.$=l[d-1],V.setLink(l[d-1],l[d]);break;case 111:this.$=l[d-3],V.setLink(l[d-3],l[d-2]),V.setTooltip(l[d-3],l[d]);break;case 112:this.$=l[d-3],V.setLink(l[d-3],l[d-2],l[d]);break;case 113:this.$=l[d-5],V.setLink(l[d-5],l[d-4],l[d]),V.setTooltip(l[d-5],l[d-2]);break;case 114:this.$=l[d-4],V.addVertex(l[d-2],void 0,void 0,l[d]);break;case 115:this.$=l[d-4],V.updateLink([l[d-2]],l[d]);break;case 116:this.$=l[d-4],V.updateLink(l[d-2],l[d]);break;case 117:this.$=l[d-8],V.updateLinkInterpolate([l[d-6]],l[d-2]),V.updateLink([l[d-6]],l[d]);break;case 118:this.$=l[d-8],V.updateLinkInterpolate(l[d-6],l[d-2]),V.updateLink(l[d-6],l[d]);break;case 119:this.$=l[d-6],V.updateLinkInterpolate([l[d-4]],l[d]);break;case 120:this.$=l[d-6],V.updateLinkInterpolate(l[d-4],l[d]);break;case 121:case 123:this.$=[l[d]];break;case 122:case 124:l[d-2].push(l[d]),this.$=l[d-2];break;case 126:this.$=l[d-1]+l[d];break;case 174:this.$=l[d];break;case 175:this.$=l[d-1]+""+l[d];break;case 177:this.$=l[d-1]+""+l[d];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,9:F,10:r,12:b},{1:[3]},n(v,j,{5:6}),{4:7,9:F,10:r,12:b},{4:8,9:F,10:r,12:b},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:K,9:xt,10:$,11:Lt,20:17,22:18,23:19,24:20,25:21,26:22,27:tt,33:24,34:ee,36:wt,38:Nt,40:28,41:38,42:_t,43:39,45:40,58:dt,81:Ft,82:ct,83:Ee,84:ge,85:Te,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:41,111:e,112:a,113:c,118:i,119:o,120:h,121:g},n(v,[2,9]),n(v,[2,10]),n(v,[2,11]),{8:[1,54],9:[1,55],10:R,15:53,18:56},n(m,[2,3]),n(m,[2,4]),n(m,[2,5]),n(m,[2,6]),n(m,[2,7]),n(m,[2,8]),{8:x,9:D,11:T,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:x,9:D,11:T,21:66},{8:x,9:D,11:T,21:67},{8:x,9:D,11:T,21:68},{8:x,9:D,11:T,21:69},{8:x,9:D,11:T,21:70},{8:x,9:D,10:[1,71],11:T,21:72},n(m,[2,36]),{35:[1,73]},{37:[1,74]},n(m,[2,39]),n(Y,[2,46],{18:75,10:R}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:nt,42:S,58:Et,77:[1,83],86:X,92:[1,80],94:[1,81],98:82,102:It,103:St,106:ue,108:pe,111:Se,112:ht,113:I,117:84},n(m,[2,178]),n(m,[2,179]),n(m,[2,180]),n(m,[2,181]),n(H,[2,47]),n(H,[2,49],{44:[1,96]}),n(W,[2,67],{110:109,29:[1,97],42:_t,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:dt,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,111:e,112:a,113:c}),n(B,[2,174]),n(B,[2,135]),n(B,[2,136]),n(B,[2,137]),n(B,[2,138]),n(B,[2,139]),n(B,[2,140]),n(B,[2,141]),n(B,[2,142]),n(B,[2,143]),n(B,[2,144]),n(B,[2,145]),n(v,[2,12]),n(v,[2,18]),n(v,[2,19]),{9:[1,110]},n(Pt,[2,26],{18:111,10:R}),n(m,[2,27]),{40:112,41:38,42:_t,43:39,45:40,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:41,111:e,112:a,113:c},n(m,[2,40]),n(m,[2,41]),n(m,[2,42]),n(p,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:we,116:y},n([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),n(m,[2,28]),n(m,[2,29]),n(m,[2,30]),n(m,[2,31]),n(m,[2,32]),{10:Ue,12:Re,14:Ye,27:Be,28:122,32:as,42:qt,58:Fe,73:Ce,77:[1,124],78:[1,125],80:135,81:hs,82:xs,83:_s,84:_e,85:Ge,86:Le,87:ds,88:123,102:We,106:ls,108:Me,111:bs,112:cs,113:fs},n(Ie,j,{5:148}),n(m,[2,37]),n(m,[2,38]),n(Y,[2,45],{42:Ds}),{42:_t,45:150,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:41,111:e,112:a,113:c},{99:[1,151],100:152,102:[1,153]},{42:_t,45:154,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:41,111:e,112:a,113:c},{42:_t,45:155,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:41,111:e,112:a,113:c},n(ce,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},n(ce,[2,108],{117:160,10:[1,159],14:nt,42:S,58:Et,86:X,102:It,103:St,106:ue,108:pe,111:Se,112:ht,113:I}),n(ce,[2,110],{10:[1,161]}),n(Oe,[2,176]),n(Oe,[2,163]),n(Oe,[2,164]),n(Oe,[2,165]),n(Oe,[2,166]),n(Oe,[2,167]),n(Oe,[2,168]),n(Oe,[2,169]),n(Oe,[2,170]),n(Oe,[2,171]),n(Oe,[2,172]),n(Oe,[2,173]),{42:_t,45:162,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:41,111:e,112:a,113:c},{30:163,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{30:171,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{30:173,48:[1,172],65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{30:174,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{30:175,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{30:176,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{106:[1,177]},{30:178,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{30:179,63:[1,180],65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{30:181,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{30:182,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{30:183,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},n(B,[2,175]),n(v,[2,20]),n(Pt,[2,25]),n(Y,[2,43],{18:184,10:R}),n(p,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{75:[1,188],76:189,113:we,116:y},n(ps,[2,73]),n(ps,[2,75]),n(ps,[2,76]),n(ps,[2,161]),n(ps,[2,162]),{8:x,9:D,10:Ue,11:T,12:Re,14:Ye,21:191,27:Be,29:[1,190],32:as,42:qt,58:Fe,73:Ce,80:135,81:hs,82:xs,83:_s,84:_e,85:Ge,86:Le,87:ds,88:192,102:We,106:ls,108:Me,111:bs,112:cs,113:fs},n($t,[2,94]),n($t,[2,96]),n($t,[2,97]),n($t,[2,150]),n($t,[2,151]),n($t,[2,152]),n($t,[2,153]),n($t,[2,154]),n($t,[2,155]),n($t,[2,156]),n($t,[2,157]),n($t,[2,158]),n($t,[2,159]),n($t,[2,160]),n($t,[2,83]),n($t,[2,84]),n($t,[2,85]),n($t,[2,86]),n($t,[2,87]),n($t,[2,88]),n($t,[2,89]),n($t,[2,90]),n($t,[2,91]),n($t,[2,92]),n($t,[2,93]),{6:11,7:12,8:K,9:xt,10:$,11:Lt,20:17,22:18,23:19,24:20,25:21,26:22,27:tt,32:[1,193],33:24,34:ee,36:wt,38:Nt,40:28,41:38,42:_t,43:39,45:40,58:dt,81:Ft,82:ct,83:Ee,84:ge,85:Te,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:41,111:e,112:a,113:c,118:i,119:o,120:h,121:g},{10:R,18:194},{10:[1,195],42:_t,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:109,111:e,112:a,113:c},{10:[1,196]},{10:[1,197],103:[1,198]},n(Bs,[2,121]),{10:[1,199],42:_t,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:109,111:e,112:a,113:c},{10:[1,200],42:_t,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:109,111:e,112:a,113:c},{77:[1,201]},n(ce,[2,102],{10:[1,202]}),n(ce,[2,104],{10:[1,203]}),{77:[1,204]},n(Oe,[2,177]),{77:[1,205],95:[1,206]},n(H,[2,50],{110:109,42:_t,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,111:e,112:a,113:c}),{31:[1,207],65:jt,79:208,113:Ut,114:Gt,115:Xt},n(rs,[2,79]),n(rs,[2,81]),n(rs,[2,82]),n(rs,[2,146]),n(rs,[2,147]),n(rs,[2,148]),n(rs,[2,149]),{47:[1,209],65:jt,79:208,113:Ut,114:Gt,115:Xt},{30:210,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{49:[1,211],65:jt,79:208,113:Ut,114:Gt,115:Xt},{51:[1,212],65:jt,79:208,113:Ut,114:Gt,115:Xt},{53:[1,213],65:jt,79:208,113:Ut,114:Gt,115:Xt},{55:[1,214],65:jt,79:208,113:Ut,114:Gt,115:Xt},{58:[1,215]},{62:[1,216],65:jt,79:208,113:Ut,114:Gt,115:Xt},{64:[1,217],65:jt,79:208,113:Ut,114:Gt,115:Xt},{30:218,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{31:[1,219],65:jt,79:208,113:Ut,114:Gt,115:Xt},{65:jt,67:[1,220],69:[1,221],79:208,113:Ut,114:Gt,115:Xt},{65:jt,67:[1,223],69:[1,222],79:208,113:Ut,114:Gt,115:Xt},n(Y,[2,44],{42:Ds}),n(p,[2,70]),n(p,[2,69]),{60:[1,224],65:jt,79:208,113:Ut,114:Gt,115:Xt},n(p,[2,72]),n(ps,[2,74]),{30:225,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},n(Ie,j,{5:226}),n($t,[2,95]),n(m,[2,35]),{41:227,42:_t,43:39,45:40,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:41,111:e,112:a,113:c},{10:Ke,58:ze,81:He,89:228,102:Je,104:229,105:230,106:Qe,107:Ze,108:qe,109:$e},{10:Ke,58:ze,81:He,89:239,101:[1,240],102:Je,104:229,105:230,106:Qe,107:Ze,108:qe,109:$e},{10:Ke,58:ze,81:He,89:241,101:[1,242],102:Je,104:229,105:230,106:Qe,107:Ze,108:qe,109:$e},{102:[1,243]},{10:Ke,58:ze,81:He,89:244,102:Je,104:229,105:230,106:Qe,107:Ze,108:qe,109:$e},{42:_t,45:245,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:41,111:e,112:a,113:c},n(ce,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},n(ce,[2,109]),n(ce,[2,111],{10:[1,249]}),n(ce,[2,112]),n(W,[2,51]),n(rs,[2,80]),n(W,[2,52]),{49:[1,250],65:jt,79:208,113:Ut,114:Gt,115:Xt},n(W,[2,59]),n(W,[2,54]),n(W,[2,55]),n(W,[2,56]),{106:[1,251]},n(W,[2,58]),n(W,[2,60]),{64:[1,252],65:jt,79:208,113:Ut,114:Gt,115:Xt},n(W,[2,62]),n(W,[2,63]),n(W,[2,65]),n(W,[2,64]),n(W,[2,66]),n([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:jt,79:208,113:Ut,114:Gt,115:Xt},{6:11,7:12,8:K,9:xt,10:$,11:Lt,20:17,22:18,23:19,24:20,25:21,26:22,27:tt,32:[1,254],33:24,34:ee,36:wt,38:Nt,40:28,41:38,42:_t,43:39,45:40,58:dt,81:Ft,82:ct,83:Ee,84:ge,85:Te,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:41,111:e,112:a,113:c,118:i,119:o,120:h,121:g},n(H,[2,48]),n(ce,[2,114],{103:gs}),n(Ls,[2,123],{105:256,10:Ke,58:ze,81:He,102:Je,106:Qe,107:Ze,108:qe,109:$e}),n(Xe,[2,125]),n(Xe,[2,127]),n(Xe,[2,128]),n(Xe,[2,129]),n(Xe,[2,130]),n(Xe,[2,131]),n(Xe,[2,132]),n(Xe,[2,133]),n(Xe,[2,134]),n(ce,[2,115],{103:gs}),{10:[1,257]},n(ce,[2,116],{103:gs}),{10:[1,258]},n(Bs,[2,122]),n(ce,[2,98],{103:gs}),n(ce,[2,99],{110:109,42:_t,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,111:e,112:a,113:c}),n(ce,[2,103]),n(ce,[2,105],{10:[1,259]}),n(ce,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:x,9:D,11:T,21:264},n(m,[2,34]),{10:Ke,58:ze,81:He,102:Je,104:265,105:230,106:Qe,107:Ze,108:qe,109:$e},n(Xe,[2,126]),{14:nt,42:S,58:Et,86:X,98:266,102:It,103:St,106:ue,108:pe,111:Se,112:ht,113:I,117:84},{14:nt,42:S,58:Et,86:X,98:267,102:It,103:St,106:ue,108:pe,111:Se,112:ht,113:I,117:84},{95:[1,268]},n(ce,[2,113]),n(W,[2,53]),{30:269,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},n(W,[2,61]),n(Ie,j,{5:270}),n(Ls,[2,124],{105:256,10:Ke,58:ze,81:He,102:Je,106:Qe,107:Ze,108:qe,109:$e}),n(ce,[2,119],{117:160,10:[1,271],14:nt,42:S,58:Et,86:X,102:It,103:St,106:ue,108:pe,111:Se,112:ht,113:I}),n(ce,[2,120],{117:160,10:[1,272],14:nt,42:S,58:Et,86:X,102:It,103:St,106:ue,108:pe,111:Se,112:ht,113:I}),n(ce,[2,107]),{31:[1,273],65:jt,79:208,113:Ut,114:Gt,115:Xt},{6:11,7:12,8:K,9:xt,10:$,11:Lt,20:17,22:18,23:19,24:20,25:21,26:22,27:tt,32:[1,274],33:24,34:ee,36:wt,38:Nt,40:28,41:38,42:_t,43:39,45:40,58:dt,81:Ft,82:ct,83:Ee,84:ge,85:Te,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:41,111:e,112:a,113:c,118:i,119:o,120:h,121:g},{10:Ke,58:ze,81:He,89:275,102:Je,104:229,105:230,106:Qe,107:Ze,108:qe,109:$e},{10:Ke,58:ze,81:He,89:276,102:Je,104:229,105:230,106:Qe,107:Ze,108:qe,109:$e},n(W,[2,57]),n(m,[2,33]),n(ce,[2,117],{103:gs}),n(ce,[2,118],{103:gs})],defaultActions:{},parseError:function(at,gt){if(gt.recoverable)this.trace(at);else{var Ct=new Error(at);throw Ct.hash=gt,Ct}},parse:function(at){var gt=this,Ct=[0],V=[],oe=[null],l=[],ms=this.table,d="",Ve=0,Fs=0,Rs=2,Ns=1,Ms=l.slice.call(arguments,1),xe=Object.create(this.lexer),os={yy:{}};for(var Ss in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ss)&&(os.yy[Ss]=this.yy[Ss]);xe.setInput(at,os.yy),os.yy.lexer=xe,os.yy.parser=this,typeof xe.yylloc>"u"&&(xe.yylloc={});var ws=xe.yylloc;l.push(ws);var Vs=xe.options&&xe.options.ranges;typeof os.yy.parseError=="function"?this.parseError=os.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ps(){var es;return es=V.pop()||xe.lex()||Ns,typeof es!="number"&&(es instanceof Array&&(V=es,es=V.pop()),es=gt.symbols_[es]||es),es}for(var Ne,us,Pe,Cs,ys={},As,ts,Is,ks;;){if(us=Ct[Ct.length-1],this.defaultActions[us]?Pe=this.defaultActions[us]:((Ne===null||typeof Ne>"u")&&(Ne=Ps()),Pe=ms[us]&&ms[us][Ne]),typeof Pe>"u"||!Pe.length||!Pe[0]){var vs="";ks=[];for(As in ms[us])this.terminals_[As]&&As>Rs&&ks.push("'"+this.terminals_[As]+"'");xe.showPosition?vs="Parse error on line "+(Ve+1)+`: +`+xe.showPosition()+` +Expecting `+ks.join(", ")+", got '"+(this.terminals_[Ne]||Ne)+"'":vs="Parse error on line "+(Ve+1)+": Unexpected "+(Ne==Ns?"end of input":"'"+(this.terminals_[Ne]||Ne)+"'"),this.parseError(vs,{text:xe.match,token:this.terminals_[Ne]||Ne,line:xe.yylineno,loc:ws,expected:ks})}if(Pe[0]instanceof Array&&Pe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+us+", token: "+Ne);switch(Pe[0]){case 1:Ct.push(Ne),oe.push(xe.yytext),l.push(xe.yylloc),Ct.push(Pe[1]),Ne=null,Fs=xe.yyleng,d=xe.yytext,Ve=xe.yylineno,ws=xe.yylloc;break;case 2:if(ts=this.productions_[Pe[1]][1],ys.$=oe[oe.length-ts],ys._$={first_line:l[l.length-(ts||1)].first_line,last_line:l[l.length-1].last_line,first_column:l[l.length-(ts||1)].first_column,last_column:l[l.length-1].last_column},Vs&&(ys._$.range=[l[l.length-(ts||1)].range[0],l[l.length-1].range[1]]),Cs=this.performAction.apply(ys,[d,Fs,Ve,os.yy,Pe[1],oe,l].concat(Ms)),typeof Cs<"u")return Cs;ts&&(Ct=Ct.slice(0,-1*ts*2),oe=oe.slice(0,-1*ts),l=l.slice(0,-1*ts)),Ct.push(this.productions_[Pe[1]][0]),oe.push(ys.$),l.push(ys._$),Is=ms[Ct[Ct.length-2]][Ct[Ct.length-1]],Ct.push(Is);break;case 3:return!0}}return!0}},Os=function(){var is={EOF:1,parseError:function(gt,Ct){if(this.yy.parser)this.yy.parser.parseError(gt,Ct);else throw new Error(gt)},setInput:function(at,gt){return this.yy=gt||this.yy||{},this._input=at,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var at=this._input[0];this.yytext+=at,this.yyleng++,this.offset++,this.match+=at,this.matched+=at;var gt=at.match(/(?:\r\n?|\n).*/g);return gt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),at},unput:function(at){var gt=at.length,Ct=at.split(/(?:\r\n?|\n)/g);this._input=at+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-gt),this.offset-=gt;var V=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ct.length-1&&(this.yylineno-=Ct.length-1);var oe=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ct?(Ct.length===V.length?this.yylloc.first_column:0)+V[V.length-Ct.length].length-Ct[0].length:this.yylloc.first_column-gt},this.options.ranges&&(this.yylloc.range=[oe[0],oe[0]+this.yyleng-gt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(at){this.unput(this.match.slice(at))},pastInput:function(){var at=this.matched.substr(0,this.matched.length-this.match.length);return(at.length>20?"...":"")+at.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var at=this.match;return at.length<20&&(at+=this._input.substr(0,20-at.length)),(at.substr(0,20)+(at.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var at=this.pastInput(),gt=new Array(at.length+1).join("-");return at+this.upcomingInput()+` +`+gt+"^"},test_match:function(at,gt){var Ct,V,oe;if(this.options.backtrack_lexer&&(oe={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(oe.yylloc.range=this.yylloc.range.slice(0))),V=at[0].match(/(?:\r\n?|\n).*/g),V&&(this.yylineno+=V.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:V?V[V.length-1].length-V[V.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+at[0].length},this.yytext+=at[0],this.match+=at[0],this.matches=at,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(at[0].length),this.matched+=at[0],Ct=this.performAction.call(this,this.yy,this,gt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ct)return Ct;if(this._backtrack){for(var l in oe)this[l]=oe[l];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var at,gt,Ct,V;this._more||(this.yytext="",this.match="");for(var oe=this._currentRules(),l=0;lgt[0].length)){if(gt=Ct,V=l,this.options.backtrack_lexer){if(at=this.test_match(Ct,oe[l]),at!==!1)return at;if(this._backtrack){gt=!1;continue}else return!1}else if(!this.options.flex)break}return gt?(at=this.test_match(gt,oe[V]),at!==!1?at:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var gt=this.next();return gt||this.lex()},begin:function(gt){this.conditionStack.push(gt)},popState:function(){var gt=this.conditionStack.length-1;return gt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(gt){return gt=this.conditionStack.length-1-Math.abs(gt||0),gt>=0?this.conditionStack[gt]:"INITIAL"},pushState:function(gt){this.begin(gt)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(gt,Ct,V,oe){switch(V){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:this.begin("callbackname");break;case 8:this.popState();break;case 9:this.popState(),this.begin("callbackargs");break;case 10:return 92;case 11:this.popState();break;case 12:return 93;case 13:return"MD_STR";case 14:this.popState();break;case 15:this.begin("md_string");break;case 16:return"STR";case 17:this.popState();break;case 18:this.pushState("string");break;case 19:return 81;case 20:return 99;case 21:return 82;case 22:return 101;case 23:return 83;case 24:return 84;case 25:return 94;case 26:this.begin("click");break;case 27:this.popState();break;case 28:return 85;case 29:return gt.lex.firstGraph()&&this.begin("dir"),12;case 30:return gt.lex.firstGraph()&&this.begin("dir"),12;case 31:return gt.lex.firstGraph()&&this.begin("dir"),12;case 32:return 27;case 33:return 32;case 34:return 95;case 35:return 95;case 36:return 95;case 37:return 95;case 38:return this.popState(),13;case 39:return this.popState(),14;case 40:return this.popState(),14;case 41:return this.popState(),14;case 42:return this.popState(),14;case 43:return this.popState(),14;case 44:return this.popState(),14;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return 118;case 50:return 119;case 51:return 120;case 52:return 121;case 53:return 102;case 54:return 108;case 55:return 44;case 56:return 58;case 57:return 42;case 58:return 8;case 59:return 103;case 60:return 112;case 61:return this.popState(),75;case 62:return this.pushState("edgeText"),73;case 63:return 116;case 64:return this.popState(),75;case 65:return this.pushState("thickEdgeText"),73;case 66:return 116;case 67:return this.popState(),75;case 68:return this.pushState("dottedEdgeText"),73;case 69:return 116;case 70:return 75;case 71:return this.popState(),51;case 72:return"TEXT";case 73:return this.pushState("ellipseText"),50;case 74:return this.popState(),53;case 75:return this.pushState("text"),52;case 76:return this.popState(),55;case 77:return this.pushState("text"),54;case 78:return 56;case 79:return this.pushState("text"),65;case 80:return this.popState(),62;case 81:return this.pushState("text"),61;case 82:return this.popState(),47;case 83:return this.pushState("text"),46;case 84:return this.popState(),67;case 85:return this.popState(),69;case 86:return 114;case 87:return this.pushState("trapText"),66;case 88:return this.pushState("trapText"),68;case 89:return 115;case 90:return 65;case 91:return 87;case 92:return"SEP";case 93:return 86;case 94:return 112;case 95:return 108;case 96:return 42;case 97:return 106;case 98:return 111;case 99:return 113;case 100:return this.popState(),60;case 101:return this.pushState("text"),60;case 102:return this.popState(),49;case 103:return this.pushState("text"),48;case 104:return this.popState(),31;case 105:return this.pushState("text"),29;case 106:return this.popState(),64;case 107:return this.pushState("text"),63;case 108:return"TEXT";case 109:return"QUOTE";case 110:return 9;case 111:return 10;case 112:return 11}},rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{callbackargs:{rules:[11,12,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},callbackname:{rules:[8,9,10,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},href:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},click:{rules:[15,18,27,28,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dottedEdgeText:{rules:[15,18,67,69,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},thickEdgeText:{rules:[15,18,64,66,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},edgeText:{rules:[15,18,61,63,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},trapText:{rules:[15,18,70,73,75,77,81,83,84,85,86,87,88,101,103,105,107],inclusive:!1},ellipseText:{rules:[15,18,70,71,72,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},text:{rules:[15,18,70,73,74,75,76,77,80,81,82,83,87,88,100,101,102,103,104,105,106,107,108],inclusive:!1},vertex:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dir:{rules:[15,18,38,39,40,41,42,43,44,45,46,47,48,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr_multiline:{rules:[5,6,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr:{rules:[3,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_title:{rules:[1,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},md_string:{rules:[13,14,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},string:{rules:[15,16,17,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},INITIAL:{rules:[0,2,4,7,15,18,19,20,21,22,23,24,25,26,29,30,31,32,33,34,35,36,37,49,50,51,52,53,54,55,56,57,58,59,60,61,62,64,65,67,68,70,73,75,77,78,79,81,83,87,88,89,90,91,92,93,94,95,96,97,98,99,101,103,105,107,109,110,111,112],inclusive:!0}}};return is}();Es.lexer=Os;function Ts(){this.yy={}}return Ts.prototype=Es,Es.Parser=Ts,new Ts}();U.parser=U;const w=U,ae="flowchart-";let Ot=0,Rt=(0,C.c)(),N={},G=[],et={},ut=[],mt={},Qt={},le=0,Zt=!0,Mt,ye,q=[];const At=n=>C.e.sanitizeText(n,Rt),kt=function(n){const F=Object.keys(N);for(const r of F)if(N[r].id===n)return N[r].domId;return n},bt=function(n,F,r,b,v,j,K={}){let xt,$=n;$!==void 0&&$.trim().length!==0&&(N[$]===void 0&&(N[$]={id:$,labelType:"text",domId:ae+$+"-"+Ot,styles:[],classes:[]}),Ot++,F!==void 0?(Rt=(0,C.c)(),xt=At(F.text.trim()),N[$].labelType=F.type,xt[0]==='"'&&xt[xt.length-1]==='"'&&(xt=xt.substring(1,xt.length-1)),N[$].text=xt):N[$].text===void 0&&(N[$].text=n),r!==void 0&&(N[$].type=r),b?.forEach(function(Lt){N[$].styles.push(Lt)}),v?.forEach(function(Lt){N[$].classes.push(Lt)}),j!==void 0&&(N[$].dir=j),N[$].props===void 0?N[$].props=K:K!==void 0&&Object.assign(N[$].props,K))},Dt=function(n,F,r){const j={start:n,end:F,type:void 0,text:"",labelType:"text"};C.l.info("abc78 Got edge...",j);const K=r.text;if(K!==void 0&&(j.text=At(K.text.trim()),j.text[0]==='"'&&j.text[j.text.length-1]==='"'&&(j.text=j.text.substring(1,j.text.length-1)),j.labelType=K.type),r!==void 0&&(j.type=r.type,j.stroke=r.stroke,j.length=r.length),j?.length>10&&(j.length=10),G.length<(Rt.maxEdges??500))C.l.info("abc78 pushing edge..."),G.push(j);else throw new Error(`Edge limit exceeded. ${G.length} edges found, but the limit is ${Rt.maxEdges}. + +Initialize mermaid with maxEdges set to a higher number to allow more edges. +You cannot set this config via configuration inside the diagram as it is a secure config. +You have to call mermaid.initialize.`)},Ht=function(n,F,r){C.l.info("addLink (abc78)",n,F,r);let b,v;for(b=0;b=G.length)throw new Error(`The index ${r} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${G.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);r==="default"?G.defaultStyle=F:(C.u.isSubstringInArray("fill",F)===-1&&F.push("fill:none"),G[r].style=F)})},Tt=function(n,F){n.split(",").forEach(function(r){et[r]===void 0&&(et[r]={id:r,styles:[],textStyles:[]}),F?.forEach(function(b){if(b.match("color")){const v=b.replace("fill","bgFill").replace("color","fill");et[r].textStyles.push(v)}et[r].styles.push(b)})})},lt=function(n){Mt=n,Mt.match(/.*/)&&(Mt="LR"),Mt.match(/.*v/)&&(Mt="TB"),Mt==="TD"&&(Mt="TB")},te=function(n,F){n.split(",").forEach(function(r){let b=r;N[b]!==void 0&&N[b].classes.push(F),mt[b]!==void 0&&mt[b].classes.push(F)})},he=function(n,F){n.split(",").forEach(function(r){F!==void 0&&(Qt[ye==="gen-1"?kt(r):r]=At(F))})},J=function(n,F,r){let b=kt(n);if((0,C.c)().securityLevel!=="loose"||F===void 0)return;let v=[];if(typeof r=="string"){v=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let j=0;j")),v.classed("hover",!0)}).on("mouseout",function(){F.transition().duration(500).style("opacity",0),(0,E.Ltv)(this).classed("hover",!1)})};q.push(rt);const st=function(n="gen-1"){N={},et={},G=[],q=[rt],ut=[],mt={},le=0,Qt={},Zt=!0,ye=n,Rt=(0,C.c)(),(0,C.v)()},Bt=n=>{ye=n||"gen-2"},Vt=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},ie=function(n,F,r){let b=n.text.trim(),v=r.text;n===r&&r.text.match(/\s/)&&(b=void 0);function j(tt){const ee={boolean:{},number:{},string:{}},wt=[];let Nt;return{nodeList:tt.filter(function(dt){const Ft=typeof dt;return dt.stmt&&dt.stmt==="dir"?(Nt=dt.value,!1):dt.trim()===""?!1:Ft in ee?ee[Ft].hasOwnProperty(dt)?!1:ee[Ft][dt]=!0:wt.includes(dt)?!1:wt.push(dt)}),dir:Nt}}let K=[];const{nodeList:xt,dir:$}=j(K.concat.apply(K,F));if(K=xt,ye==="gen-1")for(let tt=0;tt2e3)return;if(z[ne]=F,ut[F].id===n)return{result:!0,count:0};let b=0,v=1;for(;b=0){const K=Q(n,j);if(K.result)return{result:!0,count:v+K.count};v=v+K.count}b=b+1}return{result:!1,count:v}},be=function(n){return z[n]},Ae=function(){ne=-1,ut.length>0&&Q("none",ut.length-1)},ns=function(){return ut},ss=()=>Zt?(Zt=!1,!0):!1,f=n=>{let F=n.trim(),r="arrow_open";switch(F[0]){case"<":r="arrow_point",F=F.slice(1);break;case"x":r="arrow_cross",F=F.slice(1);break;case"o":r="arrow_circle",F=F.slice(1);break}let b="normal";return F.includes("=")&&(b="thick"),F.includes(".")&&(b="dotted"),{type:r,stroke:b}},M=(n,F)=>{const r=F.length;let b=0;for(let v=0;v{const F=n.trim();let r=F.slice(0,-1),b="arrow_open";switch(F.slice(-1)){case"x":b="arrow_cross",F[0]==="x"&&(b="double_"+b,r=r.slice(1));break;case">":b="arrow_point",F[0]==="<"&&(b="double_"+b,r=r.slice(1));break;case"o":b="arrow_circle",F[0]==="o"&&(b="double_"+b,r=r.slice(1));break}let v="normal",j=r.length-1;r[0]==="="&&(v="thick"),r[0]==="~"&&(v="invisible");let K=M(".",r);return K&&(v="dotted",j=K),{type:b,stroke:v,length:j}},pt=(n,F)=>{const r=it(n);let b;if(F){if(b=f(F),b.stroke!==r.stroke)return{type:"INVALID",stroke:"INVALID"};if(b.type==="arrow_open")b.type=r.type;else{if(b.type!==r.type)return{type:"INVALID",stroke:"INVALID"};b.type="double_"+b.type}return b.type==="double_arrow"&&(b.type="double_arrow_point"),b.length=r.length,b}return r},yt=(n,F)=>{let r=!1;return n.forEach(b=>{b.nodes.indexOf(F)>=0&&(r=!0)}),r},Yt=(n,F)=>{const r=[];return n.nodes.forEach((b,v)=>{yt(F,b)||r.push(n.nodes[v])}),{nodes:r}},fe={firstGraph:ss},me={defaultConfig:()=>C.K.flowchart,setAccTitle:C.s,getAccTitle:C.g,getAccDescription:C.a,setAccDescription:C.b,addVertex:bt,lookUpDomId:kt,addLink:Ht,updateLinkInterpolate:re,updateLink:vt,addClass:Tt,setDirection:lt,setClass:te,setTooltip:he,getTooltip:k,setClickEvent:u,setLink:Z,bindFunctions:A,getDirection:P,getVertices:L,getEdges:O,getClasses:ft,clear:st,setGen:Bt,defaultStyle:Vt,addSubGraph:ie,getDepthFirstPos:be,indexNodes:Ae,getSubGraphs:ns,destructLink:pt,lex:fe,exists:yt,makeUniq:Yt,setDiagramTitle:C.q,getDiagramTitle:C.t},ke=Object.freeze(Object.defineProperty({__proto__:null,addClass:Tt,addLink:Ht,addSingleLink:Dt,addSubGraph:ie,addVertex:bt,bindFunctions:A,clear:st,default:me,defaultStyle:Vt,destructLink:pt,firstGraph:ss,getClasses:ft,getDepthFirstPos:be,getDirection:P,getEdges:O,getSubGraphs:ns,getTooltip:k,getVertices:L,indexNodes:Ae,lex:fe,lookUpDomId:kt,setClass:te,setClickEvent:u,setDirection:lt,setGen:Bt,setLink:Z,updateLink:vt,updateLinkInterpolate:re},Symbol.toStringTag,{value:"Module"}))},"./node_modules/mermaid/dist/index-fc10efb0.js":function(je,se,ot){ot.d(se,{r:function(){return Z}});var E=ot("./node_modules/dagre-d3-es/src/dagre/index.js"),C=ot("./node_modules/dagre-d3-es/src/graphlib/json.js"),U=ot("./node_modules/mermaid/dist/edges-d32062c0.js"),w=ot("./node_modules/mermaid/dist/mermaid-f47111a7.js"),ae=ot("./node_modules/dagre-d3-es/src/graphlib/index.js"),Ot=ot("./node_modules/mermaid/dist/createText-6b48ae7d.js"),Rt=ot("./node_modules/d3/src/index.js");let N={},G={},et={};const ut=()=>{G={},et={},N={}},mt=(k,u)=>(w.l.trace("In isDescendant",u," ",k," = ",G[u].includes(k)),!!G[u].includes(k)),Qt=(k,u)=>(w.l.info("Descendants of ",u," is ",G[u]),w.l.info("Edge is ",k),k.v===u||k.w===u?!1:G[u]?G[u].includes(k.v)||mt(k.v,u)||mt(k.w,u)||G[u].includes(k.w):(w.l.debug("Tilt, ",u,",not in descendants"),!1)),le=(k,u,A,P)=>{w.l.warn("Copying children of ",k,"root",P,"data",u.node(k),P);const L=u.children(k)||[];k!==P&&L.push(k),w.l.warn("Copying (nodes) clusterId",k,"nodes",L),L.forEach(O=>{if(u.children(O).length>0)le(O,u,A,P);else{const ft=u.node(O);w.l.info("cp ",O," to ",P," with parent ",k),A.setNode(O,ft),P!==u.parent(O)&&(w.l.warn("Setting parent",O,u.parent(O)),A.setParent(O,u.parent(O))),k!==P&&O!==k?(w.l.debug("Setting parent",O,k),A.setParent(O,k)):(w.l.info("In copy ",k,"root",P,"data",u.node(k),P),w.l.debug("Not Setting parent for node=",O,"cluster!==rootId",k!==P,"node!==clusterId",O!==k));const rt=u.edges(O);w.l.debug("Copying Edges",rt),rt.forEach(st=>{w.l.info("Edge",st);const Bt=u.edge(st.v,st.w,st.name);w.l.info("Edge data",Bt,P);try{Qt(st,P)?(w.l.info("Copying as ",st.v,st.w,Bt,st.name),A.setEdge(st.v,st.w,Bt,st.name),w.l.info("newGraph edges ",A.edges(),A.edge(A.edges()[0]))):w.l.info("Skipping copy of edge ",st.v,"-->",st.w," rootId: ",P," clusterId:",k)}catch(Vt){w.l.error(Vt)}})}w.l.debug("Removing node",O),u.removeNode(O)})},Zt=(k,u)=>{const A=u.children(k);let P=[...A];for(const L of A)et[L]=k,P=[...P,...Zt(L,u)];return P},Mt=(k,u)=>{w.l.trace("Searching",k);const A=u.children(k);if(w.l.trace("Searching children of id ",k,A),A.length<1)return w.l.trace("This is a valid node",k),k;for(const P of A){const L=Mt(P,u);if(L)return w.l.trace("Found replacement for",k," => ",L),L}},ye=k=>!N[k]||!N[k].externalConnections?k:N[k]?N[k].id:k,q=(k,u)=>{if(!k||u>10){w.l.debug("Opting out, no graph ");return}else w.l.debug("Opting in, graph ");k.nodes().forEach(function(A){k.children(A).length>0&&(w.l.warn("Cluster identified",A," Replacement id in edges: ",Mt(A,k)),G[A]=Zt(A,k),N[A]={id:Mt(A,k),clusterData:k.node(A)})}),k.nodes().forEach(function(A){const P=k.children(A),L=k.edges();P.length>0?(w.l.debug("Cluster identified",A,G),L.forEach(O=>{if(O.v!==A&&O.w!==A){const ft=mt(O.v,A),rt=mt(O.w,A);ft^rt&&(w.l.warn("Edge: ",O," leaves cluster ",A),w.l.warn("Descendants of XXX ",A,": ",G[A]),N[A].externalConnections=!0)}})):w.l.debug("Not a cluster ",A,G)});for(let A of Object.keys(N)){const P=N[A].id,L=k.parent(P);L!==A&&N[L]&&!N[L].externalConnections&&(N[A].id=L)}k.edges().forEach(function(A){const P=k.edge(A);w.l.warn("Edge "+A.v+" -> "+A.w+": "+JSON.stringify(A)),w.l.warn("Edge "+A.v+" -> "+A.w+": "+JSON.stringify(k.edge(A)));let L=A.v,O=A.w;if(w.l.warn("Fix XXX",N,"ids:",A.v,A.w,"Translating: ",N[A.v]," --- ",N[A.w]),N[A.v]&&N[A.w]&&N[A.v]===N[A.w]){w.l.warn("Fixing and trixing link to self - removing XXX",A.v,A.w,A.name),w.l.warn("Fixing and trixing - removing XXX",A.v,A.w,A.name),L=ye(A.v),O=ye(A.w),k.removeEdge(A.v,A.w,A.name);const ft=A.w+"---"+A.v;k.setNode(ft,{domId:ft,id:ft,labelStyle:"",labelText:P.label,padding:0,shape:"labelRect",style:""});const rt=structuredClone(P),st=structuredClone(P);rt.label="",rt.arrowTypeEnd="none",st.label="",rt.fromCluster=A.v,st.toCluster=A.v,k.setEdge(L,ft,rt,A.name+"-cyclic-special"),k.setEdge(ft,O,st,A.name+"-cyclic-special")}else if(N[A.v]||N[A.w]){if(w.l.warn("Fixing and trixing - removing XXX",A.v,A.w,A.name),L=ye(A.v),O=ye(A.w),k.removeEdge(A.v,A.w,A.name),L!==A.v){const ft=k.parent(L);N[ft].externalConnections=!0,P.fromCluster=A.v}if(O!==A.w){const ft=k.parent(O);N[ft].externalConnections=!0,P.toCluster=A.w}w.l.warn("Fix Replacing with XXX",L,O,A.name),k.setEdge(L,O,P,A.name)}}),w.l.warn("Adjusted Graph",C.M(k)),At(k,0),w.l.trace(N)},At=(k,u)=>{if(w.l.warn("extractor - ",u,C.M(k),k.children("D")),u>10){w.l.error("Bailing out");return}let A=k.nodes(),P=!1;for(const L of A){const O=k.children(L);P=P||O.length>0}if(!P){w.l.debug("Done, no node has children",k.nodes());return}w.l.debug("Nodes = ",A,u);for(const L of A)if(w.l.debug("Extracting node",L,N,N[L]&&!N[L].externalConnections,!k.parent(L),k.node(L),k.children("D")," Depth ",u),!N[L])w.l.debug("Not a cluster",L,u);else if(!N[L].externalConnections&&k.children(L)&&k.children(L).length>0){w.l.warn("Cluster without external connections, without a parent and with children",L,u);let ft=k.graph().rankdir==="TB"?"LR":"TB";N[L]&&N[L].clusterData&&N[L].clusterData.dir&&(ft=N[L].clusterData.dir,w.l.warn("Fixing dir",N[L].clusterData.dir,ft));const rt=new ae.T({multigraph:!0,compound:!0}).setGraph({rankdir:ft,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});w.l.warn("Old graph before copy",C.M(k)),le(L,k,rt,L),k.setNode(L,{clusterNode:!0,id:L,clusterData:N[L].clusterData,labelText:N[L].labelText,graph:rt}),w.l.warn("New graph after copy node: (",L,")",C.M(rt)),w.l.debug("Old graph after copy",C.M(k))}else w.l.warn("Cluster ** ",L," **not meeting the criteria !externalConnections:",!N[L].externalConnections," no parent: ",!k.parent(L)," children ",k.children(L)&&k.children(L).length>0,k.children("D"),u),w.l.debug(N);A=k.nodes(),w.l.warn("New list of nodes",A);for(const L of A){const O=k.node(L);w.l.warn(" Now next level",L,O),O.clusterNode&&At(O.graph,u+1)}},kt=(k,u)=>{if(u.length===0)return[];let A=Object.assign(u);return u.forEach(P=>{const L=k.children(P),O=kt(k,L);A=[...A,...O]}),A},bt=k=>kt(k,k.children()),Tt={rect:(k,u)=>{w.l.info("Creating subgraph rect for ",u.id,u);const A=(0,w.c)(),P=k.insert("g").attr("class","cluster"+(u.class?" "+u.class:"")).attr("id",u.id),L=P.insert("rect",":first-child"),O=(0,w.m)(A.flowchart.htmlLabels),ft=P.insert("g").attr("class","cluster-label"),rt=u.labelType==="markdown"?(0,Ot.a)(ft,u.labelText,{style:u.labelStyle,useHtmlLabels:O}):ft.node().appendChild((0,U.c)(u.labelText,u.labelStyle,void 0,!0));let st=rt.getBBox();if((0,w.m)(A.flowchart.htmlLabels)){const z=rt.children[0],Q=(0,Rt.Ltv)(rt);st=z.getBoundingClientRect(),Q.attr("width",st.width),Q.attr("height",st.height)}const Bt=0*u.padding,Vt=Bt/2,ie=u.width<=st.width+Bt?st.width+Bt:u.width;u.width<=st.width+Bt?u.diff=(st.width-u.width)/2-u.padding/2:u.diff=-u.padding/2,w.l.trace("Data ",u,JSON.stringify(u)),L.attr("style",u.style).attr("rx",u.rx).attr("ry",u.ry).attr("x",u.x-ie/2).attr("y",u.y-u.height/2-Vt).attr("width",ie).attr("height",u.height+Bt);const{subGraphTitleTopMargin:de}=(0,U.g)(A);O?ft.attr("transform",`translate(${u.x-st.width/2}, ${u.y-u.height/2+de})`):ft.attr("transform",`translate(${u.x}, ${u.y-u.height/2+de})`);const ne=L.node().getBBox();return u.width=ne.width,u.height=ne.height,u.intersect=function(z){return(0,U.i)(u,z)},P},roundedWithTitle:(k,u)=>{const A=(0,w.c)(),P=k.insert("g").attr("class",u.classes).attr("id",u.id),L=P.insert("rect",":first-child"),O=P.insert("g").attr("class","cluster-label"),ft=P.append("rect"),rt=O.node().appendChild((0,U.c)(u.labelText,u.labelStyle,void 0,!0));let st=rt.getBBox();if((0,w.m)(A.flowchart.htmlLabels)){const z=rt.children[0],Q=(0,Rt.Ltv)(rt);st=z.getBoundingClientRect(),Q.attr("width",st.width),Q.attr("height",st.height)}st=rt.getBBox();const Bt=0*u.padding,Vt=Bt/2,ie=u.width<=st.width+u.padding?st.width+u.padding:u.width;u.width<=st.width+u.padding?u.diff=(st.width+u.padding*0-u.width)/2:u.diff=-u.padding/2,L.attr("class","outer").attr("x",u.x-ie/2-Vt).attr("y",u.y-u.height/2-Vt).attr("width",ie+Bt).attr("height",u.height+Bt),ft.attr("class","inner").attr("x",u.x-ie/2-Vt).attr("y",u.y-u.height/2-Vt+st.height-1).attr("width",ie+Bt).attr("height",u.height+Bt-st.height-3);const{subGraphTitleTopMargin:de}=(0,U.g)(A);O.attr("transform",`translate(${u.x-st.width/2}, ${u.y-u.height/2-u.padding/3+((0,w.m)(A.flowchart.htmlLabels)?5:3)+de})`);const ne=L.node().getBBox();return u.height=ne.height,u.intersect=function(z){return(0,U.i)(u,z)},P},noteGroup:(k,u)=>{const A=k.insert("g").attr("class","note-cluster").attr("id",u.id),P=A.insert("rect",":first-child"),L=0*u.padding,O=L/2;P.attr("rx",u.rx).attr("ry",u.ry).attr("x",u.x-u.width/2-O).attr("y",u.y-u.height/2-O).attr("width",u.width+L).attr("height",u.height+L).attr("fill","none");const ft=P.node().getBBox();return u.width=ft.width,u.height=ft.height,u.intersect=function(rt){return(0,U.i)(u,rt)},A},divider:(k,u)=>{const A=k.insert("g").attr("class",u.classes).attr("id",u.id),P=A.insert("rect",":first-child"),L=0*u.padding,O=L/2;P.attr("class","divider").attr("x",u.x-u.width/2-O).attr("y",u.y-u.height/2).attr("width",u.width+L).attr("height",u.height+L);const ft=P.node().getBBox();return u.width=ft.width,u.height=ft.height,u.diff=-u.padding/2,u.intersect=function(rt){return(0,U.i)(u,rt)},A}};let lt={};const te=(k,u)=>{w.l.trace("Inserting cluster");const A=u.shape||"rect";lt[u.id]=Tt[A](k,u)},he=()=>{lt={}},J=async(k,u,A,P,L,O)=>{w.l.info("Graph in recursive render: XXX",C.M(u),L);const ft=u.graph().rankdir;w.l.trace("Dir in recursive render - dir:",ft);const rt=k.insert("g").attr("class","root");u.nodes()?w.l.info("Recursive render XXX",u.nodes()):w.l.info("No nodes found for",u),u.edges().length>0&&w.l.trace("Recursive edges",u.edge(u.edges()[0]));const st=rt.insert("g").attr("class","clusters"),Bt=rt.insert("g").attr("class","edgePaths"),Vt=rt.insert("g").attr("class","edgeLabels"),ie=rt.insert("g").attr("class","nodes");await Promise.all(u.nodes().map(async function(z){const Q=u.node(z);if(L!==void 0){const be=JSON.parse(JSON.stringify(L.clusterData));w.l.info("Setting data for cluster XXX (",z,") ",be,L),u.setNode(L.id,be),u.parent(z)||(w.l.trace("Setting parent",z,L.id),u.setParent(z,L.id,be))}if(w.l.info("(Insert) Node XXX"+z+": "+JSON.stringify(u.node(z))),Q&&Q.clusterNode){w.l.info("Cluster identified",z,Q.width,u.node(z));const be=await J(ie,Q.graph,A,P,u.node(z),O),Ae=be.elem;(0,U.u)(Q,Ae),Q.diff=be.diff||0,w.l.info("Node bounds (abc123)",z,Q,Q.width,Q.x,Q.y),(0,U.s)(Ae,Q),w.l.warn("Recursive render complete ",Ae,Q)}else u.children(z).length>0?(w.l.info("Cluster - the non recursive path XXX",z,Q.id,Q,u),w.l.info(Mt(Q.id,u)),N[Q.id]={id:Mt(Q.id,u),node:Q}):(w.l.info("Node - the non recursive path",z,Q.id,Q),await(0,U.e)(ie,u.node(z),ft))})),u.edges().forEach(function(z){const Q=u.edge(z.v,z.w,z.name);w.l.info("Edge "+z.v+" -> "+z.w+": "+JSON.stringify(z)),w.l.info("Edge "+z.v+" -> "+z.w+": ",z," ",JSON.stringify(u.edge(z))),w.l.info("Fix",N,"ids:",z.v,z.w,"Translating: ",N[z.v],N[z.w]),(0,U.f)(Vt,Q)}),u.edges().forEach(function(z){w.l.info("Edge "+z.v+" -> "+z.w+": "+JSON.stringify(z))}),w.l.info("#############################################"),w.l.info("### Layout ###"),w.l.info("#############################################"),w.l.info(u),(0,E.Zp)(u),w.l.info("Graph after layout:",C.M(u));let de=0;const{subGraphTitleTotalMargin:ne}=(0,U.g)(O);return bt(u).forEach(function(z){const Q=u.node(z);w.l.info("Position "+z+": "+JSON.stringify(u.node(z))),w.l.info("Position "+z+": ("+Q.x,","+Q.y,") width: ",Q.width," height: ",Q.height),Q&&Q.clusterNode?(Q.y+=ne,(0,U.p)(Q)):u.children(z).length>0?(Q.height+=ne,te(st,Q),N[Q.id].node=Q):(Q.y+=ne/2,(0,U.p)(Q))}),u.edges().forEach(function(z){const Q=u.edge(z);w.l.info("Edge "+z.v+" -> "+z.w+": "+JSON.stringify(Q),Q),Q.points.forEach(Ae=>Ae.y+=ne/2);const be=(0,U.h)(Bt,z,Q,N,A,u,P);(0,U.j)(Q,be)}),u.nodes().forEach(function(z){const Q=u.node(z);w.l.info(z,Q.type,Q.diff),Q.type==="group"&&(de=Q.diff)}),{elem:rt,diff:de}},Z=async(k,u,A,P,L)=>{(0,U.a)(k,A,P,L),(0,U.b)(),(0,U.d)(),he(),ut(),w.l.warn("Graph at first:",JSON.stringify(C.M(u))),q(u),w.l.warn("Graph after:",JSON.stringify(C.M(u)));const O=(0,w.c)();await J(k,u,P,L,void 0,O)}},"./node_modules/mermaid/dist/styles-3ed67cfa.js":function(je,se,ot){ot.d(se,{a:function(){return ye},f:function(){return le}});var E=ot("./node_modules/dagre-d3-es/src/graphlib/index.js"),C=ot("./node_modules/d3/src/index.js"),U=ot("./node_modules/mermaid/dist/mermaid-f47111a7.js"),w=ot("./node_modules/mermaid/dist/index-fc10efb0.js"),ae=ot("./node_modules/dagre-d3-es/src/dagre-js/label/add-html-label.js"),Ot=ot("./node_modules/khroma/dist/methods/channel.js"),Rt=ot("./node_modules/khroma/dist/methods/rgba.js");const N={},G=function(q){const At=Object.keys(q);for(const kt of At)N[kt]=q[kt]},et=async function(q,At,kt,bt,Dt,Ht){const re=bt.select(`[id="${kt}"]`),vt=Object.keys(q);for(const Tt of vt){const lt=q[Tt];let te="default";lt.classes.length>0&&(te=lt.classes.join(" ")),te=te+" flowchart-label";const he=(0,U.k)(lt.styles);let J=lt.text!==void 0?lt.text:lt.id,Z;if(U.l.info("vertex",lt,lt.labelType),lt.labelType==="markdown")U.l.info("vertex",lt,lt.labelType);else if((0,U.m)((0,U.c)().flowchart.htmlLabels)){const P={label:J};Z=(0,ae.H)(re,P).node(),Z.parentNode.removeChild(Z)}else{const P=Dt.createElementNS("http://www.w3.org/2000/svg","text");P.setAttribute("style",he.labelStyle.replace("color:","fill:"));const L=J.split(U.e.lineBreakRegex);for(const O of L){const ft=Dt.createElementNS("http://www.w3.org/2000/svg","tspan");ft.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),ft.setAttribute("dy","1em"),ft.setAttribute("x","1"),ft.textContent=O,P.appendChild(ft)}Z=P}let k=0,u="";switch(lt.type){case"round":k=5,u="rect";break;case"square":u="rect";break;case"diamond":u="question";break;case"hexagon":u="hexagon";break;case"odd":u="rect_left_inv_arrow";break;case"lean_right":u="lean_right";break;case"lean_left":u="lean_left";break;case"trapezoid":u="trapezoid";break;case"inv_trapezoid":u="inv_trapezoid";break;case"odd_right":u="rect_left_inv_arrow";break;case"circle":u="circle";break;case"ellipse":u="ellipse";break;case"stadium":u="stadium";break;case"subroutine":u="subroutine";break;case"cylinder":u="cylinder";break;case"group":u="rect";break;case"doublecircle":u="doublecircle";break;default:u="rect"}const A=await(0,U.r)(J,(0,U.c)());At.setNode(lt.id,{labelStyle:he.labelStyle,shape:u,labelText:A,labelType:lt.labelType,rx:k,ry:k,class:te,style:he.style,id:lt.id,link:lt.link,linkTarget:lt.linkTarget,tooltip:Ht.db.getTooltip(lt.id)||"",domId:Ht.db.lookUpDomId(lt.id),haveCallback:lt.haveCallback,width:lt.type==="group"?500:void 0,dir:lt.dir,type:lt.type,props:lt.props,padding:(0,U.c)().flowchart.padding}),U.l.info("setNode",{labelStyle:he.labelStyle,labelType:lt.labelType,shape:u,labelText:A,rx:k,ry:k,class:te,style:he.style,id:lt.id,domId:Ht.db.lookUpDomId(lt.id),width:lt.type==="group"?500:void 0,type:lt.type,dir:lt.dir,props:lt.props,padding:(0,U.c)().flowchart.padding})}},ut=async function(q,At,kt){U.l.info("abc78 edges = ",q);let bt=0,Dt={},Ht,re;if(q.defaultStyle!==void 0){const vt=(0,U.k)(q.defaultStyle);Ht=vt.style,re=vt.labelStyle}for(const vt of q){bt++;const Tt="L-"+vt.start+"-"+vt.end;Dt[Tt]===void 0?(Dt[Tt]=0,U.l.info("abc78 new entry",Tt,Dt[Tt])):(Dt[Tt]++,U.l.info("abc78 new entry",Tt,Dt[Tt]));let lt=Tt+"-"+Dt[Tt];U.l.info("abc78 new link id to be used is",Tt,lt,Dt[Tt]);const te="LS-"+vt.start,he="LE-"+vt.end,J={style:"",labelStyle:""};switch(J.minlen=vt.length||1,vt.type==="arrow_open"?J.arrowhead="none":J.arrowhead="normal",J.arrowTypeStart="arrow_open",J.arrowTypeEnd="arrow_open",vt.type){case"double_arrow_cross":J.arrowTypeStart="arrow_cross";case"arrow_cross":J.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":J.arrowTypeStart="arrow_point";case"arrow_point":J.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":J.arrowTypeStart="arrow_circle";case"arrow_circle":J.arrowTypeEnd="arrow_circle";break}let Z="",k="";switch(vt.stroke){case"normal":Z="fill:none;",Ht!==void 0&&(Z=Ht),re!==void 0&&(k=re),J.thickness="normal",J.pattern="solid";break;case"dotted":J.thickness="normal",J.pattern="dotted",J.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":J.thickness="thick",J.pattern="solid",J.style="stroke-width: 3.5px;fill:none;";break;case"invisible":J.thickness="invisible",J.pattern="solid",J.style="stroke-width: 0;fill:none;";break}if(vt.style!==void 0){const u=(0,U.k)(vt.style);Z=u.style,k=u.labelStyle}J.style=J.style+=Z,J.labelStyle=J.labelStyle+=k,vt.interpolate!==void 0?J.curve=(0,U.n)(vt.interpolate,C.lUB):q.defaultInterpolate!==void 0?J.curve=(0,U.n)(q.defaultInterpolate,C.lUB):J.curve=(0,U.n)(N.curve,C.lUB),vt.text===void 0?vt.style!==void 0&&(J.arrowheadStyle="fill: #333"):(J.arrowheadStyle="fill: #333",J.labelpos="c"),J.labelType=vt.labelType,J.label=await(0,U.r)(vt.text.replace(U.e.lineBreakRegex,` +`),(0,U.c)()),vt.style===void 0&&(J.style=J.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),J.labelStyle=J.labelStyle.replace("color:","fill:"),J.id=lt,J.classes="flowchart-link "+te+" "+he,At.setEdge(vt.start,vt.end,J,bt)}},le={setConf:G,addVertices:et,addEdges:ut,getClasses:function(q,At){return At.db.getClasses()},draw:async function(q,At,kt,bt){U.l.info("Drawing flowchart");let Dt=bt.db.getDirection();Dt===void 0&&(Dt="TD");const{securityLevel:Ht,flowchart:re}=(0,U.c)(),vt=re.nodeSpacing||50,Tt=re.rankSpacing||50;let lt;Ht==="sandbox"&&(lt=(0,C.Ltv)("#i"+At));const te=Ht==="sandbox"?(0,C.Ltv)(lt.nodes()[0].contentDocument.body):(0,C.Ltv)("body"),he=Ht==="sandbox"?lt.nodes()[0].contentDocument:document,J=new E.T({multigraph:!0,compound:!0}).setGraph({rankdir:Dt,nodesep:vt,ranksep:Tt,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let Z;const k=bt.db.getSubGraphs();U.l.info("Subgraphs - ",k);for(let rt=k.length-1;rt>=0;rt--)Z=k[rt],U.l.info("Subgraph - ",Z),bt.db.addVertex(Z.id,{text:Z.title,type:Z.labelType},"group",void 0,Z.classes,Z.dir);const u=bt.db.getVertices(),A=bt.db.getEdges();U.l.info("Edges",A);let P=0;for(P=k.length-1;P>=0;P--){Z=k[P],(0,C.Ubm)("cluster").append("text");for(let rt=0;rt{const kt=Ot.A,bt=kt(q,"r"),Dt=kt(q,"g"),Ht=kt(q,"b");return Rt.A(bt,Dt,Ht,At)},ye=q=>`.label { + font-family: ${q.fontFamily}; + color: ${q.nodeTextColor||q.textColor}; + } + .cluster-label text { + fill: ${q.titleColor}; + } + .cluster-label span,p { + color: ${q.titleColor}; + } + + .label text,span,p { + fill: ${q.nodeTextColor||q.textColor}; + color: ${q.nodeTextColor||q.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${q.mainBkg}; + stroke: ${q.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .katex path { + fill: #000; + stroke: #000; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${q.arrowheadColor}; + } + + .edgePath .path { + stroke: ${q.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${q.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${q.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${q.edgeLabelBackground}; + fill: ${q.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${Zt(q.edgeLabelBackground,.5)}; + // background-color: + } + + .cluster rect { + fill: ${q.clusterBkg}; + stroke: ${q.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${q.titleColor}; + } + + .cluster span,p { + color: ${q.titleColor}; + } + /* .cluster div { + color: ${q.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${q.fontFamily}; + font-size: 12px; + background: ${q.tertiaryColor}; + border: 1px solid ${q.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${q.textColor}; + } +`},"./node_modules/mermaid/dist/styles-991ebdfc.js":function(je,se,ot){ot.d(se,{d:function(){return Ae},p:function(){return w},s:function(){return ss}});var E=ot("./node_modules/d3/src/index.js"),C=ot("./node_modules/mermaid/dist/mermaid-f47111a7.js"),U=function(){var f=function(ht,I,H,W){for(H=H||{},W=ht.length;W--;H[ht[W]]=I);return H},M=[1,17],it=[1,18],pt=[1,19],yt=[1,39],Yt=[1,40],fe=[1,25],me=[1,23],ke=[1,24],n=[1,31],F=[1,32],r=[1,33],b=[1,34],v=[1,35],j=[1,36],K=[1,26],xt=[1,27],$=[1,28],Lt=[1,29],tt=[1,43],ee=[1,30],wt=[1,42],Nt=[1,44],_t=[1,41],dt=[1,45],Ft=[1,9],ct=[1,8,9],Ee=[1,56],ge=[1,57],Te=[1,58],Wt=[1,59],Kt=[1,60],zt=[1,61],Jt=[1,62],s=[1,8,9,39],t=[1,74],e=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],a=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],c=[13,74,80,95,97,98],i=[13,64,65,74,80,95,97,98],o=[13,59,60,61,62,63,74,80,95,97,98],h=[1,93],g=[1,110],R=[1,108],m=[1,102],x=[1,103],D=[1,104],T=[1,105],Y=[1,106],nt=[1,107],S=[1,109],Et=[1,8,9,37,39,42],X=[1,8,9,21],It=[1,8,9,78],St=[1,8,9,21,73,74,78,80,81,82,83,84,85],ue={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:function(I,H,W,B,Pt,p,we){var y=p.length-1;switch(Pt){case 8:this.$=p[y-1];break;case 9:case 11:case 12:this.$=p[y];break;case 10:case 13:this.$=p[y-1]+p[y];break;case 14:case 15:this.$=p[y-1]+"~"+p[y]+"~";break;case 16:B.addRelation(p[y]);break;case 17:p[y-1].title=B.cleanupLabel(p[y]),B.addRelation(p[y-1]);break;case 27:this.$=p[y].trim(),B.setAccTitle(this.$);break;case 28:case 29:this.$=p[y].trim(),B.setAccDescription(this.$);break;case 30:B.addClassesToNamespace(p[y-3],p[y-1]);break;case 31:B.addClassesToNamespace(p[y-4],p[y-1]);break;case 32:this.$=p[y],B.addNamespace(p[y]);break;case 33:this.$=[p[y]];break;case 34:this.$=[p[y-1]];break;case 35:p[y].unshift(p[y-2]),this.$=p[y];break;case 37:B.setCssClass(p[y-2],p[y]);break;case 38:B.addMembers(p[y-3],p[y-1]);break;case 39:B.setCssClass(p[y-5],p[y-3]),B.addMembers(p[y-5],p[y-1]);break;case 40:this.$=p[y],B.addClass(p[y]);break;case 41:this.$=p[y-1],B.addClass(p[y-1]),B.setClassLabel(p[y-1],p[y]);break;case 42:B.addAnnotation(p[y],p[y-2]);break;case 43:this.$=[p[y]];break;case 44:p[y].push(p[y-1]),this.$=p[y];break;case 45:break;case 46:B.addMember(p[y-1],B.cleanupLabel(p[y]));break;case 47:break;case 48:break;case 49:this.$={id1:p[y-2],id2:p[y],relation:p[y-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:p[y-3],id2:p[y],relation:p[y-1],relationTitle1:p[y-2],relationTitle2:"none"};break;case 51:this.$={id1:p[y-3],id2:p[y],relation:p[y-2],relationTitle1:"none",relationTitle2:p[y-1]};break;case 52:this.$={id1:p[y-4],id2:p[y],relation:p[y-2],relationTitle1:p[y-3],relationTitle2:p[y-1]};break;case 53:B.addNote(p[y],p[y-1]);break;case 54:B.addNote(p[y]);break;case 55:B.setDirection("TB");break;case 56:B.setDirection("BT");break;case 57:B.setDirection("RL");break;case 58:B.setDirection("LR");break;case 59:this.$={type1:p[y-2],type2:p[y],lineType:p[y-1]};break;case 60:this.$={type1:"none",type2:p[y],lineType:p[y-1]};break;case 61:this.$={type1:p[y-1],type2:"none",lineType:p[y]};break;case 62:this.$={type1:"none",type2:"none",lineType:p[y]};break;case 63:this.$=B.relationType.AGGREGATION;break;case 64:this.$=B.relationType.EXTENSION;break;case 65:this.$=B.relationType.COMPOSITION;break;case 66:this.$=B.relationType.DEPENDENCY;break;case 67:this.$=B.relationType.LOLLIPOP;break;case 68:this.$=B.lineType.LINE;break;case 69:this.$=B.lineType.DOTTED_LINE;break;case 70:case 76:this.$=p[y-2],B.setClickEvent(p[y-1],p[y]);break;case 71:case 77:this.$=p[y-3],B.setClickEvent(p[y-2],p[y-1]),B.setTooltip(p[y-2],p[y]);break;case 72:this.$=p[y-2],B.setLink(p[y-1],p[y]);break;case 73:this.$=p[y-3],B.setLink(p[y-2],p[y-1],p[y]);break;case 74:this.$=p[y-3],B.setLink(p[y-2],p[y-1]),B.setTooltip(p[y-2],p[y]);break;case 75:this.$=p[y-4],B.setLink(p[y-3],p[y-2],p[y]),B.setTooltip(p[y-3],p[y-1]);break;case 78:this.$=p[y-3],B.setClickEvent(p[y-2],p[y-1],p[y]);break;case 79:this.$=p[y-4],B.setClickEvent(p[y-3],p[y-2],p[y-1]),B.setTooltip(p[y-3],p[y]);break;case 80:this.$=p[y-3],B.setLink(p[y-2],p[y]);break;case 81:this.$=p[y-4],B.setLink(p[y-3],p[y-1],p[y]);break;case 82:this.$=p[y-4],B.setLink(p[y-3],p[y-1]),B.setTooltip(p[y-3],p[y]);break;case 83:this.$=p[y-5],B.setLink(p[y-4],p[y-2],p[y]),B.setTooltip(p[y-4],p[y-1]);break;case 84:this.$=p[y-2],B.setCssStyle(p[y-1],p[y]);break;case 85:B.setCssClass(p[y-1],p[y]);break;case 86:this.$=[p[y]];break;case 87:p[y-2].push(p[y]),this.$=p[y-2];break;case 89:this.$=p[y-1]+p[y];break}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:M,33:it,35:pt,36:21,40:yt,41:22,44:Yt,45:fe,47:me,48:ke,50:n,52:F,53:r,54:b,55:v,56:j,66:K,67:xt,69:$,73:Lt,74:tt,76:ee,80:wt,95:Nt,97:_t,98:dt},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},f(Ft,[2,5],{8:[1,46]}),{8:[1,47]},f(ct,[2,16],{21:[1,48]}),f(ct,[2,18]),f(ct,[2,19]),f(ct,[2,20]),f(ct,[2,21]),f(ct,[2,22]),f(ct,[2,23]),f(ct,[2,24]),f(ct,[2,25]),f(ct,[2,26]),{32:[1,49]},{34:[1,50]},f(ct,[2,29]),f(ct,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:Ee,60:ge,61:Te,62:Wt,63:Kt,64:zt,65:Jt}),{37:[1,63]},f(s,[2,36],{37:[1,65],42:[1,64]}),f(ct,[2,47]),f(ct,[2,48]),{16:66,74:tt,80:wt,95:Nt,97:_t},{16:37,17:67,18:38,74:tt,80:wt,95:Nt,97:_t,98:dt},{16:37,17:68,18:38,74:tt,80:wt,95:Nt,97:_t,98:dt},{16:37,17:69,18:38,74:tt,80:wt,95:Nt,97:_t,98:dt},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:tt,80:wt,95:Nt,97:_t,98:dt},{13:t,51:73},f(ct,[2,55]),f(ct,[2,56]),f(ct,[2,57]),f(ct,[2,58]),f(e,[2,11],{16:37,18:38,17:75,19:[1,76],74:tt,80:wt,95:Nt,97:_t,98:dt}),f(e,[2,12],{19:[1,77]}),{15:78,16:79,74:tt,80:wt,95:Nt,97:_t},{16:37,17:80,18:38,74:tt,80:wt,95:Nt,97:_t,98:dt},f(a,[2,112]),f(a,[2,113]),f(a,[2,114]),f(a,[2,115]),f([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),f(Ft,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:M,33:it,35:pt,40:yt,44:Yt,45:fe,47:me,48:ke,50:n,52:F,53:r,54:b,55:v,56:j,66:K,67:xt,69:$,73:Lt,74:tt,76:ee,80:wt,95:Nt,97:_t,98:dt}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:M,33:it,35:pt,36:21,40:yt,41:22,44:Yt,45:fe,47:me,48:ke,50:n,52:F,53:r,54:b,55:v,56:j,66:K,67:xt,69:$,73:Lt,74:tt,76:ee,80:wt,95:Nt,97:_t,98:dt},f(ct,[2,17]),f(ct,[2,27]),f(ct,[2,28]),{13:[1,84],16:37,17:83,18:38,74:tt,80:wt,95:Nt,97:_t,98:dt},{49:85,57:54,58:55,59:Ee,60:ge,61:Te,62:Wt,63:Kt,64:zt,65:Jt},f(ct,[2,46]),{58:86,64:zt,65:Jt},f(c,[2,62],{57:87,59:Ee,60:ge,61:Te,62:Wt,63:Kt}),f(i,[2,63]),f(i,[2,64]),f(i,[2,65]),f(i,[2,66]),f(i,[2,67]),f(o,[2,68]),f(o,[2,69]),{8:[1,89],23:90,38:88,41:22,44:Yt},{16:91,74:tt,80:wt,95:Nt,97:_t},{43:92,47:h},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:g,73:R,74:m,75:99,77:100,79:101,80:x,81:D,82:T,83:Y,84:nt,85:S},{74:[1,111]},{13:t,51:112},f(ct,[2,54]),f(ct,[2,117]),f(e,[2,13]),f(e,[2,14]),f(e,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:tt,80:wt,95:Nt,97:_t},f(Et,[2,40],{11:114,12:[1,115]}),f(Ft,[2,7]),{9:[1,116]},f(X,[2,49]),{16:37,17:117,18:38,74:tt,80:wt,95:Nt,97:_t,98:dt},{13:[1,119],16:37,17:118,18:38,74:tt,80:wt,95:Nt,97:_t,98:dt},f(c,[2,61],{57:120,59:Ee,60:ge,61:Te,62:Wt,63:Kt}),f(c,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:Yt},{8:[1,123],39:[2,33]},f(s,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:h},{16:37,17:127,18:38,74:tt,80:wt,95:Nt,97:_t,98:dt},f(ct,[2,70],{13:[1,128]}),f(ct,[2,72],{13:[1,130],68:[1,129]}),f(ct,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},f(ct,[2,84],{78:[1,134]}),f(It,[2,86],{79:135,21:g,73:R,74:m,80:x,81:D,82:T,83:Y,84:nt,85:S}),f(St,[2,88]),f(St,[2,90]),f(St,[2,91]),f(St,[2,92]),f(St,[2,93]),f(St,[2,94]),f(St,[2,95]),f(St,[2,96]),f(St,[2,97]),f(St,[2,98]),f(ct,[2,85]),f(ct,[2,53]),{37:[2,10]},f(Et,[2,41]),{13:[1,136]},{1:[2,4]},f(X,[2,51]),f(X,[2,50]),{16:37,17:137,18:38,74:tt,80:wt,95:Nt,97:_t,98:dt},f(c,[2,59]),f(ct,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:Yt},{43:140,47:h},f(s,[2,38]),{39:[2,44]},f(ct,[2,42]),f(ct,[2,71]),f(ct,[2,73]),f(ct,[2,74],{68:[1,141]}),f(ct,[2,77]),f(ct,[2,78],{13:[1,142]}),f(ct,[2,80],{13:[1,144],68:[1,143]}),{21:g,73:R,74:m,77:145,79:101,80:x,81:D,82:T,83:Y,84:nt,85:S},f(St,[2,89]),{14:[1,146]},f(X,[2,52]),f(ct,[2,31]),{39:[2,35]},{39:[1,147]},f(ct,[2,75]),f(ct,[2,79]),f(ct,[2,81]),f(ct,[2,82],{68:[1,148]}),f(It,[2,87],{79:135,21:g,73:R,74:m,80:x,81:D,82:T,83:Y,84:nt,85:S}),f(Et,[2,8]),f(s,[2,39]),f(ct,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:function(I,H){if(H.recoverable)this.trace(I);else{var W=new Error(I);throw W.hash=H,W}},parse:function(I){var H=this,W=[0],B=[],Pt=[null],p=[],we=this.table,y="",Ue=0,Re=0,Ye=2,Be=1,as=p.slice.call(arguments,1),qt=Object.create(this.lexer),Fe={yy:{}};for(var Ce in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ce)&&(Fe.yy[Ce]=this.yy[Ce]);qt.setInput(I,Fe.yy),Fe.yy.lexer=qt,Fe.yy.parser=this,typeof qt.yylloc>"u"&&(qt.yylloc={});var hs=qt.yylloc;p.push(hs);var xs=qt.options&&qt.options.ranges;typeof Fe.yy.parseError=="function"?this.parseError=Fe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _s(){var Ie;return Ie=B.pop()||qt.lex()||Be,typeof Ie!="number"&&(Ie instanceof Array&&(B=Ie,Ie=B.pop()),Ie=H.symbols_[Ie]||Ie),Ie}for(var _e,Ge,Le,ds,We={},ls,Me,bs,cs;;){if(Ge=W[W.length-1],this.defaultActions[Ge]?Le=this.defaultActions[Ge]:((_e===null||typeof _e>"u")&&(_e=_s()),Le=we[Ge]&&we[Ge][_e]),typeof Le>"u"||!Le.length||!Le[0]){var fs="";cs=[];for(ls in we[Ge])this.terminals_[ls]&&ls>Ye&&cs.push("'"+this.terminals_[ls]+"'");qt.showPosition?fs="Parse error on line "+(Ue+1)+`: +`+qt.showPosition()+` +Expecting `+cs.join(", ")+", got '"+(this.terminals_[_e]||_e)+"'":fs="Parse error on line "+(Ue+1)+": Unexpected "+(_e==Be?"end of input":"'"+(this.terminals_[_e]||_e)+"'"),this.parseError(fs,{text:qt.match,token:this.terminals_[_e]||_e,line:qt.yylineno,loc:hs,expected:cs})}if(Le[0]instanceof Array&&Le.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ge+", token: "+_e);switch(Le[0]){case 1:W.push(_e),Pt.push(qt.yytext),p.push(qt.yylloc),W.push(Le[1]),_e=null,Re=qt.yyleng,y=qt.yytext,Ue=qt.yylineno,hs=qt.yylloc;break;case 2:if(Me=this.productions_[Le[1]][1],We.$=Pt[Pt.length-Me],We._$={first_line:p[p.length-(Me||1)].first_line,last_line:p[p.length-1].last_line,first_column:p[p.length-(Me||1)].first_column,last_column:p[p.length-1].last_column},xs&&(We._$.range=[p[p.length-(Me||1)].range[0],p[p.length-1].range[1]]),ds=this.performAction.apply(We,[y,Re,Ue,Fe.yy,Le[1],Pt,p].concat(as)),typeof ds<"u")return ds;Me&&(W=W.slice(0,-1*Me*2),Pt=Pt.slice(0,-1*Me),p=p.slice(0,-1*Me)),W.push(this.productions_[Le[1]][0]),Pt.push(We.$),p.push(We._$),bs=we[W[W.length-2]][W[W.length-1]],W.push(bs);break;case 3:return!0}}return!0}},pe=function(){var ht={EOF:1,parseError:function(H,W){if(this.yy.parser)this.yy.parser.parseError(H,W);else throw new Error(H)},setInput:function(I,H){return this.yy=H||this.yy||{},this._input=I,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var I=this._input[0];this.yytext+=I,this.yyleng++,this.offset++,this.match+=I,this.matched+=I;var H=I.match(/(?:\r\n?|\n).*/g);return H?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),I},unput:function(I){var H=I.length,W=I.split(/(?:\r\n?|\n)/g);this._input=I+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-H),this.offset-=H;var B=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),W.length-1&&(this.yylineno-=W.length-1);var Pt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:W?(W.length===B.length?this.yylloc.first_column:0)+B[B.length-W.length].length-W[0].length:this.yylloc.first_column-H},this.options.ranges&&(this.yylloc.range=[Pt[0],Pt[0]+this.yyleng-H]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(I){this.unput(this.match.slice(I))},pastInput:function(){var I=this.matched.substr(0,this.matched.length-this.match.length);return(I.length>20?"...":"")+I.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var I=this.match;return I.length<20&&(I+=this._input.substr(0,20-I.length)),(I.substr(0,20)+(I.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var I=this.pastInput(),H=new Array(I.length+1).join("-");return I+this.upcomingInput()+` +`+H+"^"},test_match:function(I,H){var W,B,Pt;if(this.options.backtrack_lexer&&(Pt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Pt.yylloc.range=this.yylloc.range.slice(0))),B=I[0].match(/(?:\r\n?|\n).*/g),B&&(this.yylineno+=B.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:B?B[B.length-1].length-B[B.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+I[0].length},this.yytext+=I[0],this.match+=I[0],this.matches=I,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(I[0].length),this.matched+=I[0],W=this.performAction.call(this,this.yy,this,H,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),W)return W;if(this._backtrack){for(var p in Pt)this[p]=Pt[p];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var I,H,W,B;this._more||(this.yytext="",this.match="");for(var Pt=this._currentRules(),p=0;pH[0].length)){if(H=W,B=p,this.options.backtrack_lexer){if(I=this.test_match(W,Pt[p]),I!==!1)return I;if(this._backtrack){H=!1;continue}else return!1}else if(!this.options.flex)break}return H?(I=this.test_match(H,Pt[B]),I!==!1?I:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var H=this.next();return H||this.lex()},begin:function(H){this.conditionStack.push(H)},popState:function(){var H=this.conditionStack.length-1;return H>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(H){return H=this.conditionStack.length-1-Math.abs(H||0),H>=0?this.conditionStack[H]:"INITIAL"},pushState:function(H){this.begin(H)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(H,W,B,Pt){switch(B){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:break;case 5:break;case 6:return this.begin("acc_title"),31;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),33;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 70;case 22:this.popState();break;case 23:return 71;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 73;case 28:return this.begin("namespace"),40;case 29:return this.popState(),8;case 30:break;case 31:return this.begin("namespace-body"),37;case 32:return this.popState(),39;case 33:return"EOF_IN_STRUCT";case 34:return 8;case 35:break;case 36:return"EDGE_STATE";case 37:return this.begin("class"),44;case 38:return this.popState(),8;case 39:break;case 40:return this.popState(),this.popState(),39;case 41:return this.begin("class-body"),37;case 42:return this.popState(),39;case 43:return"EOF_IN_STRUCT";case 44:return"EDGE_STATE";case 45:return"OPEN_IN_STRUCT";case 46:break;case 47:return"MEMBER";case 48:return 76;case 49:return 66;case 50:return 67;case 51:return 69;case 52:return 50;case 53:return 52;case 54:return 45;case 55:return 46;case 56:return 72;case 57:this.popState();break;case 58:return"GENERICTYPE";case 59:this.begin("generic");break;case 60:this.popState();break;case 61:return"BQUOTE_STR";case 62:this.begin("bqstring");break;case 63:return 68;case 64:return 68;case 65:return 68;case 66:return 68;case 67:return 60;case 68:return 60;case 69:return 62;case 70:return 62;case 71:return 61;case 72:return 59;case 73:return 63;case 74:return 64;case 75:return 65;case 76:return 21;case 77:return 42;case 78:return 95;case 79:return"DOT";case 80:return"PLUS";case 81:return 81;case 82:return 78;case 83:return 84;case 84:return 84;case 85:return 85;case 86:return"EQUALS";case 87:return"EQUALS";case 88:return 74;case 89:return 12;case 90:return 14;case 91:return"PUNCTUATION";case 92:return 80;case 93:return 97;case 94:return 83;case 95:return 83;case 96:return 9}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,32,33,34,35,36,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},namespace:{rules:[26,28,29,30,31,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},"class-body":{rules:[26,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},class:{rules:[26,38,39,40,41,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr:{rules:[9,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_title:{rules:[7,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_args:{rules:[22,23,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_name:{rules:[19,20,21,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},href:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},struct:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},generic:{rules:[26,48,49,50,51,52,53,54,55,56,57,58,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},bqstring:{rules:[26,48,49,50,51,52,53,54,55,56,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},string:{rules:[24,25,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96],inclusive:!0}}};return ht}();ue.lexer=pe;function Se(){this.yy={}}return Se.prototype=ue,ue.Parser=Se,new Se}();U.parser=U;const w=U,ae=["#","+","~","-",""];class Ot{constructor(M,it){this.memberType=it,this.visibility="",this.classifier="";const pt=(0,C.d)(M,(0,C.c)());this.parseMember(pt)}getDisplayDetails(){let M=this.visibility+(0,C.x)(this.id);this.memberType==="method"&&(M+=`(${(0,C.x)(this.parameters.trim())})`,this.returnType&&(M+=" : "+(0,C.x)(this.returnType))),M=M.trim();const it=this.parseClassifier();return{displayText:M,cssStyle:it}}parseMember(M){let it="";if(this.memberType==="method"){const pt=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/,yt=M.match(pt);if(yt){const Yt=yt[1]?yt[1].trim():"";if(ae.includes(Yt)&&(this.visibility=Yt),this.id=yt[2].trim(),this.parameters=yt[3]?yt[3].trim():"",it=yt[4]?yt[4].trim():"",this.returnType=yt[5]?yt[5].trim():"",it===""){const fe=this.returnType.substring(this.returnType.length-1);fe.match(/[$*]/)&&(it=fe,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const pt=M.length,yt=M.substring(0,1),Yt=M.substring(pt-1);ae.includes(yt)&&(this.visibility=yt),Yt.match(/[$*]/)&&(it=Yt),this.id=M.substring(this.visibility===""?0:1,it===""?pt:pt-1)}this.classifier=it}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}const Rt="classId-";let N=[],G={},et=[],ut=0,mt={},Qt=0,le=[];const Zt=f=>C.e.sanitizeText(f,(0,C.c)()),Mt=function(f){const M=C.e.sanitizeText(f,(0,C.c)());let it="",pt=M;if(M.indexOf("~")>0){const yt=M.split("~");pt=Zt(yt[0]),it=Zt(yt[1])}return{className:pt,type:it}},ye=function(f,M){const it=C.e.sanitizeText(f,(0,C.c)());M&&(M=Zt(M));const{className:pt}=Mt(it);G[pt].label=M},q=function(f){const M=C.e.sanitizeText(f,(0,C.c)()),{className:it,type:pt}=Mt(M);if(Object.hasOwn(G,it))return;const yt=C.e.sanitizeText(it,(0,C.c)());G[yt]={id:yt,type:pt,label:yt,cssClasses:[],methods:[],members:[],annotations:[],styles:[],domId:Rt+yt+"-"+ut},ut++},At=function(f){const M=C.e.sanitizeText(f,(0,C.c)());if(M in G)return G[M].domId;throw new Error("Class not found: "+M)},kt=function(){N=[],G={},et=[],le=[],le.push(st),mt={},Qt=0,(0,C.v)()},bt=function(f){return G[f]},Dt=function(){return G},Ht=function(){return N},re=function(){return et},vt=function(f){C.l.debug("Adding relation: "+JSON.stringify(f)),q(f.id1),q(f.id2),f.id1=Mt(f.id1).className,f.id2=Mt(f.id2).className,f.relationTitle1=C.e.sanitizeText(f.relationTitle1.trim(),(0,C.c)()),f.relationTitle2=C.e.sanitizeText(f.relationTitle2.trim(),(0,C.c)()),N.push(f)},Tt=function(f,M){const it=Mt(f).className;G[it].annotations.push(M)},lt=function(f,M){q(f);const it=Mt(f).className,pt=G[it];if(typeof M=="string"){const yt=M.trim();yt.startsWith("<<")&&yt.endsWith(">>")?pt.annotations.push(Zt(yt.substring(2,yt.length-2))):yt.indexOf(")")>0?pt.methods.push(new Ot(yt,"method")):yt&&pt.members.push(new Ot(yt,"attribute"))}},te=function(f,M){Array.isArray(M)&&(M.reverse(),M.forEach(it=>lt(f,it)))},he=function(f,M){const it={id:`note${et.length}`,class:M,text:f};et.push(it)},J=function(f){return f.startsWith(":")&&(f=f.substring(1)),Zt(f.trim())},Z=function(f,M){f.split(",").forEach(function(it){let pt=it;it[0].match(/\d/)&&(pt=Rt+pt),G[pt]!==void 0&&G[pt].cssClasses.push(M)})},k=function(f,M){f.split(",").forEach(function(it){M!==void 0&&(G[it].tooltip=Zt(M))})},u=function(f,M){return M?mt[M].classes[f].tooltip:G[f].tooltip},A=function(f,M,it){const pt=(0,C.c)();f.split(",").forEach(function(yt){let Yt=yt;yt[0].match(/\d/)&&(Yt=Rt+Yt),G[Yt]!==void 0&&(G[Yt].link=C.u.formatUrl(M,pt),pt.securityLevel==="sandbox"?G[Yt].linkTarget="_top":typeof it=="string"?G[Yt].linkTarget=Zt(it):G[Yt].linkTarget="_blank")}),Z(f,"clickable")},P=function(f,M,it){f.split(",").forEach(function(pt){L(pt,M,it),G[pt].haveCallback=!0}),Z(f,"clickable")},L=function(f,M,it){const pt=C.e.sanitizeText(f,(0,C.c)());if((0,C.c)().securityLevel!=="loose"||M===void 0)return;const Yt=pt;if(G[Yt]!==void 0){const fe=At(Yt);let me=[];if(typeof it=="string"){me=it.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let ke=0;ke")),yt.classed("hover",!0)}).on("mouseout",function(){M.transition().duration(500).style("opacity",0),(0,E.Ltv)(this).classed("hover",!1)})};le.push(st);let Bt="TB";const Vt=()=>Bt,ie=f=>{Bt=f},de=function(f){mt[f]===void 0&&(mt[f]={id:f,classes:{},children:{},domId:Rt+f+"-"+Qt},Qt++)},ne=function(f){return mt[f]},z=function(){return mt},Q=function(f,M){if(mt[f]!==void 0)for(const it of M){const{className:pt}=Mt(it);G[pt].parent=f,mt[f].classes[pt]=G[pt]}},be=function(f,M){const it=G[f];if(!(!M||!it))for(const pt of M)pt.includes(",")?it.styles.push(...pt.split(",")):it.styles.push(pt)},Ae={setAccTitle:C.s,getAccTitle:C.g,getAccDescription:C.a,setAccDescription:C.b,getConfig:()=>(0,C.c)().class,addClass:q,bindFunctions:O,clear:kt,getClass:bt,getClasses:Dt,getNotes:re,addAnnotation:Tt,addNote:he,getRelations:Ht,addRelation:vt,getDirection:Vt,setDirection:ie,addMember:lt,addMembers:te,cleanupLabel:J,lineType:ft,relationType:rt,setClickEvent:P,setCssClass:Z,setLink:A,getTooltip:u,setTooltip:k,lookUpDomId:At,setDiagramTitle:C.q,getDiagramTitle:C.t,setClassLabel:ye,addNamespace:de,addClassesToNamespace:Q,getNamespace:ne,getNamespaces:z,setCssStyle:be},ss=f=>`g.classGroup text { + fill: ${f.nodeBorder||f.classText}; + stroke: none; + font-family: ${f.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + +.nodeLabel, .edgeLabel { + color: ${f.classText}; +} +.edgeLabel .label rect { + fill: ${f.mainBkg}; +} +.label text { + fill: ${f.classText}; +} +.edgeLabel .label span { + background: ${f.mainBkg}; +} + +.classTitle { + font-weight: bolder; +} +.node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${f.mainBkg}; + stroke: ${f.nodeBorder}; + stroke-width: 1px; + } + + +.divider { + stroke: ${f.nodeBorder}; + stroke-width: 1; +} + +g.clickable { + cursor: pointer; +} + +g.classGroup rect { + fill: ${f.mainBkg}; + stroke: ${f.nodeBorder}; +} + +g.classGroup line { + stroke: ${f.nodeBorder}; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: ${f.mainBkg}; + opacity: 0.5; +} + +.classLabel .label { + fill: ${f.nodeBorder}; + font-size: 10px; +} + +.relation { + stroke: ${f.lineColor}; + stroke-width: 1; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +#compositionStart, .composition { + fill: ${f.lineColor} !important; + stroke: ${f.lineColor} !important; + stroke-width: 1; +} + +#compositionEnd, .composition { + fill: ${f.lineColor} !important; + stroke: ${f.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${f.lineColor} !important; + stroke: ${f.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${f.lineColor} !important; + stroke: ${f.lineColor} !important; + stroke-width: 1; +} + +#extensionStart, .extension { + fill: transparent !important; + stroke: ${f.lineColor} !important; + stroke-width: 1; +} + +#extensionEnd, .extension { + fill: transparent !important; + stroke: ${f.lineColor} !important; + stroke-width: 1; +} + +#aggregationStart, .aggregation { + fill: transparent !important; + stroke: ${f.lineColor} !important; + stroke-width: 1; +} + +#aggregationEnd, .aggregation { + fill: transparent !important; + stroke: ${f.lineColor} !important; + stroke-width: 1; +} + +#lollipopStart, .lollipop { + fill: ${f.mainBkg} !important; + stroke: ${f.lineColor} !important; + stroke-width: 1; +} + +#lollipopEnd, .lollipop { + fill: ${f.mainBkg} !important; + stroke: ${f.lineColor} !important; + stroke-width: 1; +} + +.edgeTerminals { + font-size: 11px; + line-height: initial; +} + +.classTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${f.textColor}; +} +`},"./node_modules/mermaid/dist/styles-d20c7d72.js":function(je,se,ot){ot.d(se,{D:function(){return et},S:function(){return Rt},a:function(){return ut},b:function(){return Ot},c:function(){return ae},d:function(){return ke},p:function(){return U},s:function(){return F}});var E=ot("./node_modules/mermaid/dist/mermaid-f47111a7.js"),C=function(){var r=function(m,x,D,T){for(D=D||{},T=m.length;T--;D[m[T]]=x);return D},b=[1,2],v=[1,3],j=[1,4],K=[2,4],xt=[1,9],$=[1,11],Lt=[1,15],tt=[1,16],ee=[1,17],wt=[1,18],Nt=[1,30],_t=[1,19],dt=[1,20],Ft=[1,21],ct=[1,22],Ee=[1,23],ge=[1,25],Te=[1,26],Wt=[1,27],Kt=[1,28],zt=[1,29],Jt=[1,32],s=[1,33],t=[1,34],e=[1,35],a=[1,31],c=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],i=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],o=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],h={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"-->":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",13:"DESCR",14:"-->",15:"HIDE_EMPTY",16:"scale",17:"WIDTH",18:"COMPOSIT_STATE",19:"STRUCT_START",20:"STRUCT_STOP",21:"STATE_DESCR",22:"AS",23:"ID",24:"FORK",25:"JOIN",26:"CHOICE",27:"CONCURRENT",28:"note",30:"NOTE_TEXT",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"classDef",38:"CLASSDEF_ID",39:"CLASSDEF_STYLEOPTS",40:"DEFAULT",41:"class",42:"CLASSENTITY_IDS",43:"STYLECLASS",44:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(x,D,T,Y,nt,S,Et){var X=S.length-1;switch(nt){case 3:return Y.setRootDoc(S[X]),S[X];case 4:this.$=[];break;case 5:S[X]!="nl"&&(S[X-1].push(S[X]),this.$=S[X-1]);break;case 6:case 7:this.$=S[X];break;case 8:this.$="nl";break;case 11:this.$=S[X];break;case 12:const pe=S[X-1];pe.description=Y.trimColon(S[X]),this.$=pe;break;case 13:this.$={stmt:"relation",state1:S[X-2],state2:S[X]};break;case 14:const Se=Y.trimColon(S[X]);this.$={stmt:"relation",state1:S[X-3],state2:S[X-1],description:Se};break;case 18:this.$={stmt:"state",id:S[X-3],type:"default",description:"",doc:S[X-1]};break;case 19:var It=S[X],St=S[X-2].trim();if(S[X].match(":")){var ue=S[X].split(":");It=ue[0],St=[St,ue[1]]}this.$={stmt:"state",id:It,type:"default",description:St};break;case 20:this.$={stmt:"state",id:S[X-3],type:"default",description:S[X-5],doc:S[X-1]};break;case 21:this.$={stmt:"state",id:S[X],type:"fork"};break;case 22:this.$={stmt:"state",id:S[X],type:"join"};break;case 23:this.$={stmt:"state",id:S[X],type:"choice"};break;case 24:this.$={stmt:"state",id:Y.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:S[X-1].trim(),note:{position:S[X-2].trim(),text:S[X].trim()}};break;case 28:this.$=S[X].trim(),Y.setAccTitle(this.$);break;case 29:case 30:this.$=S[X].trim(),Y.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:S[X-1].trim(),classes:S[X].trim()};break;case 33:this.$={stmt:"applyClass",id:S[X-1].trim(),styleClass:S[X].trim()};break;case 34:Y.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:Y.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:Y.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:Y.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:S[X].trim(),type:"default",description:""};break;case 42:this.$={stmt:"state",id:S[X-2].trim(),classes:[S[X].trim()],type:"default",description:""};break;case 43:this.$={stmt:"state",id:S[X-2].trim(),classes:[S[X].trim()],type:"default",description:""};break}},table:[{3:1,4:b,5:v,6:j},{1:[3]},{3:5,4:b,5:v,6:j},{3:6,4:b,5:v,6:j},r([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],K,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:xt,5:$,8:8,9:10,10:12,11:13,12:14,15:Lt,16:tt,18:ee,21:wt,23:Nt,24:_t,25:dt,26:Ft,27:ct,28:Ee,31:24,32:ge,34:Te,36:Wt,37:Kt,41:zt,44:Jt,45:s,46:t,47:e,50:a},r(c,[2,5]),{9:36,10:12,11:13,12:14,15:Lt,16:tt,18:ee,21:wt,23:Nt,24:_t,25:dt,26:Ft,27:ct,28:Ee,31:24,32:ge,34:Te,36:Wt,37:Kt,41:zt,44:Jt,45:s,46:t,47:e,50:a},r(c,[2,7]),r(c,[2,8]),r(c,[2,9]),r(c,[2,10]),r(c,[2,11],{13:[1,37],14:[1,38]}),r(c,[2,15]),{17:[1,39]},r(c,[2,17],{19:[1,40]}),{22:[1,41]},r(c,[2,21]),r(c,[2,22]),r(c,[2,23]),r(c,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},r(c,[2,27]),{33:[1,46]},{35:[1,47]},r(c,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},r(i,[2,40],{51:[1,51]}),r(i,[2,41],{51:[1,52]}),r(c,[2,34]),r(c,[2,35]),r(c,[2,36]),r(c,[2,37]),r(c,[2,6]),r(c,[2,12]),{12:53,23:Nt,50:a},r(c,[2,16]),r(o,K,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},r(c,[2,28]),r(c,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},r(c,[2,13],{13:[1,63]}),{4:xt,5:$,8:8,9:10,10:12,11:13,12:14,15:Lt,16:tt,18:ee,20:[1,64],21:wt,23:Nt,24:_t,25:dt,26:Ft,27:ct,28:Ee,31:24,32:ge,34:Te,36:Wt,37:Kt,41:zt,44:Jt,45:s,46:t,47:e,50:a},r(c,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},r(c,[2,31]),r(c,[2,32]),r(c,[2,33]),r(i,[2,42]),r(i,[2,43]),r(c,[2,14]),r(c,[2,18]),r(o,K,{7:68}),r(c,[2,25]),r(c,[2,26]),{4:xt,5:$,8:8,9:10,10:12,11:13,12:14,15:Lt,16:tt,18:ee,20:[1,69],21:wt,23:Nt,24:_t,25:dt,26:Ft,27:ct,28:Ee,31:24,32:ge,34:Te,36:Wt,37:Kt,41:zt,44:Jt,45:s,46:t,47:e,50:a},r(c,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(x,D){if(D.recoverable)this.trace(x);else{var T=new Error(x);throw T.hash=D,T}},parse:function(x){var D=this,T=[0],Y=[],nt=[null],S=[],Et=this.table,X="",It=0,St=0,ue=2,pe=1,Se=S.slice.call(arguments,1),ht=Object.create(this.lexer),I={yy:{}};for(var H in this.yy)Object.prototype.hasOwnProperty.call(this.yy,H)&&(I.yy[H]=this.yy[H]);ht.setInput(x,I.yy),I.yy.lexer=ht,I.yy.parser=this,typeof ht.yylloc>"u"&&(ht.yylloc={});var W=ht.yylloc;S.push(W);var B=ht.options&&ht.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pt(){var Ce;return Ce=Y.pop()||ht.lex()||pe,typeof Ce!="number"&&(Ce instanceof Array&&(Y=Ce,Ce=Y.pop()),Ce=D.symbols_[Ce]||Ce),Ce}for(var p,we,y,Ue,Re={},Ye,Be,as,qt;;){if(we=T[T.length-1],this.defaultActions[we]?y=this.defaultActions[we]:((p===null||typeof p>"u")&&(p=Pt()),y=Et[we]&&Et[we][p]),typeof y>"u"||!y.length||!y[0]){var Fe="";qt=[];for(Ye in Et[we])this.terminals_[Ye]&&Ye>ue&&qt.push("'"+this.terminals_[Ye]+"'");ht.showPosition?Fe="Parse error on line "+(It+1)+`: +`+ht.showPosition()+` +Expecting `+qt.join(", ")+", got '"+(this.terminals_[p]||p)+"'":Fe="Parse error on line "+(It+1)+": Unexpected "+(p==pe?"end of input":"'"+(this.terminals_[p]||p)+"'"),this.parseError(Fe,{text:ht.match,token:this.terminals_[p]||p,line:ht.yylineno,loc:W,expected:qt})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+we+", token: "+p);switch(y[0]){case 1:T.push(p),nt.push(ht.yytext),S.push(ht.yylloc),T.push(y[1]),p=null,St=ht.yyleng,X=ht.yytext,It=ht.yylineno,W=ht.yylloc;break;case 2:if(Be=this.productions_[y[1]][1],Re.$=nt[nt.length-Be],Re._$={first_line:S[S.length-(Be||1)].first_line,last_line:S[S.length-1].last_line,first_column:S[S.length-(Be||1)].first_column,last_column:S[S.length-1].last_column},B&&(Re._$.range=[S[S.length-(Be||1)].range[0],S[S.length-1].range[1]]),Ue=this.performAction.apply(Re,[X,St,It,I.yy,y[1],nt,S].concat(Se)),typeof Ue<"u")return Ue;Be&&(T=T.slice(0,-1*Be*2),nt=nt.slice(0,-1*Be),S=S.slice(0,-1*Be)),T.push(this.productions_[y[1]][0]),nt.push(Re.$),S.push(Re._$),as=Et[T[T.length-2]][T[T.length-1]],T.push(as);break;case 3:return!0}}return!0}},g=function(){var m={EOF:1,parseError:function(D,T){if(this.yy.parser)this.yy.parser.parseError(D,T);else throw new Error(D)},setInput:function(x,D){return this.yy=D||this.yy||{},this._input=x,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var x=this._input[0];this.yytext+=x,this.yyleng++,this.offset++,this.match+=x,this.matched+=x;var D=x.match(/(?:\r\n?|\n).*/g);return D?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),x},unput:function(x){var D=x.length,T=x.split(/(?:\r\n?|\n)/g);this._input=x+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-D),this.offset-=D;var Y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),T.length-1&&(this.yylineno-=T.length-1);var nt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:T?(T.length===Y.length?this.yylloc.first_column:0)+Y[Y.length-T.length].length-T[0].length:this.yylloc.first_column-D},this.options.ranges&&(this.yylloc.range=[nt[0],nt[0]+this.yyleng-D]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(x){this.unput(this.match.slice(x))},pastInput:function(){var x=this.matched.substr(0,this.matched.length-this.match.length);return(x.length>20?"...":"")+x.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var x=this.match;return x.length<20&&(x+=this._input.substr(0,20-x.length)),(x.substr(0,20)+(x.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var x=this.pastInput(),D=new Array(x.length+1).join("-");return x+this.upcomingInput()+` +`+D+"^"},test_match:function(x,D){var T,Y,nt;if(this.options.backtrack_lexer&&(nt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(nt.yylloc.range=this.yylloc.range.slice(0))),Y=x[0].match(/(?:\r\n?|\n).*/g),Y&&(this.yylineno+=Y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Y?Y[Y.length-1].length-Y[Y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+x[0].length},this.yytext+=x[0],this.match+=x[0],this.matches=x,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(x[0].length),this.matched+=x[0],T=this.performAction.call(this,this.yy,this,D,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),T)return T;if(this._backtrack){for(var S in nt)this[S]=nt[S];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var x,D,T,Y;this._more||(this.yytext="",this.match="");for(var nt=this._currentRules(),S=0;SD[0].length)){if(D=T,Y=S,this.options.backtrack_lexer){if(x=this.test_match(T,nt[S]),x!==!1)return x;if(this._backtrack){D=!1;continue}else return!1}else if(!this.options.flex)break}return D?(x=this.test_match(D,nt[Y]),x!==!1?x:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var D=this.next();return D||this.lex()},begin:function(D){this.conditionStack.push(D)},popState:function(){var D=this.conditionStack.length-1;return D>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(D){return D=this.conditionStack.length-1-Math.abs(D||0),D>=0?this.conditionStack[D]:"INITIAL"},pushState:function(D){this.begin(D)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(D,T,Y,nt){switch(Y){case 0:return 40;case 1:return 44;case 2:return 45;case 3:return 46;case 4:return 47;case 5:break;case 6:break;case 7:return 5;case 8:break;case 9:break;case 10:break;case 11:break;case 12:return this.pushState("SCALE"),16;case 13:return 17;case 14:this.popState();break;case 15:return this.begin("acc_title"),32;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),34;case 18:return this.popState(),"acc_descr_value";case 19:this.begin("acc_descr_multiline");break;case 20:this.popState();break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),37;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),38;case 25:return this.popState(),39;case 26:return this.pushState("CLASS"),41;case 27:return this.popState(),this.pushState("CLASS_STYLE"),42;case 28:return this.popState(),43;case 29:return this.pushState("SCALE"),16;case 30:return 17;case 31:this.popState();break;case 32:this.pushState("STATE");break;case 33:return this.popState(),T.yytext=T.yytext.slice(0,-8).trim(),24;case 34:return this.popState(),T.yytext=T.yytext.slice(0,-8).trim(),25;case 35:return this.popState(),T.yytext=T.yytext.slice(0,-10).trim(),26;case 36:return this.popState(),T.yytext=T.yytext.slice(0,-8).trim(),24;case 37:return this.popState(),T.yytext=T.yytext.slice(0,-8).trim(),25;case 38:return this.popState(),T.yytext=T.yytext.slice(0,-10).trim(),26;case 39:return 44;case 40:return 45;case 41:return 46;case 42:return 47;case 43:this.pushState("STATE_STRING");break;case 44:return this.pushState("STATE_ID"),"AS";case 45:return this.popState(),"ID";case 46:this.popState();break;case 47:return"STATE_DESCR";case 48:return 18;case 49:this.popState();break;case 50:return this.popState(),this.pushState("struct"),19;case 51:break;case 52:return this.popState(),20;case 53:break;case 54:return this.begin("NOTE"),28;case 55:return this.popState(),this.pushState("NOTE_ID"),52;case 56:return this.popState(),this.pushState("NOTE_ID"),53;case 57:this.popState(),this.pushState("FLOATING_NOTE");break;case 58:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 59:break;case 60:return"NOTE_TEXT";case 61:return this.popState(),"ID";case 62:return this.popState(),this.pushState("NOTE_TEXT"),23;case 63:return this.popState(),T.yytext=T.yytext.substr(2).trim(),30;case 64:return this.popState(),T.yytext=T.yytext.slice(0,-8).trim(),30;case 65:return 6;case 66:return 6;case 67:return 15;case 68:return 50;case 69:return 23;case 70:return T.yytext=T.yytext.trim(),13;case 71:return 14;case 72:return 27;case 73:return 51;case 74:return 5;case 75:return"INVALID"}},rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,32,39,40,41,42,51,52,53,54,68,69,70,71,72],inclusive:!1},FLOATING_NOTE_ID:{rules:[61],inclusive:!1},FLOATING_NOTE:{rules:[58,59,60],inclusive:!1},NOTE_TEXT:{rules:[63,64],inclusive:!1},NOTE_ID:{rules:[62],inclusive:!1},NOTE:{rules:[55,56,57],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,30,31],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[45],inclusive:!1},STATE_STRING:{rules:[46,47],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,33,34,35,36,37,38,43,44,48,49,50],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,50,54,65,66,67,68,69,70,71,73,74,75],inclusive:!0}}};return m}();h.lexer=g;function R(){this.yy={}}return R.prototype=h,h.Parser=R,new R}();C.parser=C;const U=C,w="LR",ae="TB",Ot="state",Rt="relation",N="classDef",G="applyClass",et="default",ut="divider",mt="[*]",Qt="start",le=mt,Zt="end",Mt="color",ye="fill",q="bgFill",At=",";function kt(){return{}}let bt=w,Dt=[],Ht=kt();const re=()=>({relations:[],states:{},documents:{}});let vt={root:re()},Tt=vt.root,lt=0,te=0;const he={LINE:0,DOTTED_LINE:1},J={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},Z=r=>JSON.parse(JSON.stringify(r)),k=r=>{E.l.info("Setting root doc",r),Dt=r},u=()=>Dt,A=(r,b,v)=>{if(b.stmt===Rt)A(r,b.state1,!0),A(r,b.state2,!1);else if(b.stmt===Ot&&(b.id==="[*]"?(b.id=v?r.id+"_start":r.id+"_end",b.start=v):b.id=b.id.trim()),b.doc){const j=[];let K=[],xt;for(xt=0;xt0&&K.length>0){const $={stmt:Ot,id:(0,E.I)(),type:"divider",doc:Z(K)};j.push(Z($)),b.doc=j}b.doc.forEach($=>A(b,$,!0))}},P=()=>(A({id:"root"},{id:"root",doc:Dt},!0),{id:"root",doc:Dt}),L=r=>{let b;r.doc?b=r.doc:b=r,E.l.info(b),ft(!0),E.l.info("Extract",b),b.forEach(v=>{switch(v.stmt){case Ot:O(v.id.trim(),v.type,v.doc,v.description,v.note,v.classes,v.styles,v.textStyles);break;case Rt:be(v.state1,v.state2,v.description);break;case N:f(v.id.trim(),v.classes);break;case G:it(v.id.trim(),v.styleClass);break}})},O=function(r,b=et,v=null,j=null,K=null,xt=null,$=null,Lt=null){const tt=r?.trim();Tt.states[tt]===void 0?(E.l.info("Adding state ",tt,j),Tt.states[tt]={id:tt,descriptions:[],type:b,doc:v,note:K,classes:[],styles:[],textStyles:[]}):(Tt.states[tt].doc||(Tt.states[tt].doc=v),Tt.states[tt].type||(Tt.states[tt].type=b)),j&&(E.l.info("Setting state description",tt,j),typeof j=="string"&&Ae(tt,j.trim()),typeof j=="object"&&j.forEach(ee=>Ae(tt,ee.trim()))),K&&(Tt.states[tt].note=K,Tt.states[tt].note.text=E.e.sanitizeText(Tt.states[tt].note.text,(0,E.c)())),xt&&(E.l.info("Setting state classes",tt,xt),(typeof xt=="string"?[xt]:xt).forEach(wt=>it(tt,wt.trim()))),$&&(E.l.info("Setting state styles",tt,$),(typeof $=="string"?[$]:$).forEach(wt=>pt(tt,wt.trim()))),Lt&&(E.l.info("Setting state styles",tt,$),(typeof Lt=="string"?[Lt]:Lt).forEach(wt=>yt(tt,wt.trim())))},ft=function(r){vt={root:re()},Tt=vt.root,lt=0,Ht=kt(),r||(0,E.v)()},rt=function(r){return Tt.states[r]},st=function(){return Tt.states},Bt=function(){E.l.info("Documents = ",vt)},Vt=function(){return Tt.relations};function ie(r=""){let b=r;return r===mt&&(lt++,b=`${Qt}${lt}`),b}function de(r="",b=et){return r===mt?Qt:b}function ne(r=""){let b=r;return r===le&&(lt++,b=`${Zt}${lt}`),b}function z(r="",b=et){return r===le?Zt:b}function Q(r,b,v){let j=ie(r.id.trim()),K=de(r.id.trim(),r.type),xt=ie(b.id.trim()),$=de(b.id.trim(),b.type);O(j,K,r.doc,r.description,r.note,r.classes,r.styles,r.textStyles),O(xt,$,b.doc,b.description,b.note,b.classes,b.styles,b.textStyles),Tt.relations.push({id1:j,id2:xt,relationTitle:E.e.sanitizeText(v,(0,E.c)())})}const be=function(r,b,v){if(typeof r=="object")Q(r,b,v);else{const j=ie(r.trim()),K=de(r),xt=ne(b.trim()),$=z(b);O(j,K),O(xt,$),Tt.relations.push({id1:j,id2:xt,title:E.e.sanitizeText(v,(0,E.c)())})}},Ae=function(r,b){const v=Tt.states[r],j=b.startsWith(":")?b.replace(":","").trim():b;v.descriptions.push(E.e.sanitizeText(j,(0,E.c)()))},ns=function(r){return r.substring(0,1)===":"?r.substr(2).trim():r.trim()},ss=()=>(te++,"divider-id-"+te),f=function(r,b=""){Ht[r]===void 0&&(Ht[r]={id:r,styles:[],textStyles:[]});const v=Ht[r];b?.split(At).forEach(j=>{const K=j.replace(/([^;]*);/,"$1").trim();if(j.match(Mt)){const $=K.replace(ye,q).replace(Mt,ye);v.textStyles.push($)}v.styles.push(K)})},M=function(){return Ht},it=function(r,b){r.split(",").forEach(function(v){let j=rt(v);if(j===void 0){const K=v.trim();O(K),j=rt(K)}j.classes.push(b)})},pt=function(r,b){const v=rt(r);v!==void 0&&v.textStyles.push(b)},yt=function(r,b){const v=rt(r);v!==void 0&&v.textStyles.push(b)},ke={getConfig:()=>(0,E.c)().state,addState:O,clear:ft,getState:rt,getStates:st,getRelations:Vt,getClasses:M,getDirection:()=>bt,addRelation:be,getDividerId:ss,setDirection:r=>{bt=r},cleanupLabel:ns,lineType:he,relationType:J,logDocuments:Bt,getRootDoc:u,setRootDoc:k,getRootDocV2:P,extract:L,trimColon:r=>r&&r[0]===":"?r.substr(1).trim():r.trim(),getAccTitle:E.g,setAccTitle:E.s,getAccDescription:E.a,setAccDescription:E.b,addStyleClass:f,setCssClass:it,addDescription:Ae,setDiagramTitle:E.q,getDiagramTitle:E.t},F=r=>` +defs #statediagram-barbEnd { + fill: ${r.transitionColor}; + stroke: ${r.transitionColor}; + } +g.stateGroup text { + fill: ${r.nodeBorder}; + stroke: none; + font-size: 10px; +} +g.stateGroup text { + fill: ${r.textColor}; + stroke: none; + font-size: 10px; + +} +g.stateGroup .state-title { + font-weight: bolder; + fill: ${r.stateLabelColor}; +} + +g.stateGroup rect { + fill: ${r.mainBkg}; + stroke: ${r.nodeBorder}; +} + +g.stateGroup line { + stroke: ${r.lineColor}; + stroke-width: 1; +} + +.transition { + stroke: ${r.transitionColor}; + stroke-width: 1; + fill: none; +} + +.stateGroup .composit { + fill: ${r.background}; + border-bottom: 1px +} + +.stateGroup .alt-composit { + fill: #e0e0e0; + border-bottom: 1px +} + +.state-note { + stroke: ${r.noteBorderColor}; + fill: ${r.noteBkgColor}; + + text { + fill: ${r.noteTextColor}; + stroke: none; + font-size: 10px; + } +} + +.stateLabel .box { + stroke: none; + stroke-width: 0; + fill: ${r.mainBkg}; + opacity: 0.5; +} + +.edgeLabel .label rect { + fill: ${r.labelBackgroundColor}; + opacity: 0.5; +} +.edgeLabel .label text { + fill: ${r.transitionLabelColor||r.tertiaryTextColor}; +} +.label div .edgeLabel { + color: ${r.transitionLabelColor||r.tertiaryTextColor}; +} + +.stateLabel text { + fill: ${r.stateLabelColor}; + font-size: 10px; + font-weight: bold; +} + +.node circle.state-start { + fill: ${r.specialStateColor}; + stroke: ${r.specialStateColor}; +} + +.node .fork-join { + fill: ${r.specialStateColor}; + stroke: ${r.specialStateColor}; +} + +.node circle.state-end { + fill: ${r.innerEndBackground}; + stroke: ${r.background}; + stroke-width: 1.5 +} +.end-state-inner { + fill: ${r.compositeBackground||r.background}; + // stroke: ${r.background}; + stroke-width: 1.5 +} + +.node rect { + fill: ${r.stateBkg||r.mainBkg}; + stroke: ${r.stateBorder||r.nodeBorder}; + stroke-width: 1px; +} +.node polygon { + fill: ${r.mainBkg}; + stroke: ${r.stateBorder||r.nodeBorder};; + stroke-width: 1px; +} +#statediagram-barbEnd { + fill: ${r.lineColor}; +} + +.statediagram-cluster rect { + fill: ${r.compositeTitleBackground}; + stroke: ${r.stateBorder||r.nodeBorder}; + stroke-width: 1px; +} + +.cluster-label, .nodeLabel { + color: ${r.stateLabelColor}; +} + +.statediagram-cluster rect.outer { + rx: 5px; + ry: 5px; +} +.statediagram-state .divider { + stroke: ${r.stateBorder||r.nodeBorder}; +} + +.statediagram-state .title-state { + rx: 5px; + ry: 5px; +} +.statediagram-cluster.statediagram-cluster .inner { + fill: ${r.compositeBackground||r.background}; +} +.statediagram-cluster.statediagram-cluster-alt .inner { + fill: ${r.altBackground?r.altBackground:"#efefef"}; +} + +.statediagram-cluster .inner { + rx:0; + ry:0; +} + +.statediagram-state rect.basic { + rx: 5px; + ry: 5px; +} +.statediagram-state rect.divider { + stroke-dasharray: 10,10; + fill: ${r.altBackground?r.altBackground:"#efefef"}; +} + +.note-edge { + stroke-dasharray: 5; +} + +.statediagram-note rect { + fill: ${r.noteBkgColor}; + stroke: ${r.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} +.statediagram-note rect { + fill: ${r.noteBkgColor}; + stroke: ${r.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} + +.statediagram-note text { + fill: ${r.noteTextColor}; +} + +.statediagram-note .nodeLabel { + color: ${r.noteTextColor}; +} +.statediagram .edgeLabel { + color: red; // ${r.noteTextColor}; +} + +#dependencyStart, #dependencyEnd { + fill: ${r.lineColor}; + stroke: ${r.lineColor}; + stroke-width: 1; +} + +.statediagramTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${r.textColor}; +} +`}}]); diff --git a/data/gitea/public/assets/js/asciinema-player.4c143977.js b/data/gitea/public/assets/js/asciinema-player.4c143977.js new file mode 100644 index 0000000..910f99e --- /dev/null +++ b/data/gitea/public/assets/js/asciinema-player.4c143977.js @@ -0,0 +1,7 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([["asciinema-player"],{"./node_modules/asciinema-player/dist/index.js":function(GB,TA,WA){WA.r(TA),WA.d(TA,{create:function(){return wQ}});const EA={};function hB(A){EA.context=A}const fB=(A,g)=>A===g,eA=Symbol("solid-proxy"),ZA=Symbol("solid-track"),jA={equals:fB};let mg=Og;const wA=1,PA=2,pg={owned:null,cleanups:null,context:null,owner:null};var z=null;let uA=null,H=null,X=null,nA=null,cg=0;function yA(A,g){const B=H,I=z,Q=A.length===0,C=Q?pg:{owned:null,cleanups:null,context:null,owner:g===void 0?I:g},e=Q?A:()=>A(()=>VA(()=>gg(C)));z=C,H=null;try{return FA(e,!0)}finally{H=B,z=I}}function BA(A,g){g=g?Object.assign({},jA,g):jA;const B={value:A,observers:null,observerSlots:null,comparator:g.equals||void 0},I=Q=>(typeof Q=="function"&&(Q=Q(B.value)),bg(B,Q));return[Kg.bind(B),I]}function IA(A,g,B){const I=lg(A,g,!1,wA);UA(I)}function uB(A,g,B){mg=NB;const I=lg(A,g,!1,wA);I.user=!0,nA?nA.push(I):UA(I)}function _(A,g,B){B=B?Object.assign({},jA,B):jA;const I=lg(A,g,!0,0);return I.observers=null,I.observerSlots=null,I.comparator=B.equals||void 0,UA(I),Kg.bind(I)}function iA(A){return FA(A,!1)}function VA(A){if(H===null)return A();const g=H;H=null;try{return A()}finally{H=g}}function dB(A){uB(()=>VA(A))}function $A(A){return z===null||(z.cleanups===null?z.cleanups=[A]:z.cleanups.push(A)),A}function Hg(){return H}function yB(A){const g=_(A),B=_(()=>Dg(g()));return B.toArray=()=>{const I=B();return Array.isArray(I)?I:I!=null?[I]:[]},B}function Kg(){const A=uA;if(this.sources&&(this.state||A))if(this.state===wA||A)UA(this);else{const g=X;X=null,FA(()=>Ag(this),!1),X=g}if(H){const g=this.observers?this.observers.length:0;H.sources?(H.sources.push(this),H.sourceSlots.push(g)):(H.sources=[this],H.sourceSlots=[g]),this.observers?(this.observers.push(H),this.observerSlots.push(H.sources.length-1)):(this.observers=[H],this.observerSlots=[H.sources.length-1])}return this.value}function bg(A,g,B){let I=A.value;return(!A.comparator||!A.comparator(I,g))&&(A.value=g,A.observers&&A.observers.length&&FA(()=>{for(let Q=0;Q1e6)throw X=[],new Error},!1)),g}function UA(A){if(!A.fn)return;gg(A);const g=z,B=H,I=cg;H=z=A,FB(A,A.value,I),H=B,z=g}function FB(A,g,B){let I;try{I=A.fn(g)}catch(Q){A.pure&&(A.state=wA,A.owned&&A.owned.forEach(gg),A.owned=null),zg(Q)}(!A.updatedAt||A.updatedAt<=B)&&(A.updatedAt!=null&&"observers"in A?bg(A,I):A.value=I,A.updatedAt=B)}function lg(A,g,B,I=wA,Q){const C={fn:A,state:I,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:g,owner:z,context:null,pure:B};return z===null||z!==pg&&(z.owned?z.owned.push(C):z.owned=[C]),C}function _A(A){const g=uA;if(A.state===0||g)return;if(A.state===PA||g)return Ag(A);if(A.suspense&&VA(A.suspense.inFallback))return A.suspense.effects.push(A);const B=[A];for(;(A=A.owner)&&(!A.updatedAt||A.updatedAt=0;I--)if(A=B[I],A.state===wA||g)UA(A);else if(A.state===PA||g){const Q=X;X=null,FA(()=>Ag(A,B[0]),!1),X=Q}}function FA(A,g){if(X)return A();let B=!1;g||(X=[]),nA?B=!0:nA=[],cg++;try{const I=A();return YB(B),I}catch(I){B||(nA=null),X=null,zg(I)}}function YB(A){if(X&&(Og(X),X=null),A)return;const g=nA;nA=null,g.length&&FA(()=>mg(g),!1)}function Og(A){for(let g=0;g1?[]:null;return $A(()=>Bg(C)),()=>{let i=A()||[],t,s;return i[ZA],VA(()=>{let o=i.length,V,c,G,D,u,r,F,N,R;if(o===0)e!==0&&(Bg(C),C=[],I=[],Q=[],e=0,E&&(E=[])),B.fallback&&(I=[wg],Q[0]=yA(b=>(C[0]=b,B.fallback())),e=1);else if(e===0){for(Q=new Array(o),s=0;s=r&&N>=r&&I[F]===i[N];F--,N--)G[N]=Q[F],D[N]=C[F],E&&(u[N]=E[F]);for(V=new Map,c=new Array(N+1),s=N;s>=r;s--)R=i[s],t=V.get(R),c[s]=t===void 0?-1:t,V.set(R,s);for(t=r;t<=F;t++)R=I[t],s=V.get(R),s!==void 0&&s!==-1?(G[s]=Q[t],D[s]=C[t],E&&(u[s]=E[t]),s=c[s],V.set(R,s)):C[t]();for(s=r;sBg(C)),()=>{const t=A()||[];return t[ZA],VA(()=>{if(t.length===0)return E!==0&&(Bg(C),C=[],I=[],Q=[],E=0,e=[]),B.fallback&&(I=[wg],Q[0]=yA(n=>(C[0]=n,B.fallback())),E=1),Q;for(I[0]===wg&&(C[0](),C=[],I=[],Q=[],E=0),i=0;it[i]):i>=I.length&&(Q[i]=yA(s));for(;iA(g||{}))}function Ig(){return!0}const MB={get(A,g,B){return g===eA?B:A.get(g)},has(A,g){return g===eA?!0:A.has(g)},set:Ig,deleteProperty:Ig,getOwnPropertyDescriptor(A,g){return{configurable:!0,enumerable:!0,get(){return A.get(g)},set:Ig,deleteProperty:Ig}},ownKeys(A){return A.keys()}};function Gg(A){return(A=typeof A=="function"?A():A)?A:{}}function UB(...A){let g=!1;for(let I=0;I=0;Q--){const C=Gg(A[Q])[I];if(C!==void 0)return C}},has(I){for(let Q=A.length-1;Q>=0;Q--)if(I in Gg(A[Q]))return!0;return!1},keys(){const I=[];for(let Q=0;Q=0;I--)if(A[I]){const Q=Object.getOwnPropertyDescriptors(A[I]);for(const C in Q)C in B||Object.defineProperty(B,C,{enumerable:!0,get(){for(let e=A.length-1;e>=0;e--){const E=(A[e]||{})[C];if(E!==void 0)return E}}})}return B}function Xg(A){const g="fallback"in A&&{fallback:()=>A.fallback};return _(RB(()=>A.each,A.children,g||void 0))}function JB(A){const g="fallback"in A&&{fallback:()=>A.fallback};return _(qB(()=>A.each,A.children,g||void 0))}function hg(A){let g=!1;const B=A.keyed,I=_(()=>A.when,void 0,{equals:(Q,C)=>g?Q===C:!Q==!C});return _(()=>{const Q=I();if(Q){const C=A.children,e=typeof C=="function"&&C.length>0;return g=B||e,e?VA(()=>C(Q)):C}return A.fallback},void 0,void 0)}function vg(A){let g=!1,B=!1;const I=(e,E)=>e[0]===E[0]&&(g?e[1]===E[1]:!e[1]==!E[1])&&e[2]===E[2],Q=yB(()=>A.children),C=_(()=>{let e=Q();Array.isArray(e)||(e=[e]);for(let E=0;E{const[e,E,i]=C();if(e<0)return A.fallback;const t=i.children,s=typeof t=="function"&&t.length>0;return g=B||s,s?VA(()=>t(E)):t},void 0,void 0)}function YA(A){return A}function SB(A,g,B){let I=B.length,Q=g.length,C=I,e=0,E=0,i=g[Q-1].nextSibling,t=null;for(;es-E){const c=g[e];for(;E{Q=C,g===document?A():T(g,A(),g.firstChild?null:void 0,B)},I.owner),()=>{Q(),g.textContent=""}}function j(A,g,B){const I=document.createElement("template");I.innerHTML=A;let Q=I.content.firstChild;return B&&(Q=Q.firstChild),Q}function fg(A,g=window.document){const B=g[Tg]||(g[Tg]=new Set);for(let I=0,Q=A.length;IQ.call(A,B[1],C))}else A.addEventListener(g,B)}function SA(A,g,B){if(!g)return B?LB(A,"style"):g;const I=A.style;if(typeof g=="string")return I.cssText=g;typeof B=="string"&&(I.cssText=B=void 0),B||(B={}),g||(g={});let Q,C;for(C in B)g[C]==null&&I.removeProperty(C),delete B[C];for(C in g)Q=g[C],Q!==B[C]&&(I.setProperty(C,Q),B[C]=Q);return B}function Qg(A,g,B){return VA(()=>A(g,B))}function T(A,g,B,I){if(B!==void 0&&!I&&(I=[]),typeof g!="function")return Cg(A,g,I,B);IA(Q=>Cg(A,g(),Q,B),I)}function mB(A){const g=`$$${A.type}`;let B=A.composedPath&&A.composedPath()[0]||A.target;for(A.target!==B&&Object.defineProperty(A,"target",{configurable:!0,value:B}),Object.defineProperty(A,"currentTarget",{configurable:!0,get(){return B||document}}),EA.registry&&!EA.done&&(EA.done=!0,document.querySelectorAll("[id^=pl-]").forEach(I=>{for(;I&&I.nodeType!==8&&I.nodeValue!=="pl-"+A;){let Q=I.nextSibling;I.remove(),I=Q}I&&I.remove()}));B;){const I=B[g];if(I&&!B.disabled){const Q=B[`${g}Data`];if(Q!==void 0?I.call(B,Q,A):I.call(B,A),A.cancelBubble)return}B=B._$host||B.parentNode||B.host}}function Cg(A,g,B,I,Q){for(EA.context&&!B&&(B=[...A.childNodes]);typeof B=="function";)B=B();if(g===B)return B;const C=typeof g,e=I!==void 0;if(A=e&&B[0]&&B[0].parentNode||A,C==="string"||C==="number"){if(EA.context)return B;if(C==="number"&&(g=g.toString()),e){let E=B[0];E&&E.nodeType===3?E.data=g:E=document.createTextNode(g),B=NA(A,B,I,E)}else B!==""&&typeof B=="string"?B=A.firstChild.data=g:B=A.textContent=g}else if(g==null||C==="boolean"){if(EA.context)return B;B=NA(A,B,I)}else{if(C==="function")return IA(()=>{let E=g();for(;typeof E=="function";)E=E();B=Cg(A,E,B,I)}),()=>B;if(Array.isArray(g)){const E=[],i=B&&Array.isArray(B);if(ug(E,g,B,Q))return IA(()=>B=Cg(A,E,B,I,!0)),()=>B;if(EA.context){if(!E.length)return B;for(let t=0;t=0;e--){const E=g[e];if(Q!==E){const i=E.parentNode===A;!C&&!e?i?A.replaceChild(Q,E):A.insertBefore(Q,B):i&&E.remove()}else C=!0}}else A.insertBefore(Q,B);return[Q]}let S;const rA=new Array(128).fill(void 0);rA.push(void 0,null,!0,!1);function aA(A){return rA[A]}let LA=rA.length;function pB(A){A<132||(rA[A]=LA,LA=A)}function dA(A){const g=aA(A);return pB(A),g}const Pg=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});Pg.decode();let mA=null;function Eg(){return(mA===null||mA.byteLength===0)&&(mA=new Uint8Array(S.memory.buffer)),mA}function eg(A,g){return Pg.decode(Eg().subarray(A,A+g))}function cA(A){LA===rA.length&&rA.push(rA.length+1);const g=LA;return LA=rA[g],rA[g]=A,g}function dg(A){const g=typeof A;if(g=="number"||g=="boolean"||A==null)return`${A}`;if(g=="string")return`"${A}"`;if(g=="symbol"){const Q=A.description;return Q==null?"Symbol":`Symbol(${Q})`}if(g=="function"){const Q=A.name;return typeof Q=="string"&&Q.length>0?`Function(${Q})`:"Function"}if(Array.isArray(A)){const Q=A.length;let C="[";Q>0&&(C+=dg(A[0]));for(let e=1;e1)I=B[1];else return toString.call(A);if(I=="Object")try{return"Object("+JSON.stringify(A)+")"}catch{return"Object"}return A instanceof Error?`${A.name}: ${A.message} +${A.stack}`:I}let ig=0;const tg=new TextEncoder("utf-8"),HB=typeof tg.encodeInto=="function"?function(A,g){return tg.encodeInto(A,g)}:function(A,g){const B=tg.encode(A);return g.set(B),{read:A.length,written:B.length}};function $g(A,g,B){if(B===void 0){const E=tg.encode(A),i=g(E.length);return Eg().subarray(i,i+E.length).set(E),ig=E.length,i}let I=A.length,Q=g(I);const C=Eg();let e=0;for(;e127)break;C[Q+e]=E}if(e!==I){e!==0&&(A=A.slice(e)),Q=B(Q,I,I=e+A.length*3);const E=Eg().subarray(Q+e,Q+I),i=HB(A,E);e+=i.written}return ig=e,Q}let pA=null;function kA(){return(pA===null||pA.byteLength===0)&&(pA=new Int32Array(S.memory.buffer)),pA}function KB(A,g,B,I){const Q=S.create(A,g,B,I);return sg.__wrap(Q)}let HA=null;function bB(){return(HA===null||HA.byteLength===0)&&(HA=new Uint32Array(S.memory.buffer)),HA}function OB(A,g){return bB().subarray(A/4,A/4+g)}class sg{static __wrap(g){const B=Object.create(sg.prototype);return B.ptr=g,B}__destroy_into_raw(){const g=this.ptr;return this.ptr=0,g}free(){const g=this.__destroy_into_raw();S.__wbg_vtwrapper_free(g)}feed(g){const B=$g(g,S.__wbindgen_malloc,S.__wbindgen_realloc),I=ig,Q=S.vtwrapper_feed(this.ptr,B,I);return dA(Q)}inspect(){try{const I=S.__wbindgen_add_to_stack_pointer(-16);S.vtwrapper_inspect(I,this.ptr);var g=kA()[I/4+0],B=kA()[I/4+1];return eg(g,B)}finally{S.__wbindgen_add_to_stack_pointer(16),S.__wbindgen_free(g,B)}}get_size(){try{const Q=S.__wbindgen_add_to_stack_pointer(-16);S.vtwrapper_get_size(Q,this.ptr);var g=kA()[Q/4+0],B=kA()[Q/4+1],I=OB(g,B).slice();return S.__wbindgen_free(g,B*4),I}finally{S.__wbindgen_add_to_stack_pointer(16)}}get_line(g){const B=S.vtwrapper_get_line(this.ptr,g);return dA(B)}get_cursor(){const g=S.vtwrapper_get_cursor(this.ptr);return dA(g)}}async function xB(A,g){if(typeof Response=="function"&&A instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(A,g)}catch(I){if(A.headers.get("Content-Type")!="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",I);else throw I}const B=await A.arrayBuffer();return await WebAssembly.instantiate(B,g)}else{const B=await WebAssembly.instantiate(A,g);return B instanceof WebAssembly.Instance?{instance:B,module:A}:B}}function _g(){const A={};return A.wbg={},A.wbg.__wbindgen_object_drop_ref=function(g){dA(g)},A.wbg.__wbindgen_error_new=function(g,B){const I=new Error(eg(g,B));return cA(I)},A.wbg.__wbindgen_object_clone_ref=function(g){const B=aA(g);return cA(B)},A.wbg.__wbindgen_number_new=function(g){return cA(g)},A.wbg.__wbindgen_bigint_from_u64=function(g){const B=BigInt.asUintN(64,g);return cA(B)},A.wbg.__wbindgen_string_new=function(g,B){const I=eg(g,B);return cA(I)},A.wbg.__wbg_set_20cbc34131e76824=function(g,B,I){aA(g)[dA(B)]=dA(I)},A.wbg.__wbg_new_b525de17f44a8943=function(){const g=new Array;return cA(g)},A.wbg.__wbg_new_f841cc6f2098f4b5=function(){return cA(new Map)},A.wbg.__wbg_new_f9876326328f45ed=function(){const g=new Object;return cA(g)},A.wbg.__wbindgen_is_string=function(g){return typeof aA(g)=="string"},A.wbg.__wbg_set_17224bc548dd1d7b=function(g,B,I){aA(g)[B>>>0]=dA(I)},A.wbg.__wbg_set_388c4c6422704173=function(g,B,I){const Q=aA(g).set(aA(B),aA(I));return cA(Q)},A.wbg.__wbindgen_debug_string=function(g,B){const I=dg(aA(B)),Q=$g(I,S.__wbindgen_malloc,S.__wbindgen_realloc),C=ig;kA()[g/4+1]=C,kA()[g/4+0]=Q},A.wbg.__wbindgen_throw=function(g,B){throw new Error(eg(g,B))},A}function AB(A,g){return S=A.exports,yg.__wbindgen_wasm_module=g,pA=null,HA=null,mA=null,S}function zB(A){const g=_g();A instanceof WebAssembly.Module||(A=new WebAssembly.Module(A));const B=new WebAssembly.Instance(A,g);return AB(B,A)}async function yg(A){const g=_g();(typeof A=="string"||typeof Request=="function"&&A instanceof Request||typeof URL=="function"&&A instanceof URL)&&(A=fetch(A));const{instance:B,module:I}=await xB(await A,g);return AB(B,I)}var XB=Object.freeze({__proto__:null,VtWrapper:sg,create:KB,default:yg,initSync:zB});const vB=[62,0,0,0,63,52,53,54,55,56,57,58,59,60,61,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,0,0,0,0,0,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51];function og(A){return vB[A-43]}function TB(A){let g=A.endsWith("==")?2:A.endsWith("=")?1:0,B=A.length,I=new Uint8Array(3*(B/4)),Q;for(let C=0,e=0;C>16,I[e+1]=Q>>8&255,I[e+2]=Q&255;return I.subarray(0,I.length-g)}const WB=TB("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wIHBACABQf8fIAFB/x9LGzYCACADIARPDQBBuIHBAEF/NgIACw8LIABBeHFBkP/AAGohAgJ/QZiBwQAoAgAiA0EBIABBA3Z0IgBxRQRAQZiBwQAgACADcjYCACACDAELIAIoAggLIQAgAiABNgIIIAAgATYCDCABIAI2AgwgASAANgIIDwtBqIHBACABNgIAQaCBwQBBoIHBACgCACAAaiIANgIAIAEgAEEBcjYCBCAAIAFqIAA2AgALlgUBC38jAEEwayIDJAAgA0EkaiABNgIAIANBAzoALCADQSA2AhwgA0EANgIoIAMgADYCICADQQA2AhQgA0EANgIMAn8CQAJAAkAgAigCECILRQRAIAJBDGooAgAiAEUNASACKAIIIgEgAEEDdGohBCAAQQFrQf////8BcUEBaiEIIAIoAgAhAANAIABBBGooAgAiBgRAIAMoAiAgACgCACAGIAMoAiQoAgwRAQANBAsgASgCACADQQxqIAFBBGooAgARAAANAyAFQQFqIQUgAEEIaiEAIAQgAUEIaiIBRw0ACwwBCyACQRRqKAIAIgBFDQAgAEEFdCEMIABBAWtB////P3FBAWohCCACKAIIIQYgAigCACEAA0AgAEEEaigCACIBBEAgAygCICAAKAIAIAEgAygCJCgCDBEBAA0DCyADIAUgC2oiAUEQaigCADYCHCADIAFBHGotAAA6ACwgAyABQRhqKAIANgIoIAFBDGooAgAhB0EAIQpBACEEAkACQAJAIAFBCGooAgBBAWsOAgACAQsgBiAHQQN0aiINKAIEQesARw0BIA0oAgAoAgAhBwtBASEECyADIAc2AhAgAyAENgIMIAFBBGooAgAhBAJAAkACQCABKAIAQQFrDgIAAgELIAYgBEEDdGoiBygCBEHrAEcNASAHKAIAKAIAIQQLQQEhCgsgAyAENgIYIAMgCjYCFCAGIAFBFGooAgBBA3RqIgEoAgAgA0EMaiABQQRqKAIAEQAADQIgCUEBaiEJIABBCGohACAMIAVBIGoiBUcNAAsLIAggAigCBE8NASADKAIgIAIoAgAgCEEDdGoiACgCACAAKAIEIAMoAiQoAgwRAQBFDQELQQEMAQtBAAsgA0EwaiQAC90LAg5/AX4jAEFAaiIDJAAgAUEUaigCACEMIAEoAiQhCSABKAIQIQcgA0EwaiENIANB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AiEEDAILIAMgBGoiAEEBaiEEAkAgACACTw0AIAAgAWotAABBCkcNAEEAIQUgBCIDIQAMAwsgAiAETw0ACwtBASEFIAIiACAIIgNGDQILAkAgDC0AAARAIAtBsObAAEEEIAooAgwRAQANAQsgASAIaiEGIAAgCGshB0EAIQkgDCAAIAhHBH8gBiAHakEBay0AAEEKRgVBAAs6AAAgAyEIIAsgBiAHIAooAgwRAQBFDQELC0EBIQ0LIA0L1AYBBX8jAEHAAWsiAiQAIAAoAgAhAyACQQRqIgBBtAFqQZCHwAA2AgAgAkGwAWpBoIvAADYCACAAQaQBakHAi8AANgIAIABBnAFqQbCLwAA2AgAgAEGUAWpBsIvAADYCACACQZABakHQhsAANgIAIAJBiAFqQdCGwAA2AgAgAkGAAWpBoIvAADYCACACQfgAakGgi8AANgIAIABB7ABqQaCLwAA2AgAgAkHoAGpBoIvAADYCACACQeAAakGgi8AANgIAIABB1ABqQZCLwAA2AgAgAkHQAGpB0IbAADYCACACQcgAakGAi8AANgIAIAJBQGtB8IrAADYCACACQThqQeCKwAA2AgAgAkEwakH0hsAANgIAIAJBKGpB0IrAADYCACACQSBqQcCKwAA2AgAgAkEYakHAisAANgIAIAJBEGpB0IbAADYCACACIANBugFqNgKsASACIANB1ABqNgKkASACIANBgAFqNgKcASACIANB7ABqNgKUASACIANBpAFqNgKMASACIANBoAFqNgKEASACIANBuQFqNgJ8IAIgA0G4AWo2AnQgAiADQbcBajYCbCACIANBtgFqNgJkIAIgA0G1AWo2AlwgAiADQcgAajYCVCACIANBnAFqNgJMIAIgA0GoAWo2AkQgAiADQaoBajYCPCACIANB4ABqNgI0IAIgA0FAazYCLCACIANBtAFqNgIkIAIgA0EgajYCHCACIAM2AhQgAiADQZgBajYCDCACQdCGwAA2AgggAiADQZQBajYCBCACIANBuwFqNgK8ASACIAJBvAFqNgK0AUEXIQZBiInAACEEIwBBIGsiAyQAIANBFzYCACADQRc2AgQgASgCFEHQi8AAQQggAUEYaigCACgCDBEBACEFIANBADoADSADIAU6AAwgAyABNgIIAn8DQCADQQhqIAQoAgAgBEEEaigCACAAQdDo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AigCACADRgRAIAIgA0EBEHwLIAIgA0EBaiIDNgIIIAIoAgQgBWoiEiAEKQIANwIAIBJBCGogBEEIaikCADcCACAEIAwQFyAFQRBqIQUgBCgCAEGAgICAeEcNAAsLIAwQngEgBEEQaiQAIAtBCGogDygCADYCACALIAEpAgw3AgALIAFBQGskACAGKAIUQQR0IQMgBigCECEFAkADQCADRQ0BIANBEGshAyAFKAIIIAVBEGohBSAIRg0AC0H0nsAAQTdBrJ/AABCLAQALIAZBIGoiASAGQRRqKAIANgIAIAYgBikCDDcDGCAHEIABIAcoAgAEQCAAKAIMEBULIAcgBikDGDcCACAHQQhqIAEoAgA2AgAgCSAAKAIQIgJLBEAgACAJIAJrIAgQcyAAKAIQIQILQQAhAwJAIA5FDQAgAkEBayIERQ0AIAAoAgxBDGohBUEAIQEDQAJAIAIgA0cEQCADQQFqIQMgDiABIAUtAABFaiIBSw0BDAMLIAIgAkG0nsAAEFkACyAFQRBqIQUgAyAESQ0ACwsCQAJAIAggCksNACADIAIgAiADSRshASAAKAIMIANBBHRqQQxqIQUDQCABIANGDQIgBS0AAEUNASAFQRBqIQUgA0EBaiEDIAogCGsiCiAITw0ACwsgCiAIQQFrIgEgASAKSxshCyADIAkgAmtqIgFBAE4hBCABQQAgBBshByAJQQAgASAEG2shCQwBCyABIAJBpJ7AABBZAAsCQAJAAkACQAJAQX8gCSANRyAJIA1LG0H/AXEOAgIAAQtBACACIAlrIgEgASACSxsiBCANIAlrIgEgASAESxsiA0EAIAcgCUkbIAdqIQcgASAETQ0BIAAgASADayAIEHMMAQsgAEEIaiEEIAkgDWsiAyAJIAdBf3NqIgEgASADSxsiBQRAAkAgAiAFayIBIAQoAggiAksNACAEIAE2AgggASACRg0AIAIgAWshAiAEKAIEIAFBBHRqIQEDQCABKAIABEAgAUEEaigCABAVCyABQRBqIQEgAkEBayICDQALCyAAKAIQIgFFDQIgACgCDCABQQR0akEEa0EAOgAACyAHIANrIAVqIQcLIABBAToAHCAAIA02AhggACAINgIUIBEgBzYCBCARIAs2AgAgBkFAayQADAELQYybwABBK0GUnsAAEIsBAAsgACAQKQMINwJgIABB1ABqIQgCQCAAKAKYASIBIABB3ABqKAIAIgRNBEAgACABNgJcDAELIAggASAEa0EAEE8gACgCmAEhAQsgCEEAIAEQcCAAKAKUASIBIAAoAmxNBEAgACABQQFrNgJsCyAAKAKYASIBIABB8ABqKAIATQRAIAAgAUEBazYCcAsgEEEQaiQAC8QBAQJ/IwBBIGsiBCQAAkAgAiADaiIDIAJJDQAgASgCACICQQF0IgUgAyADIAVJGyIDQQggA0EISxsiA0F/c0EfdiEFAkAgAkUEQCAEQQA2AhgMAQsgBCACNgIcIARBATYCGCAEIAEoAgQ2AhQLIARBCGogBSADIARBFGoQPCAEKAIMIQUgBCgCCARAIARBEGooAgAhAwwBCyABIAM2AgAgASAFNgIEQYGAgIB4IQULIAAgAzYCBCAAIAU2AgAgBEEgaiQAC9oBAQJ/IwBBIGsiAyQAAkACQCABIAEgAmoiAUsNACAAKAIAIgJBAXQiBCABIAEgBEkbIgFBCCABQQhLGyIEQX9zQR92IQECQCACRQRAIANBADYCGAwBCyADIAI2AhwgA0EBNgIYIAMgACgCBDYCFAsgA0EIaiABIAQgA0EUahA9IAMoAgwhASADKAIIRQRAIAAgBDYCACAAIAE2AgQMAgsgAUGBgICAeEYNASABRQ0AIAEgA0EQaigCAEHo/cAAKAIAIgBB1gAgABsRAgAACxCSAQALIANBIGokAAvaAQECfyMAQSBrIgMkAAJAAkAgASABIAJqIgFLDQAgACgCACICQQF0IgQgASABIARJGyIBQQggAUEISxsiBEF/c0EfdiEBAkAgAkUEQCADQQA2AhgMAQsgAyACNgIcIANBATYCGCADIAAoAgQ2AhQLIANBCGogASAEIANBFGoQMiADKAIMIQEgAygCCEUEQCAAIAQ2AgAgACABNgIEDAILIAFBgYCAgHhGDQEgAUUNACABIANBEGooAgBB6P3AACgCACIAQdYAIAAbEQIAAAsQkgEACyADQSBqJAALxwEBAX8jAEEQayIPJAAgACgCFCABIAIgAEEYaigCACgCDBEBACEBIA9BADoADSAPIAE6AAwgDyAANgIIIA9BCGogAyAEIAUgBhAgIAcgCCAJIAoQICALIAwgDSAOECAhAiAPLQAMIQECfyABQQBHIA8tAA1FDQAaQQEgAQ0AGiACKAIAIgAtABxBBHFFBEAgACgCFEG/5sAAQQIgACgCGCgCDBEBAAwBCyAAKAIUQb7mwABBASAAKAIYKAIMEQEACyAPQRBqJAAL1gEBA38jAEHQAGsiACQAIABBMzYCDCAAQfCMwAA2AgggAEEANgIoIABCgICAgBA3AiAgAEHEAGpB1I3AADYCACAAQQM6AEwgAEEgNgI8IABBADYCSCAAQQA2AjQgAEEANgIsIAAgAEEgajYCQCAAQQhqIgEoAgAgASgCBCAAQSxqEOsBBEBB7I3AAEE3IABBEGpBpI7AAEGAj8AAEE4ACyAAQRBqIgFBCGogAEEoaigCACICNgIAIAAgACkCIDcDECAAKAIUIAIQASABELABIABB0ABqJAALrQEBAX8gACIEAn8CQAJ/AkACQCABBEAgAkEASA0BIAMoAgQEQCADQQhqKAIAIgAEQCADKAIAIAAgASACEL8BDAULCyACRQ0CQa39wAAtAAAaIAIgARDJAQwDCyAEQQA2AgQgBEEIaiACNgIADAMLIARBADYCBAwCCyABCyIABEAgBCAANgIEIARBCGogAjYCAEEADAILIAQgATYCBCAEQQhqIAI2AgALQQELNgIAC64BAQF/AkACQCABBEAgAkEASA0BAn8gAygCBARAAkAgA0EIaigCACIERQRADAELIAMoAgAgBCABIAIQvwEMAgsLIAEgAkUNABpBrf3AAC0AABogAiABEMkBCyIDBEAgACADNgIEIABBCGogAjYCACAAQQA2AgAPCyAAIAE2AgQgAEEIaiACNgIADAILIABBADYCBCAAQQhqIAI2AgAMAQsgAEEANgIECyAAQQE2AgALtAEBA38jAEEQayICJAAgAkKAgICAwAA3AgQgAkEANgIMQQAgAUEIayIEIAEgBEkbIgFBA3YgAUEHcUEAR2oiBARAQQghAQNAIAIoAgQgA0YEQCACQQRqIAMQeCACKAIMIQMLIAIoAgggA0ECdGogATYCACACIAIoAgxBAWoiAzYCDCABQQhqIQEgBEEBayIEDQALCyAAIAIpAgQ3AgAgAEEIaiACQQxqKAIANgIAIAJBEGokAAu9AQEBfyMAQRBrIgskACAAKAIUIAEgAiAAQRhqKAIAKAIMEQEAIQEgC0EAOgANIAsgAToADCALIAA2AgggC0EIaiADIAQgBSAGECAgByAI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BigCBCAEQQF0akEAOwEAIAYgBigCCEEBajYCCAwBCyAEQQFrIQUgBARAIAYoAgQgBUEBdGoiBCAELwEAQQpsIAJqQTBrOwEADAELIAVBAEGIpcAAEFkACwwJCyAGQQc6ABggBhBNDAgLIAZBAzoAGCAGEE0MBwsgAyACECYMBgsgBkEAOgAYAkACQAJAAkACQAJAAkACQAJAIAZBFGooAgBFBEAgAkHg//8AcUHAAEYNASACQTdrDgICAwQLIAZBEGooAgAhBCACQTBGDQQgAkE4Rg0FIAQoAgAhBAwHCyADIAJBQGtB/wFxECYMBwsgA0H0AGogAykBqgE3AQAgA0H+AGogAy8BtgE7AQAgA0HwAGogA0HkAGooAgA2AgAgA0H8AGogA0GyAWovAQA7AQAgAyADKAJgIgIgAygClAFBAWsiBCACIARJGzYCbAwGCyADQQA6ALkBIAMgAykCbDcCYCADIANB9ABqKQEANwGqASADQbIBaiADQfwAai8BADsBACADIANB/gBqLwEAOwG2AQwFCyACQeMARw0EIAZBADoAGCMAQeAAayICJAAgAkEIaiADKAKUASIEIAMoApgBIgUgAygCQCADQcQAaigCAEEAEC0gAkEoaiAEIAVBAUEAQQAQLSADQQhqIgUQgAEgAygCCARAIANBDGooAgAQFQsgAyACKQIINwIAIANBGGogAkEIaiIEQRhqKQIANwIAIANBEGogBEEQaikCADcCACAFIARBCGopAgA3AgAgA0EgaiEEIANBKGoiBRCAASAFKAIABEAgA0EsaigCABAVCyAEIAIpAig3AgAgA0EAOgC0ASAEQRhqIAJBKGoiBUEYaikCADcCACAEQRBqIAVBEGopAgA3AgAgBEEIaiAFQQhqKQIANwIAIAJB1ABqIAMoApQBED4gA0HIAGohBCADKAJIBEAgA0HMAGooAgAQFQsgBCACKQJUNwIAIARBCGogAkHUAGoiB0EIaiIEKAIANgIAIANBsgFqQQA7AQAgA0GuAWpBAjoAACADQQI6AKoBIANB6ABqQQE6AAAgA0IANwJgIANBADsBqAEgA0EAOgC5ASADQYCABDYAtQEgA0IANwKcASADQZABakGAgIAINgIAIANBjAFqQQI6AAAgA0GIAWpBAjoAACADQYQBakEANgIAIANB/ABqQoCAgAg3AgAgA0H4AGpBAjoAACADQfQAakECOgAAIANCADcCbCADIAMoApgBIgVBAWs2AqQBIAIgBRBmIARBADYCACACIAIpAwA3AlQgByAFQQEQTyACQdAAaiAEKAIANgIAIAIgAikCVDcDSCADQdQAaiEEIAMoAlQEQCADQdgAaigCABAVCyAEIAIpA0g3AgAgBEEIaiACQdAAaigCADYCACADQQA6ALsBIAJB4ABqJAAMBAsgBCgCACIEQShGDQEMAgsgBCgCACIEQSNHDQEjAEEQayICJAACQAJAIAMoApgBIggEQCADQdgAaigCACEKIANB3ABqKAIAIQQgAygClAEhBwNAIAcEQEEAIQUDQCACQQA7AQwgAkECOgAIIAJBAjoABCACQcUANgIAIAMgBSAJIAIQgQEgByAFQQFqIgVHDQALCyAEIAlGDQIgCSAKakEBOgAAIAggCUEBaiIJRw0ACwsgAkEQaiQADAELIAQgBEHQqcAAEFkACwwCCyADQQE6AKgBDAELAkACQCAEQShrDgIAAQILIANBADoAqAEMAQsgAkEwRgRAIANBAToAqQEMAQsgA0EAOgCpAQsMBQsgBkEGOgAYDAQLIAZBADoAGAwDCyAGQQA6ABgCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAZBFGooAgBFBEAgAkFAag42AQIDEgQFBiIWBwgJCgsjIwwjIw0OIyMPECMRIyMjIyMiEhMjFBUWFxgjIyMhICMjIyMfHh0cIwsgBkEQaigCACEEAkAgAkHsAGsOBRkjIyMbAAsgAkHoAEYNGQwiCyMAQRBrIgIkACAGKAIEQZilwAAgBigCCBsvAQAhBSADQeQAaigCACEEIAMoAmAhByACQQxqIANBsgFqLwEAOwEAIAJBIDYCACACIAMpAaoBNwIEIAMoAhQgB2shCCADIARBtJzAABB9IAcgBUEBIAVBAUsbIgUgCCAFIAhJGyACEEEgA0HcAGooAgAiBSAETQRAIAQgBUHQqcAAEFkACyADQdgAaigCACAEakEBOgAAIAJBEGokAAwhCyADQQA6ALkBIAMgAygCYCICIAMoApQBQQFrIgQgAiAESRs2AmBBACADKAKgASICIANB5ABqIgQoAgAiBSAC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7ABqIgooAgA2AgAgCiAMNgIAIAlBBGoiCUEURw0AC0EAIQkDQCADIAlqIgpBIGoiCygCACEMIAsgCigCADYCACAKIAw2AgAgCUEEaiIJQSBHDQALIAIgAygClAEgAygCmAEiCUEBQQAgA0GqAWoQLSADQQhqIgoQgAEgAygCCARAIANBDGooAgAQFQsgAyACKQIANwIAIANBGGogAkEYaikCADcCACADQRBqIAJBEGopAgA3AgAgCiACQQhqKQIANwIAIANB1ABqQQAgCRBwCyACQSBqJAAgAxA2DAELIAMgAygCZDYCcCAHIAgpAQA3AQAgAyADLwG2ATsBfiAHQQhqIAhBCGovAQA7AQAgAyADKAJgIgIgAygClAFBAWsiCSACIAlJGzYCbAsgBEECaiEEIAVBAmsiBQ0ACwsMCAsgBCgCAEEhRw0HIANBADsAtQEgA0ECOgCqASADQQA7AagBIANCADcCnAEgA0IANwJsIANB6ABqQQE6AAAgA0GyAWpBADsBACADQa4BakECOgAAIANB/ABqQYCAgAg2AgAgA0H4AGpBAjoAACADQfQAakECOgAAIAMgAygCmAFBAWs2AqQBDAcLIANBADoAuQEgAyADKQJsNwJgIAMgA0H0AGopAQA3AaoBIANBsgFqIANB/ABqLwEAOwEAIAMgA0H+AGovAQA7AbYBDAYLAkAgAy0AugFFDQAgBigCBCICQZilwAAgBigCCCIEGy8BAEEIRw0AIAJBAmpBmKXAACAEQQFLGy8BACIFIAMoApgBIgkgBRshCiACQQRqQZilwAAgBEECSxsvAQAiBCADKAKUASICIAQbIQgCQAJAAkACQEF/IAIgCEcgAiAISxtB/wFxDgIDAQALIANB0ABqKAIAIgIEQCADQcwAaigCACELIAIhBANAIAsgAkEBdiAHaiICQQJ0aigCACAISSEFIAQgAiAFGyIEIAJBAWogByAFGyIHayECIAQgB0sNAAsLIAMgBzYCUAwBCyADQcgAaiEFQQAgCCACQXhxQQhqIgRrIgIgAiAISxsiAkEDdiACQQdxQQBHaiICBEBBACACayEJIAUoAgghAgNAIAUoAgAgAkYEQCAFIAIQeCAFKAIIIQILIAUoAgQgAkECdGogBDYCACAFIAUoAghBAWoiAjYCCCAEQQhqIQQgCUEBaiIJDQALCyAD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IQggAygCBCEJA0AgBUEIaiACEFwgBSgCCCEKIAUoAgwgCSAHEO8BIQsgACgCAARAIABBBGooAgAQFQsgACAIOgAMIAAgAjYCCCAAIAs2AgQgACAKNgIAIAYgAEEQaiIARw0ACwsgASgCAARAIAEoAgQQFQsgASADKQIANwIAIAFBCGogA0EIaikCADcCAAwBCyADKAIARQ0AIAMoAgQQFQsgBUEQaiQAIARBIGokAA8LIAEgAkHknsAAEFsACyACIABB5J7AABBaAAt8AQJ/IABBADoAuQEgACAAKAJgIgIgACgClAFBAWsiAyACIANJGzYCYCAAKAKYAUEBayAAKAKkASICIAIgAEHkAGoiAigCACIDSRshACACIAAgAyABKAIEQZilwAAgASgCCBsvAQAiAUEBIAFBAUsbaiIBIAAgAUkbNgIAC2sBBX8CQCAAKAIIIgJFDQAgACgCBEEQayEEIAJBBHQhAyACQQFrQf////8AcUEBaiEFAkADQCADIARqEGtFDQEgAUEBaiEBIANBEGsiAw0ACyAFIQELIAFBAWsgAk8NACAAIAIgAWs2AggLC3UBAn8jAEEQayIEJAAgBEEIaiABKAIQIAIgAxDAASAEKAIMIQIgBCgCCCIDRQRAAkAgASgCCEUNACABQQxqKAIAIgVBhAFJDQAgBRAACyABQQE2AgggAUEMaiACNgIACyAAIAM2AgAgACACNgIEIARBEGokAAt2AQF/IwBBMGsiAiQAIAIgATYCBCACIAA2AgAgAkEIaiIAQQxqQgI3AgAgAkEgaiIBQQxqQdUANgIAIAJBAzYCDCACQcjiwAA2AgggAkHVADYCJCACIAE2AhAgAiACQQRqNgIoIAIgAjYCICAAQfyawAAQkwEAC3MBAX8jAEEwayIDJAAgAyAANgIAIAMgATYCBCADQQhqIgBBDGpCAjcCACADQSBqIgFBDGpB1QA2AgAgA0ECNgIMIANBoOnAADYCCCADQdUANgIkIAMgATYCECADIANBBGo2AiggAyADNgIgIAAgAhCTAQALcwEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBCGoiAEEMakICNwIAIANBIGoiAUEMakHVADYCACADQQI2AgwgA0HU5MAANgIIIANB1QA2AiQgAyABNgIQIAMgAzYCKCADIANBBGo2AiAgACAC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CCEDIARBDGooAgAhAiAEKAIAIQcgBCgCBCEIIAQtABAhBCMAQSBrIgEkACAAIAMgAiAHIAhBABAtIABBIGogAyACQQFBAEEAEC0gASACEGYgAUEUaiIGQQhqIglBADYCACABIAEpAwA3AhQgBiACQQEQTyABQRBqIgYgCSgCADYCACABIAEpAhQ3AwggAEHIAGogAxA+IABBADoAtAEgACACNgKYASAAIAM2ApQBIABBkAFqQYCAgAg2AgAgAEGMAWpBAjoAACAAQYgBakECOgAAIABBhAFqQQA2AgAgAEH8AGpCgICACDcCACAAQfgAakECOgAAIABB9ABqQQI6AAAgAEIANwJsIAAgBzYCQCAAQcQAaiAINgIAIABB6ABqQQE6AAAgAEECOgCqASAAQa4BakECOgAAIABBsgFqQQA7AQAgAEIANwJgIABBADsBqAEgAEGAgAQ2ALUBIABBADoAuQEgAEIANwKcASAAIAJBAWs2AqQBIABBADoAuwEgACAEOgC6ASAAIAEpAwg3AlQgAEHcAGogBigCADYCACABQSBqJABBrf3AAC0AABpB3AFBBBDJASIBRQRAQQRB3AFB6P3AACgCACIAQdYAIAAbEQIAAAsgAUEANgIAIAFBBGogAEHYARDvARogBUHwAWokACABC2ABAX8CQAJAAkAgAUUEQEEBIQIMAQsgAUEASA0BQa39wAAtAAAaIAFBARDJASICRQ0CCyAAIAI2AgQgACABNgIADwsQkgEAC0EBIAFB6P3AACgCACIAQdYAIAAbEQIAAAvpBAEHfyMAQRBrIgYkACAGQQhqIAEgAkECEFYCfyAGKAIIBEBBASECIAYoAgwMAQsjAEEgayIFJAAgASICKAIIIQEgAkEANgIIAn8CQAJAIAEEQCAFIAJBDGooAgAiATYCFCAFQQhqIQkgAigCECEHIwBB0ABrIgQkAAJAIAMtAABFBEAgBCADLQABuBADNgIEIARBADYCACAEKAIEIQMgBCgCACEHDAELIARBIGoiCkEMakIDNwIAIARBzABqQSo2AgAgBEE4aiIIQQxqQSo2AgAgBEEENgIkIARBrJDAADYCICAEIANBA2o2AkggBCADQQJqNgJAIARBKjYCPCAEIANBAWo2AjggBCAINgIoIARBFGoiCCAKEB0gBEEIaiAHIAQoAhggBCgCHBDA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AgwMAQsgBEEQaiEGIAJBBGohAiMAQUBqIgEkACABQTBqIARBHGoQtgECfwJAAkACfwJAIAEoAjAEQCABQSBqIgVBCGogAUE4aigCADYCACABIAEpAjA3AyAgAUEYaiAFIAIQYyABKAIYRQ0BIAEoAhwMAgsgASgCNCECDAILIAFBEGogAUEgaiACQQRqEGMgASgCEEUNAiABKAIUCyECIAEoAiQiBUGEAUkNACAFEAALQQEMAQsgAUEwaiICQQhqIAFBKGooAgA2AgAgASABKQMgNwMwIAFBCGoiBSACKAIENgIEIAVBADYCACABKAIMIQIgASgCCAshBSAGIAI2AgQgBiAFNgIAIAFBQGskACAEKAIQIQEgBCgCFAs2AgQgAyABNgIAIARBIGokACADKAIEIQIgAygCAARAIAMgAjYCFEGwgMAAQSsgA0EUakHcgMAAQcCEwAAQTgALIANBIGokACAAIAAoAgBBAWs2AgAgAg8LEOMBAAsQ5AEAC0UBAX8gAiABayIDIAAoAgAgACgCCCICa0sEQCAAIAIgAxB7IAAoAgghAgsgACgCBCACaiABIAMQ7wEaIAAgAiADajYCCAtGAQN/IAFBEGooAgAiAiABKAIYIgNrIQQgAiADSQRAIAQgAkHEnsAAEFgACyAAIAM2AgQgACABQQxqKAIAIARBBHRqNgIAC0YBA38gAUEQaigCACICIAEoAhgiA2shBCACIANJBEAgBCACQdSewAAQWAALIAAgAzYCBCAAIAFBDGooAgAgBEEEdGo2AgALTwECfyAAKAIEIQIgACgCACEDAkAgACgCCCIALQAARQ0AIANBsObAAEEEIAIoAgwRAQBFDQBBAQ8LIAAgAUEKRjoAACADIAEgAigCEBEAAAtNAQF/IwBBEGsiAiQAIAIgACgCACIAQQxqNgIMIAFBtI/AAEEEQbiPwABBBSAAQcCPwABB0I/AAEEHIAJBDGpB2I/AABA/IAJBEGokAAtCAQF/IAIgACgCACAAKAIIIgNrSwRAIAAgAyACEDggACgCCCEDCyAAKAIEIANqIAEgAhDvARogACACIANqNgIIQQALXwECf0Gt/cAALQAAGiABKAIEIQIgASgCACEDQQhBBBDJASIBRQRAQQRBCEHo/cAAKAIAIgBB1gAgABsRAgAACyABIAI2AgQgASADNgIAIABBiN/AADYCBCAAIAE2AgALQgEBfyACIAAoAgAgACgCCCIDa0sEQCAAIAMgAhA5IAAoAgghAwsgACgCBCADaiABIAIQ7wEaIAAgAiADajYCCEEAC0gBAX8jAEEgayIDJAAgA0EMakIANwIAIANBATYCBCADQYzjwAA2AgggAyABNgIcIAMgADYCGCADIANBGGo2AgAgAyACEJMBAAtJAQF/IwBBEGsiAiQAIAIgADYCDCABQYCAwABBAkGCgMAAQQYgAEG8AWpBiIDAAEGYgMAAQQggAkEMakGggMAAED8gAkEQaiQAC/4BAQJ/IwBBEGsiAyQAIAMgACgCACIAQQRqNgIMIwBBEGsiAiQAIAIgASgCFEGQj8AAQQQgAUEYaigCACgCDBEBADoADCACIAE2AgggAkEAOgANIAJBADYCBCACQQRqIABBlI/AABAqIANBDGpBpI/AABAqIQACfyACLQAMIgFBAEcgACgCACIARQ0AGkEBIAENABogAigCCCEBAkAgAEEBRw0AIAItAA1FDQAgAS0AHEEEcQ0AQQEgASgCFEHE5sAAQQEgAUEYaigCACgCDBEBAA0BGgsgASgCFEHS48AAQQEgAUEYaigCACgCDBEBAAsgAkEQaiQAIANBEGokAAs5AAJAAn8gAkGAgMQARwRAQQEgACACIAEoAhARAAANARoLIAMNAUEACw8LIAAgAyAEIAEoAgwRAQALzAIBA38gACgCACEAIAEoAhwiA0EQcUUEQCADQSBxRQRAIAAzAQAgARAjDwsjAEGAAWsiAyQAIAAvAQAhAkEAIQADQCAAIANqQf8AakEwQTcgAkEPcSIEQQpJGyAEajoAACAAQQFrIQAgAkH//wNxIgRBBHYhAiAEQRBPDQALIABBgAFqIgJBgAFLBEAgAkGAAUHk5sAAEFgACyABQfTmwABBAiAAIANqQYABakEAIABrEBQgA0GAAWokAA8LIwBBgAFrIgMkACAALwEAIQJBACEAA0AgACADakH/AGpBMEHXACACQQ9xIgRBCkkbIARqOgAAIABBAWshACACQf//A3EiBEEEdiECIARBEE8NAAsgAEGAAWoiAkGAAUsEQCACQYABQeTmwAAQWAALIAFB9ObAAEECIAAgA2pBgAFqQQAgAGsQFCADQYABaiQACzcBAX8gACgCACEAIAEoAhwiAkEQcUUEQCACQSBxRQRAIAAgARDXAQ8LIAAgARBFDwsgACABEEILNwEBfyAAKAIAIQAgASgCHCICQRBxRQRAIAJBIHFFBEAgACABENgBDwsgACABEEMPCyAAIAEQRAtAAQF/IwBBIGsiACQAIABBFGpCADcCACAAQQE2AgwgAEGA4cAANgIIIABBsODAADYCECAAQQhqQYjhwAAQkwEAC7YCAQJ/IwBBIGsiAiQAIAJBATsBHCACIAE2AhggAiAANgIUIAJBkOTAADYCECACQYzjwAA2AgwjAEEQayIBJAAgAkEMaiIAKAIIIgJFBEBBoN3AAEErQejewAAQiwEACyABIAAoAgw2AgwgASAANgIIIAEgAjYCBCMAQRBrIgAkACABQQRqIgEoAgAiAkEMaigCACEDAkACfwJAAkAgAigCBA4CAAEDCyADDQJBACECQaDdwAAMAQsgAw0BIAIoAgAiAygCBCECIAMoAgALIQMgACACNgIEIAAgAzYCACAAQZjfwAAgASgCBCIAKAIIIAEoAgggAC0AECAALQAREDQACyAAIAI2AgwgAEGAgICAeDYCACAAQazfwAAgASgCBCIAKAIIIAEoAgggAC0AECAALQAREDQACzABAX8gASgCHCICQRBxRQRAIAJBIHFFBEAgACABENgBDwsgACABEEMPCyAAIAEQRAswAQF/IAEoAhwiAkEQcUUEQCACQSBxRQRAIAAgARDXAQ8LIAAgARBFDwsgACABEEILMwEBfyMAQRBrIgIkACACIAAoAgA2AgwgAUHMkMAAQQ0gAkEMakHckMAAEDMgAkEQaiQACzIAAkAgAEH8////B0sNACAARQRAQQQPC0Gt/cAALQAAGiAAQQQQyQEiAEUNACAADwsACzABAX8jAEEQayICJAAgAiAANgIMIAFB/4HAAEEGIAJBDGpBiILAABAzIAJBEGokAAswAQF/IwBBEGsiAiQAIAIgADYCDCABQfSDwABBBSACQQxqQfyDwAAQMyACQRBqJAALMAEBfyMAQRBrIgIkACACIAA2AgwgAUGchsAAQQQgAkEMakGghsAAEDMgAkEQaiQACzABAX8jAEEQayICJAAgAiAANgIMIAFB1ozAAEEKIAJBDGpB4IzAABAzIAJBEGokAAu/EwIYfwV+IwBBEGsiFCQAIBQgATYCDCAUIAA2AgggFEEIaiEA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AgQQFQsLLwECfyAAIAAoAqABIgIgACgCpAFBAWoiAyABIABBqgFqECEgAEHUAGogAiADEHALLwECfyAAIAAoAqABIgIgACgCpAFBAWoiAyABIABBqgFqEFAgAEHUAGogAiADEHALKwAgASACSQRAQbSnwABBI0GkqMAAEIsBAAsgAiAAIAJBBHRqIAEgAmsQEws1AQF/IAEoAhRBjOTAAEEBIAFBGGooAgAoAgwRAQAhAiAAQQA6AAUgACACOgAEIAAgATYCAAsjAAJAIAFB/P///wdNBEAgACABQQQgAhC/ASIADQELAAsgAAslACAARQRAQeCXwABBMhDiAQALIAAgAiADIAQgBSABKAIQEQgACzMAIAEoAhQgAC0AAEECdCIAQYiFwABqKAIAIABB0ITAAGooAgAgAUEYaigCACgCDBEBAAszACABKAIUIAAtAABBAnQiAEGwjcAAaigCACAAQaSNwABqKAIAIAFBGGooAgAoAgwRAQALMwAgASgCFCAALQAAQQJ0IgBBxJPAAGooAgAgAEG4k8AAaigCACABQRhqKAIAKAIMEQEACyMAIABFBEBB4JfAAEEyEOIBAAsgACACIAMgBCABKAIQEQUACyMAIABFBEBB4JfAAEEyEOIBAAsgACACIAMgBCABKAIQERgACyMAIABFBEBB4JfAAEEyEOIBAAsgACACIAMgBCABKAIQERoACyMAIABFBEBB4JfAAEEyEOIBAAsgACACIAMgBCABKAIQERwACyMAIABFBEBB4JfAAEEyEOIBAAsgACACIAMgBCABKAIQEQwACx8AIAAoAgBBgICAgHhyQYCAgIB4RwRAIAAoAgQQFQsLMQAgASgCFEGdkMAAQZiQwAAgACgCAC0AACIAG0EHQQUgABsgAUEYaigCACgCDBEBAAshACAARQRAQeCXwABBMhDiAQALIAAgAiADIAEoAhARAwALEQAgACgCAARAIAAoAgQQFQsLIgAgAC0AAEUEQCABQeDowABBBRARDwsgAUHl6MAAQQQQEQsuACABKAIUQfuLwABB9IvAACAALQAAIgAbQQlBByAAGyABQRhqKAIAKAIMEQEACx8AIABFBEBB4JfAAEEyEOIBAAsgACACIAEoAhARAAALDwAgABCwASAAQQxqELABCxsAEAchAiAAQQA2AgggACACNgIEIAAgATYC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CyACIQAMAQsgBiAEIAVBAXFyQQJyNgIAIAQgCGoiAiABIARrIgFBAXI2AgRBpIHBACABNgIAQayBwQAgAjYCAAsgAAsUACAAIAIgAxAFNgIEIABBADYCAAsLACABBEAgABAVCwsTACABKAIUIAFBGGooAgAgABAWCxEAIABBCGoiABCAASAAELABCxMAIAAoAgAgASgCACACKAIAEAwLEAAgACABIAEgAmoQgwFBAAsUACAAKAIAIAEgACgCBCgCDBEAAAuSAQECfyAAKAIEIQIgACgCCCEDIwBBEGsiACQAIABBBGogARCiASADBEAgA0EEdCEBA0AgACACNgIMIABBBGogAEEMakGMkcAAECkgAkEQaiECIAFBEGsiAQ0ACwsgAEEEaiIBLQAEBH9BAQUgASgCACIBKAIUQcbmwABBASABQRhqKAIAKAIMEQEACyAAQRBqJAALkgEBAn8gACgCBCECIAAoAgghAyMAQRBrIgAkACAAQQRqIAEQogEgAwRAIANBBHQhAQNAIAAgAjYCDCAAQQRqIABBDGpB7JHAABApIAJBEGohAiABQRBrIgENAAsLIABBBGoiAS0ABAR/QQEFIAEoAgAiASgCFEHG5sAAQQEgAUEYaigCACgCDBEBAAsgAEEQaiQACxkAAn8gAUEJTwRAIAEgABAcDAELIAAQDwsLEQAgACgCBCAAKAIIIAEQ6wELqAIBBn8jAEEQayIFJAACQAJAAkAgASgCCCICIAEoAgBPDQAgBUEIaiEGIwBBIGsiBCQAAkAgASgCACIDIAJPBEACf0GBgICAeCADRQ0AGiABKAIEIQcCQCACRQRAQQEhAyAHEBUMAQtBASAHIANBASACEL8BIgNFDQEaCyABIAI2AgAgASADNgIEQYGAgIB4CyEDIAYgAjYCBCAGIAM2AgAgBEEgaiQADAELIARBFGpCADcCACAEQQE2AgwgBEG8mcAANgIIIARBmJnAADYCECAEQQhqQZCawAAQkwEACyAFKAIIIgJBgYCAgHhGDQAgAkUNASACIAUoAgxB6P3AACgCACIAQdYAIAAbEQIAAAsgBUEQaiQADAELEJIBAAsgACABKQIENwMACw4AIAAgASABIAJqEIMBCyAAIABC5N7HhZDQhd59NwMIIABCwff56MyTstFBNwMACyIAIABCjYSZ6OiU74GjfzcD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c3RkL3NyYy90aHJlYWQvbG9jYWwucnMAKAoQAE8AAAD2AAAAGgAAAP//////////iAoQAEGglcAAC9gVIGNhbid0IGJlIHJlcHJlc2VudGVkIGFzIGEgSmF2YVNjcmlwdCBudW1iZXKIChAAAAAAAKAKEAAsAAAARAAAAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3NlcmRlLXdhc20tYmluZGdlbi0wLjQuNS9zcmMvbGliLnJzAAAA4AoQAGUAAAA1AAAADgAAAFRyaWVkIHRvIHNocmluayB0byBhIGxhcmdlciBjYXBhY2l0eVgLEAAkAAAAL3J1c3RjLzA3ZGNhNDg5YWMyZDkzM2M3OGQzYzUxNThlM2Y0M2JlZWZlYjAyY2UvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy5yc4QLEABMAAAAzwEAAAkAAABjbG9zdXJlIGludm9rZWQgcmVjdXJzaXZlbHkgb3IgYWZ0ZXIgYmVpbmcgZHJvcHBlZEpzVmFsdWUoKQASDBAACAAAABoMEAABAAAAbnVsbCBwb2ludGVyIHBhc3NlZCB0byBydXN0cmVjdXJzaXZlIHVzZSBvZiBhbiBvYmplY3QgZGV0ZWN0ZWQgd2hpY2ggd291bGQgbGVhZCB0byB1bnNhZmUgYWxpYXNpbmcgaW4gcnVzdAAAVHJpZWQgdG8gc2hyaW5rIHRvIGEgbGFyZ2VyIGNhcGFjaXR5mAwQACQAAAAvcnVzdGMvMDdkY2E0ODlhYzJkOTMzYzc4ZDNjNTE1OGUzZjQzYmVlZmViMDJjZS9saWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjLnJzxAwQAEwAAADPAQAACQAAAC9ydXN0Yy8wN2RjYTQ4OWFjMmQ5MzNjNzhkM2M1MTU4ZTNmNDNiZWVmZWIwMmNlL2xpYnJhcnkvYWxsb2Mvc3JjL3ZlYy9tb2QucnMgDRAATAAAACQIAAAkAAAAIA0QAEwAAADvBQAAFQAAAGNhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWUvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9hdnQtMC4xMC4yL3NyYy9idWZmZXIucnMAAAC3DRAAWgAAAGEAAAANAAAAtw0QAFoAAABlAAAADQAAALcNEABaAAAAagAAAA0AAAC3DRAAWgAAAG8AAAAdAAAAtw0QAFoAAAB8AAAAJQAAALcNEABaAAAAhgAAACUAAAC3DRAAWgAAAI4AAAAVAAAAtw0QAFoAAACYAAAAJQAAALcNEABaAAAAnwAAABUAAAC3DRAAWgAAAKQAAAAlAAAAtw0QAFoAAACvAAAAEQAAALcNEABaAAAAvgAAABEAAAC3DRAAWgAAAMAAAAARAAAAtw0QAFoAAADKAAAADQAAALcNEABaAAAAzgAAABEAAAC3DRAAWgAAANEAAAANAAAAtw0QAFoAAAD7AAAAKwAAALcNEABaAAAAQAEAACwAAAC3DRAAWgAAADkBAAAbAAAAtw0QAFoAAABMAQAAFAAAALcNEABaAAAAXgEAABgAAAC3DRAAWgAAAGMBAAAYAAAAYXNzZXJ0aW9uIGZhaWxlZDogbGluZXMuaXRlcigpLmFsbCh8bHwgbC5sZW4oKSA9PSBjb2xzKQC3DRAAWgAAANIBAAAFAAAAYXNzZXJ0aW9uIGZhaWxlZDogbWlkIDw9IHNlbGYubGVuKCkvcnVzdGMvMDdkY2E0ODlhYzJkOTMzYzc4ZDNjNTE1OGUzZjQzYmVlZmViMDJjZS9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL21vZC5yc98PEABNAAAAaA0AAAkAAABhc3NlcnRpb24gZmFpbGVkOiBrIDw9IHNlbGYubGVuKCkAAADfDxAATQAAAJMNAAAJAAAAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYXZ0LTAuMTAuMi9zcmMvbGluZS5yc3AQEABYAAAAFgAAABMAAABwEBAAWAAAABoAAAATAAAAcBAQAFgAAAAeAAAAEwAAAHAQEABYAAAAHwAAABMAAABwEBAAWAAAACMAAAATAAAAcBAQAFgAAAAlAAAAEwAAAHAQEABYAAAAOgAAACUAAAAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9hdnQtMC4xMC4yL3NyYy90YWJzLnJzOBEQAFgAAAAXAAAAFAAAAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2F2dC0wLjEwLjIvc3JjL3Rlcm1pbmFsLnJzoBEQAFwAAABwAQAAFQAAAKAREABcAAAApwEAABEAAACgERAAXAAAAOYCAAAjAAAAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYXZ0LTAuMTAuMi9zcmMvcGFyc2VyLnJzAAAsEhAAWgAAAIwBAAAnAAAAAAAAAFIAAAAMAAAABAAAAFMAAABUAAAALgAAAGYmAACSJQAACSQAAAwkAAANJAAACiQAALAAAACxAAAAJCQAAAskAAAYJQAAECUAAAwlAAAUJQAAPCUAALojAAC7IwAAACUAALwjAAC9IwAAHCUAACQlAAA0JQAALCUAAAIlAABkIgAAZSIAAMADAABgIgAAowAAAMUiAAAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi91bmljb2RlLXdpZHRoLTAuMS4xMS9zcmMvdGFibGVzLnJzMBMQAGQAAAAnAAAAGQAAADATEABkAAAALQAAAB0AAABhc3NlcnRpb24gZmFpbGVkOiBtaWQgPD0gc2VsZi5sZW4oKS9ydXN0Yy8wN2RjYTQ4OWFjMmQ5MzNjNzhkM2M1MTU4ZTNmNDNiZWVmZWIwMmNlL2xpYnJhcnkvY29yZS9zcmMvc2xpY2UvbW9kLnJz1xMQAE0AAABoDQAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IGsgPD0gc2VsZi5sZW4oKQAAANcTEABNAAAAkw0AAAkAAAAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9hdnQtMC4xMC4yL3NyYy90ZXJtaW5hbC9kaXJ0eV9saW5lcy5yc2gUEABoAAAADAAAAA8AAABoFBAAaAAAABAAAAAPAAAAAAECAwMEBQYHCAkKCwwNDgMDAwMDAwMPAwMDAwMDAw8JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCRAJCQkJCQkJERERERERERIREREREREREgBB8avAAAufFAECAwQFBgcGCAYJCgsMDQ4PEAYGBhESExQGFRYXGBkaGxwdHh8gISIjIiQlJicoKSolKywtLi8wMTIzNDU2Nzg5OgY7PAoKBgYGBgY9BgYGBgYGBgYGBgYGBgY+P0BBQgZDBkQGBgZFRkdISUpLTE0GBk4GBgYKBgYGBgYGBgZPUFFSU1RVVldYWQZaBgZbBlxdXl1fYGFiY2RlZmdoBgYGBgYGBgYGBgYGBmlqBgYGBgZrBgEGbAYGbW47OztvcHFyO3M7dHV2dzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt4eQYGBgYGent8BgYGBn0GBn5/gIGCg4SFhgYGBoc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzuIBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXTs7Ozs7Ozs7iQYGBgYGBgYGBgYGiosGAXGMBo0GBgYGBgYGjgYGBo8GkAYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGkQYGkgYGBgYGBgYGkwYGBgYGlJUGlpcGmJmam5ydnp+gLgahLKIGBqOkpaYGBqeoqaqrBqwGBgatBgYGrq8GsLGyswYGBgYGtAa1Bra3uAYGBga5ursGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGR7wGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGvb4GBgYGBgYGBgYGBgYGBgYGv8DBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzvCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O8PEBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGxTs7OzvGxzs7Ozs7yAYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGyQYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgbKywYGBgYGBgbMzQYGzgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBs/Q0QYGBgYGBgYGBgYGBgYGBgYGBgYGBtIGvwa+BgYGBgbT1AYGBgYGBgbUBgYGBgYGBgYGBgYGBgYG1QbWBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgbXBgbY2drbBtzdBgbe3+Dh4uM75OXm5+g76TvqBgYG6wYGBgbs7Ts7Bu7v8AYGBgYGBgYGBgYGBgYGBgYGBgYGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O+XxCgYGCgoKCwYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBl1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXfIAAAAAAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFQAAAAAAAAAAXdd3df/3f/9VdVVVV9VX9V91f1/31X93XVVVVd1V1VVV9dVV/VVX1X9X/131VVVVVfXVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVdXd3d1dVVVVVVVVVVVVVVVVdVVVVXVVVVVVVVVVV1/1dV1X/3VVVVVVVVVVVAEGswMAAC1lVVVVVVVVVVf3////f/19V/f///9//X1VVVVVVVVVVVVVVVVVdVVVV/////////////////////11VVVVVVVVVVVVVVRUAUFVVVVVVVVVVVVVVVVVVVVVVAQBBj8HAAAu0ARBBEFVVVVVVVVVVVVVVVVVVAFBVVQAAQFRVVVVVVVVVVVVVFQAAAAAAVVVVVVRVVVVVVVVVVQUAEAAUBFBVVVVVVVVVFVFVVVVVVVVVAAAAAAAAQFVVVVVVVVVVVVVVVVVVVVVVVVVVVVUFAABUVVVVVVVVVVVVVVVVVRUAAFVVUVVVVVVVBRAAAAEBUFVVVVVVVVVVVVUBVVVVVVVVVVVVVVVVVVBVAABVVVVVVVVVVVVVBQBB0MLAAAvAFUBVVVVVVVVVVVVVVVVVRVQBAFRRAQBVVQVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVAFUVVFVVVVVBVVVVVVVVUVBVVVVVVVVVVVVVVVVVVVUQRUUUFFVVVVVVVVVUFFVVQEQVFFVVVVVBVVVVVVVBQBRVVVVVVVVVVVVVVVVVVUUAVRVUVVBVVUFVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVUVVVRVVVVVVVVVVVVVVVVVFRVVVVVVVVVVVVVVVVVBFQFBFBVQVVVBVVVVVVVVVVVRVVQVVVVVQVVVVVVVVVVUFVVVVVVVVVVVVVVVVUVVAFUVVFVVVVVBVVVVVVVVVVRVVVVVVVVVVVVVVVVVVVVVVVFVQVEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVEAQFVVFQBAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUQAAVFVVAEBVVVVVVVVVVVVVVVVVVVVVVVVQVVVVVVVVEVFVVVVVVVVVVVVVVVVVAQAAQAAEVQEAAAEAAAAAAAAAAFRVRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUBBABBQVVVVVVVVVAFVFVVVQFUVVVFQVVRVVVVUVVVVVVVVVVVqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqAAAAAAAAAABVVVVVVVVVAVVVVVVVVVVVVVVVVQVUVVVVVVVVBVVVVVVVVVUFVVVVVVVVVQVVVVVVVVVVVVVVVVVVVVVVEABQVUUBAABVVVFVVVVVVVVVVVVVFQBVVVVVVVVVVVVVVVVVQVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVAFVRVRVUBVVVVVVVVFRRVVVVVVVVVVVVVVVVVVUUAQEQBAFQVAAAUVVVVVVVVVVVVVVVVAAAAAAAAAEBVVVVVVVVVVVVVVVUAVVVVVVVVVVVVVVVVBEBURVVVVVVVVVVVVRUAAFVVVVBVVVVVVVVVBVAQUFVVVVVVVVVVVVVVVVVFUBFQVVVVVVVVVVVVVVVVVVUAAAVVVVVVVVVAAAAABABUUVVUUFVVVRUA139fX3//BUD3XdV1VVVVVVVVVVUABAAAVVdV1f1XVVVVVVVVVVVVV1VVVVVVVVVVAAAAAAAAAABUVVVV1V1dVdV1VVV9ddVVVVVVVVVVVVXVV9V/////Vf//X1VVVV1V//9fVVVVVVVVVV9VVVVVVXVXVVVV1VVVVVVVVffV19VdXXX9193/d1X/VV9VVVdXdVVVVV//9fVVVVVV9fVVVVVdXVVVXVVVVVVV1VVVVVV1VaVVVVVpVVVVVVVVVVVVVVVVVVVVqVaWVVVVVVVVVVVVVVX/////////////////////////////////////////////3///////////Vf///////////1VVVf/////1X1VV3/9fVfX1VV9f9df1X1VVVfVfVdVVVVVpVX1d9VVaVXdVVVVVVVVVVXdVqqqqVVVV399/31VVVZVVVVVVlVVV9VlVpVVVVVXpVfr/7//+///fVe//r/vv+1VZpVVVVVVVVVVWVVVVVV1VVVVmlZpVVVVVVVVV9f//VVVVVVWpVVVVVVVVVlVVlVVVVVVVVZVWVVVVVVVVVVVVVVVVVvlfVVVVVVVVVVVVVVVVVVVVVVVVVVUVUFVVVVVVVVVVVVVVAAAAAAAAAACqqqqqqqqaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqlVVVaqqqqqqWlVVVVVVVaqqqqqqqqqqqqqqqqqqCqCqqqpqqaqqqqqqqqqqqqqqqqqqqqqqqqqqaoGqqqqqqqqqqqpVqaqqqqqqqqqqqqqpqqqqqqqqaqqqqqqqqqqqqqqqqqqqqqqqqqqqqlVVlaqqqqqqqqqqqqqqaqqqqqqqqqqqqqr//6qqqqqqqqqqqqqqqqqqqlaqqqqqqqqqqqqqqqqqalVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVQAAAUFVVVVVVVVUFVVVVVVVVVVVVVVVVVVVVVVVVVVVQVVVVRUUVVVVVVVVVQVVUVVVVVVVQVVVVVVVVAAAAAFBVVRVVVVVVVVVVVVUFAFBVVVVVVRUAAFBVVVWqqqqqqqqqVkBVVVVVVVVVVVVVVRUFUFBVVVVVVVVVVVVRVVVVVVVVVVVVVVVVVVVVVQFAQUFVVRVVVVRVVVVVVVVVVVVVVVRVVVVVVVVVVVVVVVUEFFQFUVVVVVVVVVVVVVVQVUVVVVVVVVVVVVVVVVFUUVVVVVWqqqqqqqqqqqpVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVQAAAACqqlpVAAAAAKqqqqqqqqqqaqqqqqpqqlVVVVVVqqqqqqqqqqpWVVVVVVVVVVVVVVVVVVVVqmpVVVVVAV1VVVVVVVVVVVVVVVVVVVVRVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVUFQFUBQVUAVVVVVVVVVVVVVUAVVVVVVVVVVVVVQVVVVVVVVVVVVVVVVVVVVQBVVVVVVVVVVVVVVVVVVVVVFVRVVVVVVVVVVVVVVVVVVVVVVVVVAVUFAABUVVVVVVVVVVVVVVUFUFVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVUAAABAVVVVVVVVVVVVVRRUVRVQVVVVVVVVVVVVVVUVQEFRRVVVUVVVVVVVVVVVVVVVVUBVVVVVVVVVVRUAAQBUVVVVVVVVVVVVVVVVVVUVVVVVUFVVVVVVVVVVVVVVVQUAQFVVARRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRVQBFVFVVVVVVVVVRUVAEBVVVVVVVRVVVVVVVVVVQUAVABUVVVVVVVVVVVVVVVVVVVVVQAABURVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVRUARBUEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVBVBVEFRVVVVVVVVQVVVVVVVVVVVVVVVVVVVVVVVVVVUVAEARVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVUQAQVVVVVVVVVVVVAQUQAFVVVVVVVVVVVVVVVVVVVVUVAABBVVVVVVVVVVVVVVVVVVVVFUQVVVVVVVVVVVVVVVVVVVVVVVVVVVUABVVUVVVVVVVVVQEAQFVVVVVVVVVVVRUAFEBVFVVVAUABVVVVVVVVVVVVVVUFAABAUFVVVVVVVVVVVVVVVVVVVVVVVVVVVQBAABBVVVVVBQAAAAAABQAEQVVVVVVVVVVVVVVVVVVVAUBFEAAQVVVVVVVVVVVVVVVVVVVVVVVVUBFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFVRVVVBVVVVVVVVVVVVVVVUFQFVEVVVVVVVVVVVVVVVVVVVVVBUAAABQVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQBUVVVVVVVVVVVVVVVVVVUAQFVVVVVVFVVVVVVVVVVVVVVVVVVVVRVAVVVVVVVVVVVVVVVVVVVVVVVVVapUVVVaVVVVqqqqqqqqqqqqqqqqqqpVVaqqqqqqWlVVVVVVVVVVVVWqqlZVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVqqmqaaqqqqqqqqqqalVVVWVVVVVVVVVVallVVVWqVVWqqqqqqqqqqqqqqqqqqqqqqqqqVVVVVVVVVVVBAFVVVVVVVVUAQZvYwAALRVAAAAAAAEBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRVQVRUAAABAAQBVVVVVVVVVBVBVVVVVBVRVVVVVVVVVVVVVVVVVVQBB7djAAAsCQBUAQfvYwAALryRUVVFVVVVUVVVVVRUAAQAAAFVVVVUAQAAAAAAUABAEQFVVVVVVVVVVVVVVVVVVVVVFVVVVVVVVVVVVVVVVVVVVAFVVVVVVVVVVAEBVVVVVVVVVVVVVVQBAVVVVVVVVVVVVVVVVVVVWVVVVVVVVVVVVVVVVVVVVVVWVVVVVVVVVVVVVVVVV//9/Vf////////9f//////////////////9fVf/////////vq6rq/////1dVVVVValVVVaqqqqqqqqqqqqqqVaqqVlVaVVVVqlpVVVVVVVWqqqqqqqqqqlZVVamqmqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqVVVVqqqqqqqqqqqqqmqVqlVVVaqqqqpWVqqqqqqqqqqqqqqqqqqqqqqqaqaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqWqqqqqqqqqqqqqqqqqqqqWlVVlWqqqqqqqqpVVVVVZVVVVVVVVWlVVVVWVVVVVVVVVVVVVVVVVVVVVVVVVVWVqqqqqqpVVVVVVVVVVVVVVVWqWlVWaqlVqlVVlVZVqqpWVVVVVVVVVVWqqqpVVlVVVVVVVaqqqqqqqqqqqqqqaqqqmqqqqqqqqqqqqqqqqqqqVVVVVVVVVVVVVVVVqqqqVqqqVlWqqqqqqqqqqqqqqpqqWlWlqqqqVaqqVlWqqlZVUVVVVVVVVVUAAAAAAAAAAP///////////////////19jYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlAFcAAAAMAAAABAAAAFgAAABZAAAAWgAAAEFjY2Vzc0Vycm9ybWVtb3J5IGFsbG9jYXRpb24gb2YgIGJ5dGVzIGZhaWxlZAAAAO8uEAAVAAAABC8QAA0AAABsaWJyYXJ5L3N0ZC9zcmMvYWxsb2MucnMkLxAAGAAAAGIBAAAJAAAAbGlicmFyeS9zdGQvc3JjL3Bhbmlja2luZy5yc0wvEAAcAAAAhAIAAB4AAABXAAAADAAAAAQAAABbAAAAXAAAAAgAAAAEAAAAXQAAAFwAAAAIAAAABAAAAF4AAABfAAAAYAAAABAAAAAEAAAAYQAAAGIAAABjAAAAAAAAAAEAAABkAAAASGFzaCB0YWJsZSBjYXBhY2l0eSBvdmVyZmxvd9AvEAAcAAAAL3J1c3QvZGVwcy9oYXNoYnJvd24tMC4xNC4zL3NyYy9yYXcvbW9kLnJzAAD0LxAAKgAAAFYAAAAoAAAARXJyb3IAAABlAAAADAAAAAQAAABmAAAAZwAAAGgAAABsaWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjLnJzY2FwYWNpdHkgb3ZlcmZsb3cAAABsMBAAEQAAAFAwEAAcAAAAOwIAAAUAAABhIGZvcm1hdHRpbmcgdHJhaXQgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IAaQAAAAAAAAABAAAAagAAAGxpYnJhcnkvYWxsb2Mvc3JjL2ZtdC5yc9wwEAAYAAAAZAIAACAAAAApIHNob3VsZCBiZSA8IGxlbiAoaXMgKWluc2VydGlvbiBpbmRleCAoaXMgKSBzaG91bGQgYmUgPD0gbGVuIChpcyAAABsxEAAUAAAALzEQABcAAAAaMRAAAQAAAHJlbW92YWwgaW5kZXggKGlzIAAAYDEQABIAAAAEMRAAFgAAABoxEAABAAAAbGlicmFyeS9jb3JlL3NyYy9mbXQvbW9kLnJzY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZSkwMTIzNDU2Nzg5YWJjZGVmQm9ycm93TXV0RXJyb3JhbHJlYWR5IGJvcnJvd2VkOiAA8TEQABIAAABbAAAAcAAAAAAAAAABAAAAcQAAAGluZGV4IG91dCBvZiBib3VuZHM6IHRoZSBsZW4gaXMgIGJ1dCB0aGUgaW5kZXggaXMgAAAgMhAAIAAAAEAyEAASAAAAcgAAAAQAAAAEAAAAcwAAAD09IT1tYXRjaGVzYXNzZXJ0aW9uIGBsZWZ0ICByaWdodGAgZmFpbGVkCiAgbGVmdDogCiByaWdodDogAH8yEAAQAAAAjzIQABcAAACmMhAACQAAACByaWdodGAgZmFpbGVkOiAKICBsZWZ0OiAAAAB/MhAAEAAAAMgyEAAQAAAA2DIQAAkAAACmMhAACQAAADogAACMMRAAAAAAAAQzEAACAAAAcgAAAAwAAAAEAAAAdAAAAHUAAAB2AAAAICAgICB7ICwgIHsKLAp9IH0oKAosCl1saWJyYXJ5L2NvcmUvc3JjL2ZtdC9udW0ucnMAAEczEAAbAAAAaQAAABcAAAAweDAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5AACMMRAAGwAAAOAHAAAJAAAAcgAAAAgAAAAEAAAAbQAAAGZhbHNldHJ1ZXJhbmdlIHN0YXJ0IGluZGV4ICBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCAAAABpNBAAEgAAAHs0EAAiAAAAcmFuZ2UgZW5kIGluZGV4ILA0EAAQAAAAezQQACIAAABzbGljZSBpbmRleCBzdGFydHMgYXQgIGJ1dCBlbmRzIGF0IADQNBAAFgAAAOY0EAANAAAAbGlicmFyeS9jb3JlL3NyYy91bmljb2RlL3ByaW50YWJsZS5ycwAAAAQ1EAAlAAAAGgAAADYAAAAENRAAJQAAAAoAAAArAAAAAAYBAQMBBAIFBwcCCAgJAgoFCwIOBBABEQISBRMRFAEVAhcCGQ0cBR0IHwEkAWoEawKvA7ECvALPAtEC1AzVCdYC1wLaAeAF4QLnBOgC7iDwBPgC+gP7AQwnOz5OT4+enp97i5OWorK6hrEGBwk2PT5W89DRBBQYNjdWV3+qrq+9NeASh4mOngQNDhESKTE0OkVGSUpOT2RlXLa3GxwHCAoLFBc2OTqoqdjZCTeQkagHCjs+ZmmPkhFvX7/u71pi9Pz/U1Samy4vJyhVnaCho6SnqK26vMQGCwwVHTo/RVGmp8zNoAcZGiIlPj/n7O//xcYEICMlJigzODpISkxQU1VWWFpcXmBjZWZrc3h9f4qkqq+wwNCur25vvpNeInsFAwQtA2YDAS8ugIIdAzEPHAQkCR4FKwVEBA4qgKoGJAQkBCgINAtOQ4E3CRYKCBg7RTkDYwgJMBYFIQMbBQFAOARLBS8ECgcJB0AgJwQMCTYDOgUaBwQMB1BJNzMNMwcuCAqBJlJLKwgqFhomHBQXCU4EJAlEDRkHCgZICCcJdQtCPioGOwUKBlEGAQUQAwWAi2IeSAgKgKZeIkULCgYNEzoGCjYsBBeAuTxkUwxICQpGRRtICFMNSQcKgPZGCh0DR0k3Aw4ICgY5BwqBNhkHOwMcVgEPMg2Dm2Z1C4DEikxjDYQwEBaPqoJHobmCOQcqBFwGJgpGCigFE4KwW2VLBDkHEUAFCwIOl/gIhNYqCaLngTMPAR0GDgQIgYyJBGsFDQMJBxCSYEcJdDyA9gpzCHAVRnoUDBQMVwkZgIeBRwOFQg8VhFAfBgaA1SsFPiEBcC0DGgQCgUAfEToFAYHQKoLmgPcpTAQKBAKDEURMPYDCPAYBBFUFGzQCgQ4sBGQMVgqArjgdDSwECQcCDgaAmoPYBBEDDQN3BF8GDAQBDwwEOAgKBigIIk6BVAwdAwkHNggOBAkHCQeAyyUKhAYAAQMFBQYGAgcGCAcJEQocCxkMGg0QDgwPBBADEhITCRYBFwQYARkDGgcbARwCHxYgAysDLQsuATADMQIyAacCqQKqBKsI+gL7Bf0C/gP/Ca14eYuNojBXWIuMkBzdDg9LTPv8Li8/XF1f4oSNjpGSqbG6u8XGycre5OX/AAQREikxNDc6Oz1JSl2EjpKpsbS6u8bKzs/k5QAEDQ4REikxNDo7RUZJSl5kZYSRm53Jzs8NESk6O0VJV1tcXl9kZY2RqbS6u8XJ3+Tl8A0RRUlkZYCEsry+v9XX8PGDhYukpr6/xcfP2ttImL3Nxs7PSU5PV1leX4mOj7G2t7/BxsfXERYXW1z29/7/gG1x3t8OH25vHB1ffX6ur3+7vBYXHh9GR05PWFpcXn5/tcXU1dzw8fVyc490dZYmLi+nr7e/x8/X35pAl5gwjx/S1M7/Tk9aWwcIDxAnL+7vbm83PT9CRZCRU2d1yMnQ0djZ5/7/ACBfIoLfBIJECBsEBhGBrA6AqwUfCYEbAxkIAQQvBDQEBwMBBwYHEQpQDxIHVQcDBBwKCQMIAwcDAgMDAwwEBQMLBgEOFQVOBxsHVwcCBhcMUARDAy0DAQQRBg8MOgQdJV8gbQRqJYDIBYKwAxoGgv0DWQcWCRgJFAwUDGoGCgYaBlkHKwVGCiwEDAQBAzELLAQaBgsDgKwGCgYvMU0DgKQIPAMPAzwHOAgrBYL/ERgILxEtAyEPIQ+AjASClxkLFYiUBS8FOwcCDhgJgL4idAyA1hoMBYD/BYDfDPKdAzcJgVwUgLgIgMsFChg7AwoGOAhGCAwGdAseA1oEWQmAgxgcChYJTASAigarpAwXBDGhBIHaJgcMBQWAphCB9QcBICoGTASAjQSAvgMbAw8NbGlicmFyeS9jb3JlL3NyYy91bmljb2RlL3VuaWNvZGVfZGF0YS5yc8g6EAAoAAAAUAAAACgAAADIOhAAKAAAAFwAAAAWAAAAbGlicmFyeS9jb3JlL3NyYy9lc2NhcGUucnMAABA7EAAaAAAAOAAAAAsAAABcdXsAEDsQABoAAABmAAAAIwAAAAADAACDBCAAkQVgAF0ToAASFyAfDCBgH+8soCsqMCAsb6bgLAKoYC0e+2AuAP4gNp7/YDb9AeE2AQohNyQN4TerDmE5LxihOTAcYUjzHqFMQDRhUPBqoVFPbyFSnbyhUgDPYVNl0aFTANohVADg4VWu4mFX7OQhWdDooVkgAO5Z8AF/WgBwAAcALQEBAQIBAgEBSAswFRABZQcCBgICAQQjAR4bWws6CQkBGAQBCQEDAQUrAzwIKhgBIDcBAQEECAQBAwcKAh0BOgEBAQIECAEJAQoCGgECAjkBBAIEAgIDAwEeAgMBCwI5AQQFAQIEARQCFgYBAToBAQIBBAgBBwMKAh4BOwEBAQwBCQEoAQMBNwEBAwUDAQQHAgsCHQE6AQIBAgEDAQUCBwILAhwCOQIBAQIECAEJAQoCHQFIAQQBAgMBAQgBUQECBwwIYgECCQsHSQIbAQEBAQE3DgEFAQIFCwEkCQFmBAEGAQICAhkCBAMQBA0BAgIGAQ8BAAMAAx0CHgIeAkACAQcIAQILCQEtAwEBdQIiAXYDBAIJAQYD2wICAToBAQcBAQEBAggGCgIBMB8xBDAHAQEFASgJDAIgBAICAQM4AQECAwEBAzoIAgKYAwENAQcEAQYBAwLGQAABwyEAA40BYCAABmkCAAQBCiACUAIAAQMBBAEZAgUBlwIaEg0BJggZCy4DMAECBAICJwFDBgICAgIMAQgBLwEzAQEDAgIFAgEBKgIIAe4BAgEEAQABABAQEAACAAHiAZUFAAMBAgUEKAMEAaUCAAQAAlADRgsxBHsBNg8pAQICCgMxBAICBwE9AyQFAQg+AQwCNAkKBAIBXwMCAQECBgECAZ0BAwgVAjkCAQEBARYBDgcDBcMIAgMBARcBUQECBgEBAgEBAgEC6wECBAYCAQIbAlUIAgEBAmoBAQECBgEBZQMCBAEFAAkBAvUBCgIBAQQBkAQCAgQBIAooBgIECAEJBgIDLg0BAgAHAQYBAVIWAgcBAgECegYDAQECAQcBAUgCAwEBAQACCwI0BQUBAQEAAQYPAAU7BwABPwRRAQACAC4CFwABAQMEBQgIAgceBJQDADcEMggBDgEWBQEPAAcBEQIHAQIBBWQBoAcAAT0EAAQAB20HAGCA8AB7CXByb2R1Y2VycwIIbGFuZ3VhZ2UBBFJ1c3QADHByb2Nlc3NlZC1ieQMFcnVzdGMdMS43Ni4wICgwN2RjYTQ4OWEgMjAyNC0wMi0wNCkGd2FscnVzBjAuMTkuMAx3YXNtLWJpbmRnZW4SMC4yLjg0IChjZWE4Y2MzZDIpACwPdGFyZ2V0X2ZlYXR1cmVzAisPbXV0YWJsZS1nbG9iYWxzKwhzaWduLWV4dA==");var ZB=async()=>(await yg(WB),XB);function gB(A){return typeof A=="number"?A:typeof A=="string"?A.split(":").reverse().map(parseFloat).reduce((g,B,I)=>g+B*Math.pow(60,I)):void 0}function jB(A,g){let B;return function(){for(var I=arguments.length,Q=new Array(I),C=0;CA.apply(this,Q),g)}}function PB(A,g){let B=!0;return function(){if(B){B=!1;for(var I=arguments.length,Q=new Array(I),C=0;CB=!0,g)}}}class Fg{constructor(){let g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;this.speed=g,this.startTime=performance.now()}getTime(){return this.speed*(performance.now()-this.startTime)/1e3}setTime(g){this.startTime=performance.now()-g/this.speed*1e3}}class KA{constructor(){}getTime(g){}setTime(g){}}const $B=ZB();class RA{constructor(g){this.core=g,this.driver=g.driver}onEnter(g){}init(){}play(){}pause(){}togglePlay(){}seek(g){return!1}step(){}stop(){this.driver.stop()}}class _B extends RA{async init(){try{return await this.core.initializeDriver(),this.core.setState("stopped")}catch(g){throw this.core.setState("errored"),g}}async play(){return this.core.dispatchEvent("play"),await(await this.init()).doPlay()}togglePlay(){return this.play()}async seek(g){return await(await this.init()).seek(g)}async step(){return await(await this.init()).step()}stop(){}}class AI extends RA{onEnter(g){let{reason:B,message:I}=g;this.core.dispatchEvent("stopped",{message:I}),B==="paused"?this.core.dispatchEvent("pause"):B==="ended"&&this.core.dispatchEvent("ended")}play(){return this.core.dispatchEvent("play"),this.doPlay()}async doPlay(){const g=await this.driver.play();g===!0?this.core.setState("playing"):typeof g=="function"&&(this.core.setState("playing"),this.driver.stop=g)}togglePlay(){return this.play()}seek(g){return this.driver.seek(g)}step(){this.driver.step()}}class gI extends RA{onEnter(){this.core.dispatchEvent("playing")}pause(){this.driver.pause()===!0&&this.core.setState("stopped",{reason:"paused"})}togglePlay(){return this.pause()}seek(g){return this.driver.seek(g)}}class BI extends RA{onEnter(){this.core.dispatchEvent("loading")}}class II extends RA{onEnter(){this.core.dispatchEvent("offline")}}class QI extends RA{onEnter(){this.core.dispatchEvent("errored")}}class CI{constructor(g,B){this.logger=B.logger,this.state=new _B(this),this.stateName="uninitialized",this.driver=null,this.driverFn=g,this.changedLines=new Set,this.cursor=void 0,this.duration=void 0,this.cols=B.cols,this.rows=B.rows,this.speed=B.speed??1,this.loop=B.loop,this.idleTimeLimit=B.idleTimeLimit,this.preload=B.preload,this.startAt=gB(B.startAt),this.poster=this.parsePoster(B.poster),this.markers=this.normalizeMarkers(B.markers),this.pauseOnMarkers=B.pauseOnMarkers,this.commandQueue=Promise.resolve(),this.eventHandlers=new Map([["marker",[]],["ended",[]],["errored",[]],["init",[]],["input",[]],["loading",[]],["offline",[]],["pause",[]],["play",[]],["playing",[]],["reset",[]],["resize",[]],["seeked",[]],["stopped",[]],["terminalUpdate",[]]])}addEventListener(g,B){this.eventHandlers.get(g).push(B)}dispatchEvent(g){let B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};for(const I of this.eventHandlers.get(g))I(B)}async init(){this.wasm=await $B;const g=this.feed.bind(this),B=o=>{this.dispatchEvent("input",{data:o})},I=o=>{let{index:V,time:c,label:G}=o;this.dispatchEvent("marker",{index:V,time:c,label:G})},Q=this.now.bind(this),C=(o,V)=>window.setTimeout(o,V/this.speed),e=(o,V)=>window.setInterval(o,V/this.speed),E=this.resetVt.bind(this),i=this.setState.bind(this),t=this.poster.type==="npt"?this.poster.value:void 0;this.driver=this.driverFn({feed:g,onInput:B,onMarker:I,reset:E,now:Q,setTimeout:C,setInterval:e,setState:i,logger:this.logger},{cols:this.cols,rows:this.rows,idleTimeLimit:this.idleTimeLimit,startAt:this.startAt,loop:this.loop,posterTime:t,markers:this.markers,pauseOnMarkers:this.pauseOnMarkers}),typeof this.driver=="function"&&(this.driver={play:this.driver}),(this.preload||t!==void 0)&&this.withState(o=>o.init());const s=this.poster.type==="text"?this.renderPoster(this.poster.value):void 0,n={isPausable:!!this.driver.pause,isSeekable:!!this.driver.seek,poster:s};if(this.driver.init===void 0&&(this.driver.init=()=>({})),this.driver.pause===void 0&&(this.driver.pause=()=>{}),this.driver.seek===void 0&&(this.driver.seek=o=>!1),this.driver.step===void 0&&(this.driver.step=()=>{}),this.driver.stop===void 0&&(this.driver.stop=()=>{}),this.driver.getCurrentTime===void 0){const o=this.driver.play;let V=new KA;this.driver.play=()=>(V=new Fg(this.speed),o()),this.driver.getCurrentTime=()=>V.getTime()}return n}play(){return this.withState(g=>g.play())}pause(){return this.withState(g=>g.pause())}togglePlay(){return this.withState(g=>g.togglePlay())}seek(g){return this.withState(async B=>{await B.seek(g)&&this.dispatchEvent("seeked")})}step(){return this.withState(g=>g.step())}stop(){return this.withState(g=>g.stop())}withState(g){return this.enqueueCommand(()=>g(this.state))}enqueueCommand(g){return this.commandQueue=this.commandQueue.then(g),this.commandQueue}getChangedLines(){if(this.changedLines.size>0){const g=new Map,B=this.vt.rows;for(const I of this.changedLines)I1&&arguments[1]!==void 0?arguments[1]:{};if(this.stateName===g)return this.state;if(this.stateName=g,g==="playing")this.state=new gI(this);else if(g==="stopped")this.state=new AI(this);else if(g==="loading")this.state=new BI(this);else if(g==="offline")this.state=new II(this);else if(g==="errored")this.state=new QI(this);else throw`invalid state: ${g}`;return this.state.onEnter(B),this.state}feed(g){this.doFeed(g),this.dispatchEvent("terminalUpdate")}doFeed(g){const[B,I]=this.vt.feed(g);if(B.forEach(Q=>this.changedLines.add(Q)),this.cursor=void 0,I){const[Q,C]=this.vt.get_size();this.vt.cols=Q,this.vt.rows=C,this.logger.debug(`core: vt resize (${Q}x${C})`),this.dispatchEvent("resize",{cols:Q,rows:C})}}now(){return performance.now()*this.speed}async initializeDriver(){const g=await this.driver.init();this.cols=this.cols??g.cols??80,this.rows=this.rows??g.rows??24,this.duration=this.duration??g.duration,this.markers=this.normalizeMarkers(g.markers)??this.markers??[],this.cols===0&&(this.cols=80),this.rows===0&&(this.rows=24),this.initializeVt(this.cols,this.rows);const B=g.poster!==void 0?this.renderPoster(g.poster):void 0;this.dispatchEvent("init",{cols:this.cols,rows:this.rows,duration:this.duration,markers:this.markers,theme:g.theme,poster:B})}resetVt(g,B){let I=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,Q=arguments.length>3&&arguments[3]!==void 0?arguments[3]:void 0;this.cols=g,this.rows=B,this.cursor=void 0,this.initializeVt(g,B),I!==void 0&&I!==""&&this.doFeed(I),this.dispatchEvent("reset",{cols:g,rows:B,theme:Q})}initializeVt(g,B){this.logger.debug(`core: vt init (${g}x${B})`),this.vt=this.wasm.create(g,B,!0,100),this.vt.cols=g,this.vt.rows=B,this.changedLines.clear();for(let I=0;IQ.feed(E));const C=Q.get_cursor()??!1,e=[];for(let E=0;Etypeof B=="number"?[B,""]:B)}}const Yg=Symbol("store-raw"),bA=Symbol("store-node"),EI=Symbol("store-name");function BB(A,g){let B=A[eA];if(!B&&(Object.defineProperty(A,eA,{value:B=new Proxy(A,tI)}),!Array.isArray(A))){const I=Object.keys(A),Q=Object.getOwnPropertyDescriptors(A);for(let C=0,e=I.length;CA[eA][g]),B}function IB(A){if(Hg()){const g=Ng(A);(g._||(g._=QB()))()}}function iI(A){return IB(A),Reflect.ownKeys(A)}function QB(A){const[g,B]=BA(A,{equals:!1,internal:!0});return g.$=B,g}const tI={get(A,g,B){if(g===Yg)return A;if(g===eA)return B;if(g===ZA)return IB(A),B;const I=Ng(A),Q=I.hasOwnProperty(g);let C=Q?I[g]():A[g];if(g===bA||g==="__proto__")return C;if(!Q){const e=Object.getOwnPropertyDescriptor(A,g);Hg()&&(typeof C!="function"||A.hasOwnProperty(g))&&!(e&&e.get)&&(C=kg(I,g,C)())}return GA(C)?BB(C):C},has(A,g){return g===Yg||g===eA||g===ZA||g===bA||g==="__proto__"?!0:(this.get(A,g,A),g in A)},set(){return!0},deleteProperty(){return!0},ownKeys:iI,getOwnPropertyDescriptor:eI};function AA(A,g,B,I=!1){if(!I&&A[g]===B)return;const Q=A[g],C=A.length;B===void 0?delete A[g]:A[g]=B;let e=Ng(A),E;(E=kg(e,g,Q))&&E.$(()=>B),Array.isArray(A)&&A.length!==C&&(E=kg(e,"length",C))&&E.$(A.length),(E=e._)&&E.$()}function CB(A,g){const B=Object.keys(g);for(let I=0;I1){I=g.shift();const e=typeof I,E=Array.isArray(A);if(Array.isArray(I)){for(let i=0;i1){OA(A[I],g,[I].concat(B));return}Q=A[I],B=[I].concat(B)}let C=g[0];typeof C=="function"&&(C=C(Q,B),C===Q)||I===void 0&&C==null||(C=qA(C),I===void 0||GA(Q)&&GA(C)&&!Array.isArray(C)?CB(Q,C):AA(A,I,C))}function EB(...[A,g]){const B=qA(A||{}),I=Array.isArray(B),Q=BB(B);function C(...e){iA(()=>{I&&e.length===1?sI(B,e[0]):OA(B,e)})}return[Q,C]}const Rg=Symbol("store-root");function MA(A,g,B,I,Q){const C=g[B];if(A===C)return;if(!GA(A)||!GA(C)||Q&&A[Q]!==C[Q]){if(A!==C){if(B===Rg)return A;AA(g,B,A)}return}if(Array.isArray(A)){if(A.length&&C.length&&(!I||Q&&A[0]&&A[0][Q]!=null)){let i,t,s,n,o,V,c,G;for(s=0,n=Math.min(C.length,A.length);s=s&&o>=s&&(C[n]===A[o]||Q&&C[s]&&A[s]&&C[n][Q]===A[o][Q]);n--,o--)D[o]=C[n];if(s>o||s>n){for(t=s;t<=o;t++)AA(C,t,A[t]);for(;tA.length&&AA(C,"length",A.length);return}for(c=new Array(o+1),t=o;t>=s;t--)V=A[t],G=Q&&V?V[Q]:V,i=u.get(G),c[t]=i===void 0?-1:i,u.set(G,t);for(i=s;i<=n;i++)V=C[i],G=Q&&V?V[Q]:V,t=u.get(G),t!==void 0&&t!==-1&&(D[t]=C[i],t=c[t],u.set(G,t));for(t=s;tA.length&&AA(C,"length",A.length);return}const e=Object.keys(A);for(let i=0,t=e.length;i{if(!GA(C)||!GA(Q))return Q;const e=MA(Q,{[Rg]:C},Rg,B,I);return e===void 0?C:e}}const oI=j("");var nI=A=>{const g=()=>{if(A.text.length==1){const I=A.text.codePointAt(0);if(I>=9600&&I<=9631||I==57520||I==57522)return I}},B=()=>g()?" ":A.text;return(()=>{const I=oI.cloneNode(!0);return T(I,B),IA(Q=>{const C=VI(A.pen,g(),A.extraClass),e=rI(A.pen,A.offset,B().length,A.charWidth,A.terminalCols);return C!==Q._v$&&Zg(I,Q._v$=C),Q._v$2=SA(I,e,Q._v$2),Q},{_v$:void 0,_v$2:void 0}),I})()};function VI(A,g,B){const I=iB(A.get("fg"),A.get("bold"),"fg-"),Q=iB(A.get("bg"),A.get("blink"),"bg-");let C=B??"";return g!==void 0&&(C+=` cp-${g.toString(16)}`),I&&(C+=" "+I),Q&&(C+=" "+Q),A.has("bold")&&(C+=" ap-bright"),A.has("faint")&&(C+=" ap-faint"),A.has("italic")&&(C+=" ap-italic"),A.has("underline")&&(C+=" ap-underline"),A.has("blink")&&(C+=" ap-blink"),A.get("inverse")&&(C+=" ap-inverse"),C}function iB(A,g,B){if(typeof A=="number")return g&&A<8&&(A+=8),`${B}${A}`}function rI(A,g,B,I,Q){const C=A.get("fg"),e=A.get("bg");let E={left:`${100*g/Q}%`,width:`${B*I+.01}ch`};return typeof C=="string"&&(E["--fg"]=C),typeof e=="string"&&(E["--bg"]=e),E}const aI=j('');var cI=A=>{const g=()=>{if(typeof A.cursor=="number"){const B=[];let I=0,Q=0;for(;Q0&&B.push({...C,text:C.text.substring(0,e)}),B.push({...C,text:C.text[e],offset:C.offset+e,extraClass:"ap-cursor"}),e{const B=aI.cloneNode(!0);return T(B,M(JB,{get each(){return g()},children:I=>M(nI,UB({get terminalCols(){return A.terminalCols}},I))})),IA(()=>B.style.setProperty("height",A.height)),B})()};const lI=j('
');var tB=A=>{const g=()=>A.lineHeight??1.3333333333,B=_(()=>({width:`${A.cols}ch`,height:`${g()*A.rows}em`,"font-size":`${(A.scale||1)*100}%`,"font-family":A.fontFamily,"line-height":`${g()}em`,"--term-line-height":g()})),I=()=>A.cursor?.[0],Q=()=>A.cursor?.[1];return(()=>{const C=lI.cloneNode(!0),e=A.ref;return typeof e=="function"?Qg(e,C):A.ref=C,T(C,M(Xg,{get each(){return A.lines},children:(E,i)=>M(cI,{get segments(){return E.segments},get cursor(){return _(()=>i()===Q())()?I():null},get height(){return`${g()}em`},get terminalCols(){return A.cols}})})),IA(E=>{const i=!!(A.blink||A.cursorHold),t=!!A.blink,s=B();return i!==E._v$&&C.classList.toggle("ap-cursor-on",E._v$=i),t!==E._v$2&&C.classList.toggle("ap-blink",E._v$2=t),E._v$3=SA(C,s,E._v$3),E},{_v$:void 0,_v$2:void 0,_v$3:void 0}),C})()};const DI=j(''),wI=j(''),GI=j(''),hI=j(''),fI=j('
'),uI=j('');function ng(A){let g=Math.floor(A);const B=Math.floor(g/86400);g%=86400;const I=Math.floor(g/3600);g%=3600;const Q=Math.floor(g/60);return g%=60,B>0?`${lA(B)}:${lA(I)}:${lA(Q)}:${lA(g)}`:I>0?`${lA(I)}:${lA(Q)}:${lA(g)}`:`${lA(Q)}:${lA(g)}`}function lA(A){return A<10?`0${A}`:A.toString()}var dI=A=>{const g=r=>F=>{F.preventDefault(),r(F)},B=()=>typeof A.currentTime=="number"?ng(A.currentTime):"--:--",I=()=>typeof A.remainingTime=="number"?"-"+ng(A.remainingTime):B(),Q=_(()=>typeof A.duration=="number"?A.markers.filter(r=>r[0]`${r[0]/A.duration*100}%`,e=r=>r[1]===""?ng(r[0]):`${ng(r[0])} - ${r[1]}`,E=r=>typeof A.currentTime=="number"?r[0]<=A.currentTime:!1,i=()=>({width:"100%",transform:`scaleX(${A.progress||0}`,"transform-origin":"left center"}),t=r=>{const F=r.currentTarget.offsetWidth,N=r.currentTarget.getBoundingClientRect(),R=r.clientX-N.left;return`${Math.max(0,R/F)*100}%`},[s,n]=BA(!1),o=PB(A.onSeekClick,50),V=r=>{r.altKey||r.shiftKey||r.metaKey||r.ctrlKey||r.button!==0||(n(!0),A.onSeekClick(t(r)))},c=r=>g(()=>{A.onSeekClick({marker:r})}),G=r=>{r.altKey||r.shiftKey||r.metaKey||r.ctrlKey||s()&&o(t(r))},D=()=>{n(!1)},u=g(r=>{r.stopPropagation()});return document.addEventListener("mouseup",D),$A(()=>{document.removeEventListener("mouseup",D)}),(()=>{const r=fI.cloneNode(!0),F=r.firstChild,N=F.firstChild,R=N.nextSibling,b=F.nextSibling,W=A.ref;return typeof W=="function"?Qg(W,r):A.ref=r,T(r,M(hg,{get when(){return A.isPausable},get children(){const O=GI.cloneNode(!0);return JA(O,"click",g(A.onPlayClick),!0),T(O,M(vg,{get children(){return[M(YA,{get when(){return A.isPlaying},get children(){return DI.cloneNode(!0)}}),M(YA,{get when(){return!A.isPlaying},get children(){return wI.cloneNode(!0)}})]}})),O}}),F),T(N,B),T(R,I),T(r,M(hg,{get when(){return typeof A.progress=="number"||A.isSeekable},get children(){const O=hI.cloneNode(!0),L=O.firstChild,Z=L.firstChild,P=Z.firstChild;return L.$$mousemove=G,L.$$mousedown=V,T(L,M(Xg,{get each(){return Q()},children:(m,tA)=>(()=>{const p=uI.cloneNode(!0),h=p.firstChild,w=h.nextSibling;return JA(p,"mousedown",u,!0),JA(p,"click",c(tA()),!0),T(w,()=>e(m)),IA(Y=>{const U=C(m),k=!!E(m);return U!==Y._v$&&p.style.setProperty("left",Y._v$=U),k!==Y._v$2&&h.classList.toggle("ap-marker-past",Y._v$2=k),Y},{_v$:void 0,_v$2:void 0}),p})()}),null),IA(m=>SA(P,i(),m)),O}}),b),JA(b,"click",g(A.onFullscreenClick),!0),IA(()=>r.classList.toggle("ap-seekable",!!A.isSeekable)),r})()};fg(["click","mousedown","mousemove"]);const yI=j('
\u{1F4A5}
');var FI=A=>yI.cloneNode(!0);const YI=j('
');var NI=A=>YI.cloneNode(!0);const kI=j('
');var RI=A=>{const g=()=>({"font-family":A.fontFamily});return(()=>{const B=kI.cloneNode(!0),I=B.firstChild;return T(I,()=>A.message),IA(Q=>SA(I,g(),Q)),B})()};const qI=j('
');var MI=A=>{const g=B=>I=>{I.preventDefault(),B(I)};return(()=>{const B=qI.cloneNode(!0);return JA(B,"click",g(A.onClick),!0),B})()};fg(["click"]);const UI=j('
'),JI=32;var SI=A=>{const g=A.logger,B=A.core,I=A.autoPlay,[Q,C]=EB({lines:[],cursor:void 0,charW:A.charW,charH:A.charH,bordersW:A.bordersW,bordersH:A.bordersH,containerW:0,containerH:0,isPausable:!0,isSeekable:!0,isFullscreen:!1,currentTime:null,remainingTime:null,progress:null,blink:!0,cursorHold:!1}),[e,E]=BA(!1),[i,t]=BA(I?null:"start"),[s,n]=BA(null),[o,V]=BA({cols:A.cols,rows:A.rows}),[c,G]=BA(void 0),[D,u]=EB([]),[r,F]=BA(!1),[N,R]=BA(void 0),b=()=>o().cols||80,W=()=>o().rows||24,O=()=>A.controls===!1?0:JI,L=()=>A.controls===!0||A.controls==="auto"&&r();let Z,P,m,tA,p,h,w,Y,U;function k(){CA(),d(),Sg()}function $(){f(),XA(),l()}function gA(a){iA(()=>{a.rows{let{cols:y,rows:q,duration:v,theme:K,poster:oA,markers:ag}=a;iA(()=>{gA({cols:y,rows:q}),G(v),R(K),u(ag),sA(oA)})}),B.addEventListener("play",()=>{t(null)}),B.addEventListener("playing",()=>{iA(()=>{E(!0),t(null),k()})}),B.addEventListener("stopped",a=>{let{message:y}=a;iA(()=>{E(!1),$(),y!==void 0&&(n(y),t("info"))})}),B.addEventListener("loading",()=>{iA(()=>{E(!1),$(),t("loader")})}),B.addEventListener("offline",()=>{iA(()=>{E(!1),$(),n("Stream offline"),t("info")})}),B.addEventListener("errored",()=>{t("error")}),B.addEventListener("resize",gA),B.addEventListener("reset",a=>{let{cols:y,rows:q,theme:v}=a;iA(()=>{gA({cols:y,rows:q}),R(v),CA()})}),B.addEventListener("seeked",()=>{l()}),B.addEventListener("terminalUpdate",()=>{Z===void 0&&(Z=requestAnimationFrame(CA))});const xA=()=>{U=new ResizeObserver(jB(a=>{C({containerW:p.offsetWidth,containerH:p.offsetHeight}),p.dispatchEvent(new CustomEvent("resize",{detail:{el:h}}))},10)),U.observe(p)};dB(async()=>{g.info("player mounted"),g.debug("font measurements",{charW:Q.charW,charH:Q.charH}),xA();const{isPausable:a,isSeekable:y,poster:q}=await B.init();iA(()=>{C({isPausable:a,isSeekable:y,containerW:p.offsetWidth,containerH:p.offsetHeight}),sA(q)}),I&&B.play()}),$A(()=>{B.stop(),f(),XA(),U.disconnect()});const CA=()=>{const a=B.getChangedLines();iA(()=>{a&&a.forEach((y,q)=>{C("lines",q,eB(y))}),C("cursor",eB(B.getCursor())),C("cursorHold",!0)}),Z=void 0},DA=_(()=>{g.debug(`containerW = ${Q.containerW}`);const a=Q.charW*b()+Q.bordersW,y=Q.charH*W()+Q.bordersH;let q=A.fit??"width";if(q==="both"||Q.isFullscreen){const v=Q.containerW/(Q.containerH-O()),K=a/y;v>K?q="height":q="width"}if(q===!1||q==="none")return{};if(q==="width"){const v=Q.containerW/a;return{scale:v,width:Q.containerW,height:y*v+O()}}else if(q==="height"){const v=(Q.containerH-O())/y;return{scale:v,width:a*v,height:Q.containerH}}else throw`unsupported fit mode: ${q}`}),hA=()=>{C("isFullscreen",document.fullscreenElement??document.webkitFullscreenElement)},zA=()=>{Q.isFullscreen?(document.exitFullscreen??document.webkitExitFullscreen??(()=>{})).apply(document):(p.requestFullscreen??p.webkitRequestFullscreen??(()=>{})).apply(p)},rg=a=>{if(!(a.altKey||a.metaKey||a.ctrlKey)){if(a.shiftKey){if(a.key=="ArrowLeft")B.seek("<<<");else if(a.key=="ArrowRight")B.seek(">>>");else return;a.stopPropagation(),a.preventDefault();return}if(a.key==" ")B.togglePlay();else if(a.key==".")B.step(),l();else if(a.key=="f")zA();else if(a.key=="ArrowLeft")B.seek("<<");else if(a.key=="ArrowRight")B.seek(">>");else if(a.key=="[")B.seek({marker:"prev"});else if(a.key=="]")B.seek({marker:"next"});else if(a.key.charCodeAt(0)>=48&&a.key.charCodeAt(0)<=57){const y=(a.key.charCodeAt(0)-48)/10;B.seek(`${y*100}%`)}else return;a.stopPropagation(),a.preventDefault()}},Ug=()=>{Q.isFullscreen&&J(!0)},Jg=()=>{Q.isFullscreen||J(!1)},Sg=()=>{m=setInterval(l,100)},XA=()=>{clearInterval(m)},l=()=>{const a=B.getCurrentTime(),y=B.getRemainingTime(),q=B.getProgress();C({currentTime:a,remainingTime:y,progress:q})},d=()=>{tA=setInterval(()=>{C(a=>{const y={blink:!a.blink};return y.blink&&(y.cursorHold=!1),y})},500)},f=()=>{clearInterval(tA),C("blink",!0)},J=a=>{clearTimeout(P),a&&(P=setTimeout(()=>J(!1),2e3)),F(a)},x=()=>{const a={};(A.fit===!1||A.fit==="none")&&A.terminalFontSize!==void 0&&(A.terminalFontSize==="small"?a["font-size"]="12px":A.terminalFontSize==="medium"?a["font-size"]="18px":A.terminalFontSize==="big"?a["font-size"]="24px":a["font-size"]=A.terminalFontSize);const y=DA();y.width!==void 0&&(a.width=`${y.width}px`,a.height=`${y.height}px`);const q=N();return q!==void 0&&(A.theme===void 0||A.theme===null)&&(a["--term-color-foreground"]=q.foreground,a["--term-color-background"]=q.background,q.palette.forEach((v,K)=>{a[`--term-color-${K}`]=v})),a},fA=()=>`ap-player asciinema-player-theme-${A.theme??"asciinema"}`,Lg=()=>DA()?.scale;return(()=>{const a=UI.cloneNode(!0),y=a.firstChild,q=p;typeof q=="function"?Qg(q,a):p=a,a.addEventListener("webkitfullscreenchange",hA),a.addEventListener("fullscreenchange",hA),a.$$mousemove=Ug,a.$$keydown=rg,a.addEventListener("keypress",rg);const v=h;return typeof v=="function"?Qg(v,y):h=y,y.$$mousemove=()=>J(!0),y.addEventListener("mouseleave",Jg),T(y,M(tB,{get cols(){return b()},get rows(){return W()},get scale(){return Lg()},get blink(){return Q.blink},get lines(){return Q.lines},get cursor(){return Q.cursor},get cursorHold(){return Q.cursorHold},get fontFamily(){return A.terminalFontFamily},get lineHeight(){return A.terminalLineHeight},ref(K){const oA=w;typeof oA=="function"?oA(K):w=K}}),null),T(y,M(hg,{get when(){return A.controls!==!1},get children(){return M(dI,{get duration(){return c()},get currentTime(){return Q.currentTime},get remainingTime(){return Q.remainingTime},get progress(){return Q.progress},markers:D,get isPlaying(){return e()},get isPausable(){return Q.isPausable},get isSeekable(){return Q.isSeekable},onPlayClick:()=>B.togglePlay(),onFullscreenClick:zA,onSeekClick:K=>B.seek(K),ref(K){const oA=Y;typeof oA=="function"?oA(K):Y=K}})}}),null),T(y,M(vg,{get children(){return[M(YA,{get when(){return i()=="start"},get children(){return M(MI,{onClick:()=>B.play()})}}),M(YA,{get when(){return i()=="loader"},get children(){return M(NI,{})}}),M(YA,{get when(){return i()=="info"},get children(){return M(RI,{get message(){return s()},get fontFamily(){return A.terminalFontFamily}})}}),M(YA,{get when(){return i()=="error"},get children(){return M(FI,{})}})]}}),null),IA(K=>{const oA=!!L(),ag=fA(),fQ=x();return oA!==K._v$&&a.classList.toggle("ap-hud",K._v$=oA),ag!==K._v$2&&Zg(y,K._v$2=ag),K._v$3=SA(y,fQ,K._v$3),K},{_v$:void 0,_v$2:void 0,_v$3:void 0}),a})()};fg(["keydown","mousemove"]);class LI{log(){}debug(){}info(){}warn(){}error(){}}class sB{constructor(g,B){this.logger=g,this.prefix=B}log(g){for(var B=arguments.length,I=new Array(B>1?B-1:0),Q=1;Q1?B-1:0),Q=1;Q1?B-1:0),Q=1;Q1?B-1:0),Q=1;Q1?B-1:0),Q=1;QB.push(C));return{next:()=>{for(g===B.length&&(B=[],g=0);B.length===0;){const C=this.input.next();if(C.done)break;Q.step(C.value)}return B.length===0&&!I&&(Q.flush(),I=!0),B.length>0?{done:!1,value:B[g++]}:{done:!0}}}}}function mI(A){return g=>B=>{g(A(B))}}function pI(A){return g=>B=>{A(B).forEach(g)}}function HI(A){return g=>B=>{A(B)&&g(B)}}function KI(A){let g=0;return B=>I=>{gI=>{g+=1,g>A&&B(I)}}function OI(A,g){return A.reverse().reduce((B,I)=>{const Q=oB(I(B.step));return{step:Q.step,flush:()=>{Q.flush(),B.flush()}}},oB(g))}function oB(A){return typeof A=="function"?{step:A,flush:()=>{}}:A}class xI{constructor(g,B,I){this.left=g,this.right=B,this.comparator=I}[Symbol.iterator](){let g,B;return{next:()=>{if(g===void 0&&this.left!==void 0){const I=this.left.next();I.done?this.left=void 0:g=I.value}if(B===void 0&&this.right!==void 0){const I=this.right.next();I.done?this.right=void 0:B=I.value}if(g===void 0&&B===void 0)return{done:!0};if(g===void 0){const I=B;return B=void 0,{done:!1,value:I}}else if(B===void 0){const I=g;return g=void 0,{done:!1,value:I}}else if(this.comparator(g,B)){const I=g;return g=void 0,{done:!1,value:I}}else{const I=B;return B=void 0,{done:!1,value:I}}}}}}async function nB(A){let g,B;if(A instanceof Response){const I=await A.text(),Q=zI(I);Q!==void 0?(g=Q.header,B=Q.events):g=JSON.parse(I)}else if(typeof A=="object"&&typeof A.version=="number")g=A;else if(Array.isArray(A))g=A[0],B=A.slice(1,A.length);else throw"invalid data";if(g.version===1)return XI(g);if(g.version===2)return vI(g,B);throw`asciicast v${g.version} format not supported`}function zI(A){const g=A.split(` +`);let B;try{B=JSON.parse(g[0])}catch{return}const I=new QA(g).drop(1).filter(Q=>Q[0]==="[").map(JSON.parse).toArray();return{header:B,events:I}}function XI(A){let g=0;const B=new QA(A.stdout).map(I=>(g+=I[0],[g,"o",I[1]]));return{cols:A.width,rows:A.height,events:B}}function vI(A,g){return{cols:A.width,rows:A.height,theme:TI(A.theme),events:g,idleTimeLimit:A.idle_time_limit}}function TI(A){const g=/^#[0-9A-Fa-f]{6}$/,B=/^(#[0-9A-Fa-f]{6}:){7,}#[0-9A-Fa-f]{6}$/,I=A?.fg,Q=A?.bg,C=A?.palette;if(g.test(I)&&g.test(Q)&&B.test(C))return{foreground:I,background:Q,palette:C.split(":")}}function WI(A){const g=JSON.stringify({version:2,width:A.cols,height:A.rows}),B=A.events.map(JSON.stringify).join(` +`);return`${g} +${B} +`}function ZI(A,g,B){let{feed:I,onInput:Q,onMarker:C,now:e,setTimeout:E,setState:i,logger:t}=g,{idleTimeLimit:s,startAt:n,loop:o,posterTime:V,markers:c,pauseOnMarkers:G,cols:D,rows:u}=B,r,F,N,R,b,W,O,L=0,Z=0,P,m,tA=0;async function p(){const{parser:l,minFrameTime:d,inputOffset:f,dumpFilename:J,encoding:x="utf-8"}=A,fA=PI(await l(await h(A),{encoding:x}),t,{idleTimeLimit:s,startAt:n,minFrameTime:d,inputOffset:f,markers_:c});if({cols:r,rows:F,events:N,duration:b,effectiveStartAt:W}=fA,D=D??r,u=u??F,N.length===0)throw"recording is missing events";J!==void 0&&gQ(fA,J);const Lg=V!==void 0?Jg(V):void 0;return R=N.filter(vA=>vA[1]==="m").map(vA=>[vA[0],vA[2].label]),{cols:r,rows:F,duration:b,theme:fA.theme,poster:Lg,markers:R}}function h(l){let{url:d,data:f,fetchOpts:J={}}=l;if(typeof d=="string")return w(d,J);if(Array.isArray(d))return Promise.all(d.map(x=>w(x,J)));if(f!==void 0)return typeof f=="function"&&(f=f()),f instanceof Promise||(f=Promise.resolve(f)),f.then(x=>typeof x=="string"||x instanceof ArrayBuffer?new Response(x):x);throw"failed fetching recording file: url/data missing in src"}async function w(l,d){const f=await fetch(l,d);if(!f.ok)throw`failed fetching recording from ${l}: ${f.status} ${f.statusText}`;return f}function Y(l){let d=l*1e3-(e()-P);return d<0&&(d=0),d}function U(){const l=N[L];l?O=E(k,Y(l[0])):sA()}function k(){let l=N[L],d;do{if(Z=l[0],L++,gA(l))return;l=N[L],d=e()-P}while(l&&d>l[0]*1e3);U()}function $(){clearTimeout(O),O=null}function gA(l){const[d,f,J]=l;if(f==="o")I(J);else if(f==="i")Q(J);else if(f==="m"&&(C(J),G))return CA(),m=d*1e3,i("stopped",{reason:"paused"}),!0;return!1}function sA(){$(),tA++,o===!0||typeof o=="number"&&tA>"?l=f+5:l==="<<<"?l=f-.1*b:l===">>>"?l=f+.1*b:l[l.length-1]==="%"&&(l=parseFloat(l.substring(0,l.length-1))/100*b);else if(typeof l=="object"){if(l.marker==="prev")l=zA(f)??0,d&&f-l<1&&(l=zA(l)??0);else if(l.marker==="next")l=rg(f)??b;else if(typeof l.marker=="number"){const fA=R[l.marker];if(fA===void 0)throw`invalid marker index: ${l.marker}`;l=fA[0]}}const J=Math.min(Math.max(l,0),b);Jl;)J=f[0],f=R[--d];return J}function Ug(){let l=N[L++];for(;l!==void 0&&l[1]!=="o";)l=N[L++];if(l===void 0)return;I(l[2]);const d=l[0];Z=d,m=d*1e3,W=null}function Jg(l){return N.filter(d=>d[0]d[2])}function Sg(){return O?(e()-P)/1e3:(m??0)/1e3}function XA(){I(`\x1B[8;${u};${D};t`)}return{init:p,play:xA,pause:CA,seek:hA,step:Ug,stop:CA,getCurrentTime:Sg}}function jI(A){let g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:.016666666666666666,B;return I=>{let Q=0,C=0;return{step:e=>{if(Q++,B===void 0){B=e;return}e[1]===B[1]&&e[0]-B[0]{B!==void 0&&(I(B),C++),A.debug(`batched ${Q} frames to ${C} frames`)}}}}function PI(A,g,B){let{startAt:I=0,idleTimeLimit:Q,minFrameTime:C,inputOffset:e,markers_:E}=B,{events:i}=A;i===void 0&&(i=$I(A)),i instanceof QA||(i=new QA(i)),Q=Q??A.idleTimeLimit??1/0;const t={offset:0};i=i.map(_I).transform(jI(g,C)).map(AQ(Q,I,t)).map(rB()),E!==void 0&&(E=new QA(E).map(VB),i=i.filter(o=>o[1]!=="m").multiplex(E,(o,V)=>o[0]o[1]==="i"?[o[0]+e,o[1],o[2]]:o),i.sort((o,V)=>o[0]-V[0]));const s=i[i.length-1][0],n=I-t.offset;return{...A,events:i,duration:s,effectiveStartAt:n}}function $I(A){let{output:g=[],input:B=[],markers:I=[]}=A;const Q=new QA(g).map(E=>[E[0],"o",E[1]]),C=new QA(B).map(E=>[E[0],"i",E[1]]),e=new QA(I).map(VB);return Q.multiplex(C,(E,i)=>E[0]E[0]0&&(Q+=E,C[0]C[1]==="m"?[C[0],C[1],C[2].label]:C),Q=WI({...A,events:I});B.href=URL.createObjectURL(new Blob([Q],{type:"text/plain"})),B.download=g,B.click()}function BQ(A,g,B){let{hourColor:I=3,minuteColor:Q=4,separatorColor:C=9}=A,{feed:e}=g,{cols:E=5,rows:i=1}=B;const t=Math.floor(i/2),s=Math.floor(E/2)-2,n=`\x1B[?25l\x1B[1m\x1B[${t}B`;let o;const V=()=>{const G=new Date,D=G.getHours(),u=G.getMinutes(),r=[];r.push("\r");for(let F=0;F{V().forEach(e)};return{init:()=>{const D=[n].concat(V());return{cols:E,rows:i,duration:1440,poster:D}},play:()=>(e(n),c(),o=setInterval(c,1e3),!0),stop:()=>{clearInterval(o)},getCurrentTime:()=>{const G=new Date;return G.getHours()*60+G.getMinutes()}}}function IQ(A,g){let{feed:B,setTimeout:I}=g;const Q=32,C=126-Q;let e;const E=()=>{const t=Math.pow(5,Math.random()*4);e=I(i,t)},i=()=>{E();const t=String.fromCharCode(Q+Math.floor(Math.random()*C));B(t)};return()=>(E(),()=>clearInterval(e))}function QQ(A,g){let{url:B,iterations:I=10}=A,{feed:Q,setState:C,now:e}=g,E,i=0;return{async init(){const t=await nB(await fetch(B)),{cols:s,rows:n,events:o}=t;E=Array.from(o).filter(c=>{let[G,D,u]=c;return D==="o"}).map(c=>{let[G,D,u]=c;return[G,u]});const V=E[E.length-1][0];for(const[c,G]of E)i+=new Blob([G]).size;return{cols:s,rows:n,duration:V}},play(){const t=e();for(let c=0;c{C("stopped",{reason:"ended"})},0),!0}}}class CQ{constructor(){this.items=[],this.onPush=void 0}push(g){this.items.push(g),this.onPush!==void 0&&(this.onPush(this.popAll()),this.onPush=void 0)}popAll(){if(this.items.length>0){const g=this.items;return this.items=[],g}else{const g=this;return new Promise(B=>{g.onPush=B})}}}function aB(A,g,B,I,Q,C){if(A===0)return C.debug("using no buffer"),EQ(g);{let e;return typeof A=="number"?(C.debug(`using fixed time buffer (${A} ms)`),e=E=>A):(C.debug("using adaptive buffer"),e=oQ(C)),eQ(e,g,B,C,I??0,Q)}}function EQ(A){return{pushEvent(g){g[1]==="o"&&A(g[2])},pushText(g){A(g)},stop(){}}}function eQ(A,g,B,I,Q){let C=arguments.length>5&&arguments[5]!==void 0?arguments[5]:.016666666666666666,e=performance.now()-Q*1e3,E=A(0);const i=new CQ;C*=1e3;let t=-C,s=!1;function n(){return performance.now()-e}return setTimeout(async()=>{for(;!s;){const o=await i.popAll();if(s)return;for(const V of o){const c=V[0]*1e3+E;if(c-t0&&(await iQ(G),s))return;B(V[0]),g(V[2]),t=c}}},0),{pushEvent(o){let V=n()-o[0]*1e3;if(V<0&&(I.debug(`correcting epoch by ${V} ms`),e+=V,V=0),E=A(V),o[1]==="o")i.push(o);else if(o[1]==="r"){const[c,G]=o[2].split("x");i.push([o[0],"o",`\x1B[8;${G};${c};t`])}},pushText(o){i.push([n(),"o",o])},stop(){s=!0,i.push(void 0)}}}function iQ(A){return new Promise(g=>{setTimeout(g,A)})}const tQ=1.5,cB=10,sQ=12,lB=10;function oQ(A){let g=cB,B=0,I=[];return Q=>{if(I.push(Q),I.length>lB){I=I.slice(-lB);const C=nQ(I);Bg?(g=Vg(B+=1),A.debug(`latency increased, raising bufferTime to ${g} ms`)):(B==1&&C1&&Cg+B,0)/A.length}function Vg(A){return cB*tQ**A}function VQ(A){return Math.min(500*Math.pow(2,A),5e3)}function rQ(A,g){let{url:B,bufferTime:I,reconnectDelay:Q=VQ,minFrameTime:C}=A,{feed:e,reset:E,setState:i,logger:t}=g;t=new sB(t,"websocket: ");const s=new TextDecoder;let n,o,V=new KA,c=0,G,D=!1;function u(h){o!==void 0&&o.stop(),o=aB(I,e,w=>V.setTime(w),h,C,t)}function r(h){if(typeof h.data=="string")t.info("activating asciicast-compatible handler"),u(),n.onmessage=R,R(h);else{const w=new Uint8Array(h.data);if(w[0]==65&&w[1]==76&&w[2]==105&&w[3]==83)w[4]==1?(t.info("activating ALiS v1 handler"),n.onmessage=W):(t.warn(`unsupported ALiS version (${w[4]})`),n.close());else{t.info("activating raw text handler"),u();const Y=s.decode(w),U=F(Y)??N(Y);if(U!==void 0){const[k,$]=U;m(k,$,0,void 0)}n.onmessage=P,P(h)}}}function F(h){const w=h.match(/\x1b\[8;(\d+);(\d+)t/);if(w!==null)return[parseInt(w[2],10),parseInt(w[1],10)]}function N(h){const w=h.match(/\[.*COLUMNS="(\d{1,3})" LINES="(\d{1,3})".*\]/);if(w!==null)return[parseInt(w[1],10),parseInt(w[2],10)]}function R(h){const w=JSON.parse(h.data);Array.isArray(w)?o.pushEvent(w):w.cols!==void 0||w.width!==void 0?m(w.cols??w.width,w.rows??w.height,w.time,w.init??void 0):w.status==="offline"&&tA()}const b=54;function W(h){const w=h.data,Y=new DataView(w),U=Y.getUint8(0);let k=1;if(U===1){const $=Y.getUint16(k,!0);k+=2;const gA=Y.getUint16(k,!0);k+=2;const sA=Y.getFloat32(k,!0);k+=4;const xA=Y.getUint8(k);k+=1;let CA;xA===1&&(CA=O(new Uint8Array(w,k,b)),k+=b);const DA=Y.getUint32(k,!0);k+=4;let hA;DA>0&&(hA=s.decode(new Uint8Array(w,k,DA)),k+=DA),m($,gA,sA,hA,CA)}else if(U===111){const $=Y.getFloat32(1,!0),gA=Y.getUint32(5,!0),sA=s.decode(new Uint8Array(w,9,gA));o.pushEvent([$,"o",sA])}else if(U===114){const $=Y.getFloat32(1,!0),gA=Y.getUint16(5,!0),sA=Y.getUint16(7,!0);o.pushEvent([$,"r",`${gA}x${sA}`])}else U===4?tA():t.debug(`unknown frame type: ${U}`)}function O(h){const w=L(h[0],h[1],h[2]),Y=L(h[3],h[4],h[5]),U=[];for(let k=0;k<16;k++)U.push(L(h[k*3+6],h[k*3+7],h[k*3+8]));return{foreground:w,background:Y,palette:U}}function L(h,w,Y){return`#${Z(h)}${Z(w)}${Z(Y)}`}function Z(h){return h.toString(16).padStart(2,"0")}function P(h){o.pushText(s.decode(h.data))}function m(h,w,Y,U,k){t.debug(`stream reset (${h}x${w} @${Y})`),i("playing"),u(Y),E(h,w,U,k),V=new Fg,typeof Y=="number"&&V.setTime(Y)}function tA(){t.info("stream offline"),i("offline"),V=new KA}function p(){n=new WebSocket(B),n.binaryType="arraybuffer",n.onopen=()=>{t.info("opened"),G=setTimeout(()=>{c=0},1e3)},n.onmessage=r,n.onclose=h=>{if(D||h.code===1e3||h.code===1005)t.info("closed"),i("stopped",{reason:"ended",message:"Stream ended"});else{clearTimeout(G);const w=Q(c++);t.info(`unclean close, reconnecting in ${w}...`),i("loading"),setTimeout(p,w)}}}return{play:()=>{p()},stop:()=>{D=!0,o!==void 0&&o.stop(),n!==void 0&&n.close()},getCurrentTime:()=>V.getTime()}}function aQ(A,g){let{url:B,bufferTime:I,minFrameTime:Q}=A,{feed:C,reset:e,setState:E,logger:i}=g;i=new sB(i,"eventsource: ");let t,s,n=new KA;function o(V){s!==void 0&&s.stop(),s=aB(I,C,c=>n.setTime(c),V,Q,i)}return{play:()=>{t=new EventSource(B),t.addEventListener("open",()=>{i.info("opened"),o()}),t.addEventListener("error",V=>{i.info("errored"),i.debug({e:V}),E("loading")}),t.addEventListener("message",V=>{const c=JSON.parse(V.data);if(Array.isArray(c))s.pushEvent(c);else if(c.cols!==void 0||c.width!==void 0){const G=c.cols??c.width,D=c.rows??c.height;i.debug(`vt reset (${G}x${D})`),E("playing"),o(c.time),e(G,D,c.init??void 0),n=new Fg,typeof c.time=="number"&&n.setTime(c.time)}else c.state==="offline"&&(i.info("stream offline"),E("offline"),n=new KA)}),t.addEventListener("done",()=>{i.info("closed"),t.close(),E("stopped",{reason:"ended"})})},stop:()=>{s!==void 0&&s.stop(),t!==void 0&&t.close()},getCurrentTime:()=>n.getTime()}}async function cQ(A,g){let{encoding:B}=g;const I=new TextDecoder(B);let Q,C,e=(await A[0].text()).split(` +`).filter(D=>D.length>0).map(D=>D.split(" "));e[0].length<3&&(e=e.map(D=>["O",D[0],D[1]]));const E=await A[1].arrayBuffer(),i=new Uint8Array(E),t=i.findIndex(D=>D==10)+1,n=I.decode(i.subarray(0,t)).match(/COLUMNS="(\d+)" LINES="(\d+)"/);n!==null&&(Q=parseInt(n[1],10),C=parseInt(n[2],10));const o={array:i,cursor:t};let V=o;if(A[2]!==void 0){const D=await A[2].arrayBuffer();V={array:new Uint8Array(D),cursor:t}}const c=[];let G=0;for(const D of e)if(G+=parseFloat(D[1]),D[0]==="O"){const u=parseInt(D[2],10),r=o.array.subarray(o.cursor,o.cursor+u),F=I.decode(r);c.push([G,"o",F]),o.cursor+=u}else if(D[0]==="I"){const u=parseInt(D[2],10),r=V.array.subarray(V.cursor,V.cursor+u),F=I.decode(r);c.push([G,"i",F]),V.cursor+=u}else if(D[0]==="S"&&D[2]==="SIGWINCH"){const u=parseInt(D[4].slice(5),10),r=parseInt(D[3].slice(5),10);c.push([G,"r",`${u}x${r}`])}else D[0]==="H"&&D[2]==="COLUMNS"?Q=parseInt(D[3],10):D[0]==="H"&&D[2]==="LINES"&&(C=parseInt(D[3],10));return Q=Q??80,C=C??24,{cols:Q,rows:C,events:c}}async function lQ(A,g){let{encoding:B}=g;const I=new TextDecoder(B),Q=await A.arrayBuffer(),C=new Uint8Array(Q),e=qg(C),E=e.time,t=I.decode(e.data).match(/\x1b\[8;(\d+);(\d+)t/),s=[];let n=80,o=24;t!==null&&(n=parseInt(t[2],10),o=parseInt(t[1],10));let V=0,c=qg(C);for(;c!==void 0;){const G=c.time-E,D=I.decode(c.data);s.push([G,"o",D]),V+=c.len,c=qg(C.subarray(V))}return{cols:n,rows:o,events:s}}function qg(A){if(A.length<13)return;const g=DQ(A.subarray(0,8)),B=Mg(A.subarray(8,12)),I=A.subarray(12,12+B);return{time:g,data:I,len:B+12}}function Mg(A){return A[0]+A[1]*256+A[2]*256*256+A[3]*256*256*256}function DQ(A){const g=Mg(A.subarray(0,4)),B=Mg(A.subarray(4,8));return g+B/1e6}const DB=new Map([["benchmark",QQ],["clock",BQ],["eventsource",aQ],["random",IQ],["recording",ZI],["websocket",rQ]]),wB=new Map([["asciicast",nB],["typescript",cQ],["ttyrec",lQ]]);function wQ(A,g){let B=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const I=B.logger??new LI,Q=new CI(GQ(A),{logger:I,cols:B.cols,rows:B.rows,loop:B.loop,speed:B.speed,preload:B.preload,startAt:B.startAt,poster:B.poster,markers:B.markers,pauseOnMarkers:B.pauseOnMarkers,idleTimeLimit:B.idleTimeLimit}),C=hQ(B.terminalFontFamily,B.terminalLineHeight),e={logger:I,core:Q,cols:B.cols,rows:B.rows,fit:B.fit,controls:B.controls??"auto",autoPlay:B.autoPlay??B.autoplay,terminalFontSize:B.terminalFontSize,terminalFontFamily:B.terminalFontFamily,terminalLineHeight:B.terminalLineHeight,theme:B.theme,...C};let E;const i=Wg(()=>(E=M(SI,e),E),g),t={el:E,dispose:i,getCurrentTime:()=>Q.getCurrentTime(),getDuration:()=>Q.getDuration(),play:()=>Q.play(),pause:()=>Q.pause(),seek:s=>Q.seek(s)};return t.addEventListener=(s,n)=>Q.addEventListener(s,n.bind(t)),t}function GQ(A){if(typeof A=="function")return A;if(typeof A=="string"&&(A.substring(0,5)=="ws://"||A.substring(0,6)=="wss://"?A={driver:"websocket",url:A}:A.substring(0,6)=="clock:"?A={driver:"clock"}:A.substring(0,7)=="random:"?A={driver:"random"}:A.substring(0,10)=="benchmark:"?A={driver:"benchmark",url:A.substring(10)}:A={driver:"recording",url:A}),A.driver===void 0&&(A.driver="recording"),A.driver=="recording"&&(A.parser===void 0&&(A.parser="asciicast"),typeof A.parser=="string"))if(wB.has(A.parser))A.parser=wB.get(A.parser);else throw`unknown parser: ${A.parser}`;if(DB.has(A.driver)){const g=DB.get(A.driver);return(B,I)=>g(A,B,I)}else throw`unsupported driver: ${JSON.stringify(A)}`}function hQ(A,g){const Q=document.createElement("div");Q.style.height="0px",Q.style.overflow="hidden",Q.style.fontSize="15px",document.body.appendChild(Q);let C;const e=Wg(()=>(C=M(tB,{cols:80,rows:24,lineHeight:g,fontFamily:A,lines:[]}),C),Q),E={charW:C.clientWidth/80,charH:C.clientHeight/24,bordersW:C.offsetWidth-C.clientWidth,bordersH:C.offsetHeight-C.clientHeight};return e(),document.body.removeChild(Q),E}},"./node_modules/asciinema-player/dist/bundle/asciinema-player.css":function(GB,TA,WA){WA.r(TA)}}]); diff --git a/data/gitea/public/assets/js/citation-js-bibtex.53a6f177.js b/data/gitea/public/assets/js/citation-js-bibtex.53a6f177.js new file mode 100644 index 0000000..c526c05 --- /dev/null +++ b/data/gitea/public/assets/js/citation-js-bibtex.53a6f177.js @@ -0,0 +1,11 @@ +(self.webpackChunk=self.webpackChunk||[]).push([["citation-js-bibtex"],{"./node_modules/@citation-js/date/lib/index.js":function(ce,L,S){"use strict";Object.defineProperty(L,"__esModule",{value:!0}),Object.defineProperty(L,"format",{enumerable:!0,get:function(){return P.default}}),Object.defineProperty(L,"parse",{enumerable:!0,get:function(){return $.default}});var $=R(S("./node_modules/@citation-js/date/lib/input.js")),P=R(S("./node_modules/@citation-js/date/lib/output.js"));function R(_){return _&&_.__esModule?_:{default:_}}},"./node_modules/@citation-js/date/lib/input.js":function(ce,L){"use strict";Object.defineProperty(L,"__esModule",{value:!0}),L.default=void 0;function S(s,h){return D(s)||_(s,h)||P(s,h)||$()}function $(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function P(s,h){if(s){if(typeof s=="string")return R(s,h);var c=Object.prototype.toString.call(s).slice(8,-1);if(c==="Object"&&s.constructor&&(c=s.constructor.name),c==="Map"||c==="Set")return Array.from(s);if(c==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c))return R(s,h)}}function R(s,h){(h==null||h>s.length)&&(h=s.length);for(var c=0,v=new Array(h);c+O<0))return null;+c[0]<0||+c[0]>+c[1]&&+c[1]>0?v=c.pop():v=c.shift()}return[c.pop(),v]}else return null}function Q(s){if(typeof s!="string")return null;const h=s.match(/^(\d+) ?(a\.?d\.?|b\.?c\.?)$/i);if(h){const c=h.slice(1),v=S(c,2),p=v[0],O=v[1];return[p*(O.toLowerCase()[0]==="a"?1:-1)]}else return/^-?\d+$/.test(s)?[s]:null}function q(s){const h=ne(s)||W(s)||H(s)||U(s)||J(s)||ue(s)||Q(s);return h&&h.map(c=>parseInt(c))}function G(s){return le.test(s)?s.match(le).slice(1,3):s.split(X)}function ie(s,h){const c=[],v=typeof s=="string"&&G(s);h?c.push(s,h):v&&v.length===2?c.push(...v):c.push(s);const p=c.map(q);return p.filter(Boolean).length===c.length?{"date-parts":p}:{raw:h?c.join("/"):s}}var ae=ie;L.default=ae},"./node_modules/@citation-js/date/lib/output.js":function(ce,L){"use strict";Object.defineProperty(L,"__esModule",{value:!0}),L.default=void 0;function S(R,_,D){if(R.length>=_)return R;for(;R.length<_;)R=D+R;return R.slice(-_)}var P=function(_,D="-"){if(!_["date-parts"])return _.raw;const j=_["date-parts"][0].map(X=>X.toString());switch(j.length){case 3:j[2]=S(j[2],2,"0");case 2:j[1]=S(j[1],2,"0");case 1:j[0]=S(j[0],4,"0");break}return j.join(D)};L.default=P},"./node_modules/@citation-js/plugin-bibtex/lib-mjs/index.js":function(ce,L,S){"use strict";var $={};S.r($),S.d($,{argumentCommands:function(){return ie},commands:function(){return U},defaultStrings:function(){return ue},diacritics:function(){return H},fieldTypes:function(){return W},formatting:function(){return G},formattingCommands:function(){return q},formattingEnvs:function(){return Q},ligaturePattern:function(){return ae},ligatures:function(){return s},mathCommands:function(){return J},mathScriptFormatting:function(){return h},mathScripts:function(){return c},required:function(){return ne},sentenceCaseLanguages:function(){return v}});var P=S("./node_modules/@citation-js/core/lib-mjs/index.js"),R=S("./node_modules/moo/moo.js"),_=S.n(R),D=JSON.parse('{"source":{"article":"article-journal","book":"book","mvbook":"book","inbook":"chapter","bookinbook":"book","booklet":"book","collection":"book","mvcollection":"book","incollection":"chapter","dataset":"dataset","manual":"report","misc":"document","online":"webpage","patent":"patent","periodical":"periodical","proceedings":"book","mvproceedings":"book","inproceedings":"paper-conference","reference":"book","mvreference":"book","inreference":"entry","report":"report","software":"software","thesis":"thesis","unpublished":"manuscript","artwork":"graphic","audio":"song","image":"figure","jurisdiction":"legal_case","legislation":"legislation","legal":"treaty","letter":"personal_communication","movie":"motion_picture","music":"musical_score","performance":"performance","review":"review","standard":"standard","video":"motion_picture","conference":"paper-conference","electronic":"webpage","mastersthesis":"thesis","phdthesis":"thesis","techreport":"report","www":"webpage"},"target":{"article":"article","article-journal":"article","article-magazine":"article","article-newspaper":"article","bill":"legislation","book":"book","broadcast":"audio","chapter":"inbook","classic":"unpublished","collection":"misc","dataset":"dataset","document":"misc","entry":"inreference","entry-dictionary":"inreference","entry-encyclopedia":"inreference","event":"misc","figure":"artwork","graphic":"artwork","hearing":"legal","interview":"audio","legal_case":"jurisdiction","legislation":"legislation","manuscript":"unpublished","motion_picture":"movie","musical_score":"music","paper-conference":"inproceedings","patent":"patent","performance":"performance","periodical":"periodical","personal_communication":"letter","post":"online","post-weblog":"online","regulation":"legal","report":"report","review":"review","review-book":"review","software":"software","song":"music","speech":"audio","standard":"standard","thesis":"thesis","treaty":"legal","webpage":"online"}}'),j=JSON.parse('{"source":{"article":"article-journal","book":"book","booklet":"book","conference":"paper-conference","inbook":"chapter","incollection":"chapter","inproceedings":"paper-conference","manual":"report","mastersthesis":"thesis","misc":"document","phdthesis":"thesis","proceedings":"book","techreport":"report","unpublished":"manuscript"},"target":{"article":"article","article-journal":"article","article-magazine":"article","article-newspaper":"article","book":"book","chapter":"inbook","manuscript":"unpublished","paper-conference":"inproceedings","report":"techreport","review":"article","review-book":"article"}}'),X=JSON.parse('{"biblatex":{"article":["author","title","journaltitle",["year","date"]],"book":["author","title",["year","date"]],"mvbook":["author","title",["year","date"]],"inbook":["author","title","booktitle",["year","date"]],"booklet":[["author","editor"],"title",["year","date"]],"collection":["editor","title",["year","date"]],"mvcollection":["editor","title",["year","date"]],"incollection":["author","title","booktitle",["year","date"]],"dataset":[["author","editor"],"title",["year","date"]],"online":[["author","editor"],"title",["year","date"],["doi","eprint","url"]],"patent":["author","title","number",["year","date"]],"periodical":["editor","title",["year","date"]],"proceedings":["title",["year","date"]],"mvproceedings":["title",["year","date"]],"inproceedings":["author","title","booktitle",["year","date"]],"report":["author","title","type","institution",["year","date"]],"thesis":["author","title","type","institution",["year","date"]],"unpublished":["author","title",["year","date"]],"conference":["author","title","booktitle",["year","date"]],"electronic":[["author","editor"],"title",["year","date"],["doi","eprint","url"]],"mastersthesis":["author","title","institution",["year","date"]],"phdthesis":["author","title","institution",["year","date"]],"techreport":["author","title","institution",["year","date"]],"www":[["author","editor"],"title",["year","date"],["doi","eprint","url"]]},"bibtex":{"article":["author","title","journal","year"],"book":[["author","editor"],"title","publisher","year"],"booklet":["title"],"inbook":[["author","editor"],"title",["chapter","pages"],"publisher","year"],"incollection":["author","title","booktitle","publisher","year"],"inproceedings":["author","title","booktitle","year"],"mastersthesis":["author","title","school","year"],"phdthesis":["author","title","school","year"],"proceedings":["title","year"],"techreport":["author","title","institution","year"],"unpublished":["author","title","note"]}}'),le=JSON.parse('{"abstract":["field","literal"],"addendum":["field","literal"],"afterword":["list","name"],"annotation":["field","literal"],"annotator":["list","name"],"author":["list","name"],"authortype":["field","key"],"bookauthor":["list","name"],"bookpagination":["field","key"],"booksubtitle":["field","literal"],"booktitle":["field","title"],"booktitleaddon":["field","literal"],"chapter":["field","literal"],"commentator":["list","name"],"date":["field","date"],"doi":["field","verbatim"],"edition":["field","literal"],"editor":["list","name"],"editora":["list","name"],"editorb":["list","name"],"editorc":["list","name"],"editortype":["field","key"],"editoratype":["field","key"],"editorbtype":["field","key"],"editorctype":["field","key"],"eid":["field","literal"],"entrysubtype":["field","literal"],"eprint":["field","verbatim"],"eprintclass":["field","literal"],"eprinttype":["field","literal"],"eventdate":["field","date"],"eventtitle":["field","title"],"eventtitleaddon":["field","literal"],"file":["field","verbatim"],"foreword":["list","name"],"holder":["list","name"],"howpublished":["field","literal"],"indextitle":["field","literal"],"institution":["list","literal"],"introduction":["list","name"],"isan":["field","literal"],"isbn":["field","literal"],"ismn":["field","literal"],"isrn":["field","literal"],"issn":["field","literal"],"issue":["field","literal"],"issuesubtitle":["field","literal"],"issuetitle":["field","literal"],"iswc":["field","literal"],"journalsubtitle":["field","literal"],"journaltitle":["field","literal"],"label":["field","literal"],"language":["list","key"],"library":["field","literal"],"location":["list","literal"],"mainsubtitle":["field","literal"],"maintitle":["field","title"],"maintitleaddon":["field","literal"],"month":["field","literal"],"nameaddon":["field","literal"],"note":["field","literal"],"number":["field","literal"],"organization":["list","literal"],"origdate":["field","date"],"origlanguage":["list","key"],"origlocation":["list","literal"],"origpublisher":["list","literal"],"origtitle":["field","title"],"pages":["field","range"],"pagetotal":["field","literal"],"pagination":["field","key"],"part":["field","literal"],"publisher":["list","literal"],"pubstate":["field","key"],"reprinttitle":["field","literal"],"series":["field","title"],"shortauthor":["list","name"],"shorteditor":["list","name"],"shorthand":["field","literal"],"shorthandintro":["field","literal"],"shortjournal":["field","literal"],"shortseries":["field","literal"],"shorttitle":["field","title"],"subtitle":["field","literal"],"title":["field","title"],"titleaddon":["field","literal"],"translator":["list","name"],"type":["field","title"],"url":["field","uri"],"urldate":["field","date"],"venue":["field","literal"],"version":["field","literal"],"volume":["field","integer"],"volumes":["field","integer"],"year":["field","literal"],"crossref":["field","entry key"],"entryset":["separated","literal"],"execute":["field","code"],"gender":["field","gender"],"langid":["field","identifier"],"langidopts":["field","literal"],"ids":["separated","entry key"],"indexsorttitle":["field","literal"],"keywords":["separated","literal"],"options":["separated","options"],"presort":["field","string"],"related":["separated","literal"],"relatedoptions":["separated","literal"],"relatedtype":["field","identifier"],"relatedstring":["field","literal"],"sortkey":["field","literal"],"sortname":["list","name"],"sortshorthand":["field","literal"],"sorttitle":["field","literal"],"sortyear":["field","integer"],"xdata":["separated","entry key"],"xref":["field","entry key"],"namea":["list","name"],"nameb":["list","name"],"namec":["list","name"],"nameatype":["field","key"],"namebtype":["field","key"],"namectype":["field","key"],"lista":["list","literal"],"listb":["list","literal"],"listc":["list","literal"],"listd":["list","literal"],"liste":["list","literal"],"listf":["list","literal"],"usera":["field","literal"],"userb":["field","literal"],"userc":["field","literal"],"userd":["field","literal"],"usere":["field","literal"],"userf":["field","literal"],"verba":["field","literal"],"verbb":["field","literal"],"verbc":["field","literal"],"address":["list","literal"],"annote":["field","literal"],"archiveprefix":["field","literal"],"journal":["field","literal"],"key":["field","literal"],"pdf":["field","verbatim"],"primaryclass":["field","literal"],"school":["list","literal"],"numpages":["field","integer"],"pmid":["field","literal"],"pmcid":["field","literal"]}'),B=JSON.parse('{"SN":{"`":"\u0300","\'":"\u0301","^":"\u0302","~":"\u0303","=":"\u0304","u":"\u0306",".":"\u0307","\\"":"\u0308","r":"\u030A","H":"\u030B","v":"\u030C","b":"\u0332","d":"\u0323","c":"\u0327","k":"\u0328","t":"\u0361","textcommabelow":"\u0326"},"Pi":{"textquotesingle":"\'","textasciigrave":"`","textquotedbl":"\\"","textdollar":"$","textless":"<","textgreater":">","textbackslash":"\\\\","textasciicircum":"^","textunderscore":"_","textbraceleft":"{","textbar":"|","textbraceright":"}","textasciitilde":"~","textexclamdown":"\xA1","textcent":"\xA2","textsterling":"\xA3","textcurrency":"\xA4","textyen":"\xA5","textbrokenbar":"\xA6","textsection":"\xA7","textasciidieresis":"\xA8","textcopyright":"\xA9","textordfeminine":"\xAA","guillemetleft":"\xAB","guillemotleft":"\xAB","textlnot":"\xAC","textregistered":"\xAE","textasciimacron":"\xAF","textdegree":"\xB0","textpm":"\xB1","texttwosuperior":"\xB2","textthreesuperior":"\xB3","textasciiacute":"\xB4","textmu":"\xB5","textparagraph":"\xB6","textperiodcentered":"\xB7","textonesuperior":"\xB9","textordmasculine":"\xBA","guillemetright":"\xBB","guillemotright":"\xBB","textonequarter":"\xBC","textonehalf":"\xBD","textthreequarters":"\xBE","textquestiondown":"\xBF","AE":"\xC6","DH":"\xD0","texttimes":"\xD7","O":"\xD8","TH":"\xDE","ss":"\xDF","ae":"\xE6","dh":"\xF0","textdiv":"\xF7","o":"\xF8","th":"\xFE","DJ":"\u0110","dj":"\u0111","i":"\u0131","IJ":"\u0132","ij":"\u0133","L":"\u0141","l":"\u0142","NG":"\u014A","ng":"\u014B","OE":"\u0152","oe":"\u0153","textflorin":"\u0192","j":"\u0237","textasciicaron":"\u02C7","textasciibreve":"\u02D8","textacutedbl":"\u02DD","textgravedbl":"\u02F5","texttildelow":"\u02F7","textbaht":"\u0E3F","SS":"\u1E9E","textcompwordmark":"\u200C","textendash":"\u2013","textemdash":"\u2014","textbardbl":"\u2016","textquoteleft":"\u2018","textquoteright":"\u2019","quotesinglbase":"\u201A","textquotedblleft":"\u201C","textquotedblright":"\u201D","quotedblbase":"\u201E","textdagger":"\u2020","textdaggerdbl":"\u2021","textbullet":"\u2022","textellipsis":"\u2026","textperthousand":"\u2030","textpertenthousand":"\u2031","guilsinglleft":"\u2039","guilsinglright":"\u203A","textreferencemark":"\u203B","textinterrobang":"\u203D","textfractionsolidus":"\u2044","textlquill":"\u2045","textrquill":"\u2046","textdiscount":"\u2052","textcolonmonetary":"\u20A1","textlira":"\u20A4","textnaira":"\u20A6","textwon":"\u20A9","textdong":"\u20AB","texteuro":"\u20AC","textpeso":"\u20B1","textcelsius":"\u2103","textnumero":"\u2116","textcircledP":"\u2117","textrecipe":"\u211E","textservicemark":"\u2120","texttrademark":"\u2122","textohm":"\u2126","textmho":"\u2127","textestimated":"\u212E","textleftarrow":"\u2190","textuparrow":"\u2191","textrightarrow":"\u2192","textdownarrow":"\u2193","textminus":"\u2212","Hwithstroke":"\u0126","hwithstroke":"\u0127","textasteriskcentered":"\u2217","textsurd":"\u221A","textlangle":"\u2329","textrangle":"\u232A","textblank":"\u2422","textvisiblespace":"\u2423","textopenbullet":"\u25E6","textbigcircle":"\u25EF","textmusicalnote":"\u266A","textmarried":"\u26AD","textdivorced":"\u26AE","textinterrobangdown":"\u2E18","textcommabelow":null,"copyright":"\xA9"},"vl":{"Gamma":"\u0393","Delta":"\u0394","Theta":"\u0398","Lambda":"\u039B","Xi":"\u039E","Pi":"\u03A0","Sigma":"\u03A3","Phi":"\u03A6","Psi":"\u03A8","Omega":"\u03A9","alpha":"\u03B1","beta":"\u03B2","gamma":"\u03B3","delta":"\u03B4","varepsilon":"\u03B5","zeta":"\u03B6","eta":"\u03B7","theta":"\u03B8","iota":"\u03B9","kappa":"\u03BA","lambda":"\u03BB","mu":"\u03BC","nu":"\u03BD","xi":"\u03BE","pi":"\u03C0","rho":"\u03C1","varsigma":"\u03C2","sigma":"\u03C3","tau":"\u03C4","upsilon":"\u03C5","varphi":"\u03C6","chi":"\u03C7","psi":"\u03C8","omega":"\u03C9","vartheta":"\u03D1","Upsilon":"\u03D2","phi":"\u03D5","varpi":"\u03D6","varrho":"\u03F1","epsilon":"\u03F5"}}');const ne=X,W=le,H=B.SN,U=B.Pi,J=B.vl,ue={jan:"01",feb:"02",mar:"03",apr:"04",may:"05",jun:"06",jul:"07",aug:"08",sep:"09",oct:"10",nov:"11",dec:"12",acmcs:"ACM Computing Surveys",acta:"Acta Informatica",cacm:"Communications of the ACM",ibmjrd:"IBM Journal of Research and Development",ibmsj:"IBM Systems Journal",ieeese:"IEEE Transactions on Software Engineering",ieeetc:"IEEE Transactions on Computers",ieeetcad:"IEEE Transactions on Computer-Aided Design of Integrated Circuits",ipl:"Information Processing Letters",jacm:"Journal of the ACM",jcss:"Journal of Computer and System Sciences",scp:"Science of Computer Programming",sicomp:"SIAM Journal on Computing",tocs:"ACM Transactions on Computer Systems",tods:"ACM Transactions on Database Systems",tog:"ACM Transactions on Graphics",toms:"ACM Transactions on Mathematical Software",toois:"ACM Transactions on Office Information Systems",toplas:"ACM Transactions on Programming Languages and Systems",tcs:"Theoretical Computer Science"},Q={it:"italics",itshape:"italics",sl:"italics",slshape:"italics",em:"italics",bf:"bold",bfseries:"bold",sc:"smallcaps",scshape:"smallcaps",rm:void 0,sf:void 0,tt:void 0},q={textit:"italics",textsl:"italics",emph:"italics",mkbibitalic:"italics",mkbibemph:"italics",textbf:"bold",strong:"bold",mkbibbold:"bold",textsc:"smallcaps",textsuperscript:"superscript",textsubscript:"subscript",enquote:"quotes",mkbibquote:"quotes",textmd:void 0,textrm:void 0,textsf:void 0,texttt:void 0,textup:void 0},G={italics:["",""],bold:["",""],superscript:["",""],subscript:["",""],smallcaps:['',""],nocase:['',""],quotes:["\u201C","\u201D"]},ie={ElsevierGlyph(e){return String.fromCharCode(parseInt(e,16))},href(e,t){return e},url(e){return e}},ae=/---?|''|``|~/g,s={"--":"\u2013","---":"\u2014","``":"\u201C","''":"\u201D","~":"\xA0"},h={"^":"superscript",sp:"superscript",_:"subscript",sb:"subscript",mathrm:void 0},c={"^":{0:"\u2070",1:"\xB9",2:"\xB2",3:"\xB3",4:"\u2074",5:"\u2075",6:"\u2076",7:"\u2077",8:"\u2078",9:"\u2079","+":"\u207A","-":"\u207B","=":"\u207C","(":"\u207D",")":"\u207E",i:"\u2071",n:"\u207F"},_:{0:"\u2080",1:"\u2081",2:"\u2082",3:"\u2083",4:"\u2084",5:"\u2085",6:"\u2086",7:"\u2087",8:"\u2088",9:"\u2089","+":"\u208A","-":"\u208B","=":"\u208C","(":"\u208D",")":"\u208E",a:"\u2090",e:"\u2091",o:"\u2092",x:"\u2093",\u0259:"\u2094",h:"\u2095",k:"\u2096",l:"\u2097",m:"\u2098",n:"\u2099",s:"\u209A",p:"\u209B",t:"\u209C"}},v=["american","british","canadian","english","australian","newzealand","usenglish","ukenglish","en","eng","en-au","en-bz","en-ca","en-cb","en-gb","en-ie","en-jm","en-nz","en-ph","en-tt","en-us","en-za","en-zw","anglais"];var p={constants:$,types:{biblatex:D,bibtex:j},parse:{biblatex:!0,strict:!1,sentenceCase:"never"},format:{useIdAsLabel:!1,asciiOnly:!0},biber:{annotationMarker:"+an",namedAnnotationMarker:":"}};function O(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function x(e){for(var t=1;t{const[,t,r]=e.match(w.parseEntry)||[];if(!t||!r)return{};{const n={type:"book",label:t,properties:{}};return r.trim().split(w.splitPairs).filter(a=>a).forEach(a=>{let[l,k]=a.split(w.splitPair);k&&(l=l.trim(),k=k.trim(),l==="type"?n.type=k:n.properties[l]=k)}),n}},C=e=>e.trim().split(w.splitEntries).map(g),V=new Set(["the","a","an"]),z=/(?:<\/?.*?>|[\u0020-\u002F\u003A-\u0040\u005B-\u005E\u0060\u007B-\u007F])+/g,Y=/[^\u0020-\u007F]+/g;function Z(e){return e?e.normalize("NFKD").replace(Y,"").split(z).find(t=>t.length&&!V.has(t.toLowerCase())):""}const I=new P.util.Translator([{source:"given",target:"given"},{source:"family",target:"family"},{source:"suffix",target:"suffix"},{source:"prefix",target:"non-dropping-particle"},{source:"family",target:"literal",when:{source:!1,target:{family:!1,given:!1}}}]),oe=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"],E="BibTeX type",F="BibTeX label",K={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12,january:1,february:2,march:3,april:4,may:5,june:6,july:7,august:8,september:9,october:10,november:11,december:12},he={bathesis:"Bachelor's thesis",mathesis:"Master's thesis",phdthesis:"PhD thesis",candthesis:"Candidate thesis",techreport:"technical report",resreport:"research report",software:"computer software",datacd:"data cd",audiocd:"audio cd",patent:"patent",patentde:"German patent",patenteu:"European patent",patentfr:"French patent",patentuk:"British patent",patentus:"U.S. patent",patreq:"patent request",patreqde:"German patent request",patreqeu:"European patent request",patreqfr:"French patent request",patrequk:"British patent request",patrequs:"U.S. patent request"},Ve=/(^(?:ISAN )?(?:[0-9a-f]{4}-){4}[0-9a-z](?:-(?:[0-9a-f]{4}-){2}[0-9a-z])?$)|(^(?:979-?0-?|M-?)(?:\d{9}|(?=[\d-]{11}$)\d+-\d+-\d)$)|(^ISRN .{1,36}$)|(^(?:ISWC )?T-?\d{9}-?\d$)/i;function Ye(e){const t=e.split("T")[0].replace(/[?~%]$/,"").split("-"),r=+t[0].replace(/^Y(?=-?\d{4}\d+)/,"").replace(/X/g,"0"),n=+t[1],a=+t[2];return!n||n>20?[r]:a?[r,n,a]:[r,n]}function Ze(e){if(e==null)return[];if(+e)return[parseInt(e,10)];if(e=e.trim().toLowerCase(),e in K)return[K[e]];const t=e.split(/\s+/);let r,n;return t[0]in K?(r=K[t[0]],n=parseInt(t[1])):t[1]in K&&(r=K[t[1]],n=parseInt(t[0])),n?[r,n]:r?[r]:[]}function Xe(e,t,r,n){let a="";return e&&e[0]&&(a+=Z(e[0].family||e[0].literal)),t&&t["date-parts"]&&t["date-parts"][0]&&(a+=t["date-parts"][0][0]),r?a+=r:n&&(a+=Z(n)),a}const d={PICK:{toTarget(...e){return e.find(Boolean)},toSource(e){return[e]}},DATE:{toTarget(e){const t=e.split("/").map(r=>r&&r!==".."?Ye(r):void 0);return isNaN(t[0][0])?{literal:e}:{"date-parts":t}},toSource(e){if("date-parts"in e)return e["date-parts"].map(t=>t.map(r=>r.toString().padStart(2,"0")).join("-")).join("/")}},YEAR_MONTH:{toTarget(e,t,r){return isNaN(+e)?{literal:e}:!isNaN(+r)&&!isNaN(+t)?{"date-parts":[[+e,+t,+r]]}:{"date-parts":[[+e,...Ze(t)]]}},toSource(e){if("date-parts"in e){const[t,r,n]=e["date-parts"][0];return[t.toString(),r?n?`${oe[r-1]} ${n}`:r:void 0]}else return[]}},EPRINT:{toTarget(e,t){if(t==="pubmed")return e},toSource(e){return[e,"pubmed"]}},EVENT_TITLE:{toTarget(e,t){return t&&(e+=" ("+t+")"),e},toSource(e){return e.match(/^(.+)(?: \((.+)\))?$/).slice(1,3)}},HOW_PUBLISHED:{toTarget(e){if(e.startsWith("http"))return e}},KEYWORDS:{toTarget(e){return e.join(",")},toSource(e){return e.split(",")}},LABEL:{toTarget(e){return[e,e]},toSource(e,t,r,n,a,l){let k;return e===null?k="null":e===void 0?k="undefined":k=e.toString().replace(z,""),p.format.useIdAsLabel?k:t&&!z.test(t)?t:Xe(r,n,a,l)||k}},NAMES:{toTarget(e){return e.map(I.convertToTarget)},toSource(e){return e.map(I.convertToSource)}},NAMES_ORCID:{toTarget(e,t){return e.map((r,n)=>{var a;const l=I.convertToTarget(r);return typeof(t==null||(a=t.item)===null||a===void 0?void 0:a[n])=="string"&&(l._orcid=t.item[n]),l})},toSource(e){const t=[],r=[];for(let n=0;n=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function st(e,t){if(e==null)return{};var r={},n=Object.keys(e),a,l;for(l=0;l=0)&&(r[a]=e[a]);return r}function je(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function lt(e){for(var t=1;tt.convertToTarget(lt({[E]:n,[F]:a},_e(n,l,r))))}function Re(e,t){return e.map(r=>{const n=t.convertToSource(r),{[E]:a,[F]:l}=n,k=ot(n,[E,F].map(Pe));return{type:a,label:l,properties:k}})}function pt(e){return Ce(e,ke)}function ft(e){return Re(e,ke)}function ht(e){return Ce(e,we)}function mt(e){return Re(e,we)}function dt(e){const t=e.toUpperCase(),r=e.toLowerCase();for(let n=0;n1;){const{value:n,hyphenated:a}=e.shift();t+=n+(a?"-":" ")}const r=t+e[0].value;return r[0]&&r}function gt(e,t=!0){const r=[],n=[];if(t)for(;e.length>1&&e[0].upperCase!==!1;){for(r.push(...n),n.length=0;e.length>1&&e[0].upperCase!==!1&&!e[0].hyphenated;)r.push(e.shift());for(;e.length>0&&e[0].upperCase!==!1&&e[0].hyphenated;)n.push(e.shift())}const a=[],l=[];for(;e.length>1;){for(a.push(...l),l.length=0;e.length>1&&e[0].upperCase===!1;)a.push(e.shift());for(;e.length>0&&e[0].upperCase!==!1;)l.push(e.shift())}return n.length&&l.unshift(...n),e.length&&l.push(e[0]),[ee(r),ee(a),ee(l)]}function bt(e){if(e[0][0].label){const l={};for(const[{value:k,label:M}]of e)l[M]=k;return l}const t={},[r,n,a]=gt(e[0],e.length===1);return a&&(t.family=a),n&&(t.prefix=n),e.length===3?(t.given=ee(e[2]),t.suffix=ee(e[1])):e.length===2?t.given=ee(e[1]):r&&(t.given=r),t}function Ae(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function N(e){for(var t=1;te.slice(1).trim()},lbrace:{match:"{",push:"bracedLiteral"},mathShift:{match:"$",push:"mathLiteral"},whitespace:{match:/[\s]+|~/,lineBreaks:!0,value(e){return e==="~"?"\xA0":" "}}},Ie=_().states({stringLiteral:N(N({},te),{},{text:/[^{$}\s~\\]+/}),namesLiteral:N(N({and:/\s+[aA][nN][dD]\s+/,comma:",",hyphen:"-",equals:"="},te),{},{text:/[^{$}\s~\\,=-]+/}),listLiteral:N(N({and:/\s+and\s+/},te),{},{text:/[^{$}\s~\\]+/}),separatedLiteral:N(N({comma:","},te),{},{text:/[^{$}\s~\\,]+/}),annotation:N(N({},te),{},{colon:":",equals:"=",comma:",",semicolon:";",quote:'"',itemCount:/\d+/,text:/[^{$}\s~\\":;,=]+/}),bracedLiteral:N(N({},te),{},{rbrace:{match:"}",pop:!0},text:/[^{$}\s~\\]+/}),mathLiteral:N(N({},te),{},{mathShift:{match:"$",pop:!0},script:/[\^_]/,text:/[^{$}\s~\\^_]+/}),environment:N(N({commandEnd:{match:"\\end",pop:!0}},te),{},{text:/[^{$}\s~\\]+/})});function se(e){return e[0],e}function pe(e,t){return t in G?e&&G[t].join(e):e}const Ne=new P.util.Grammar({String(){let e="";for(;!this.matchEndOfFile();)e+=this.consumeRule("Text");return se(e)},StringNames(){const e=[];for(;;){if(this.consumeToken("whitespace",!0),e.push(this.consumeRule("Name")),this.consumeToken("whitespace",!0),this.matchEndOfFile())return e;this.consumeToken("and")}},Name(){const e=[];for(;;){if(e.push(this.consumeRule("NamePiece")),this.matchEndOfFile()||this.matchToken("and"))return bt(e);this.consumeToken("comma"),this.consumeToken("whitespace",!0)}},NamePiece(){const e=[];for(;;){const t=this.consumeRule("NameToken");if(t.label)return t.label=ee([...e,{value:t.label}]),[t];if(e.push(t),this.matchEndOfFile()||this.matchToken("and")||this.matchToken("comma"))return e;for(;this.matchToken("hyphen")||this.matchToken("whitespace");)this.consumeToken()}},NameToken(){let e=null,t="";for(;;)if(e===null&&this.matchToken("text")){const r=this.consumeToken().value;t+=r,e=dt(r)}else{if(this.matchEndOfFile()||this.matchToken("and")||this.matchToken("comma")||this.matchToken("whitespace"))return{value:t,upperCase:e};if(this.matchToken("hyphen"))return{value:t,upperCase:e,hyphenated:!0};if(this.matchToken("equals")){this.consumeToken("equals");const r=this.consumeRule("NamePiece");return r[0].label&&(t+="="+r[0].label),{value:ee(r),label:t}}else t+=this.consumeRule("Text")}},StringList(){const e=[];for(;!this.matchEndOfFile();){let t="";for(;!this.matchEndOfFile()&&!this.matchToken("and");)t+=this.consumeRule("Text");e.push(se(t)),this.consumeToken("and",!0)}return e.length===1?e[0]:e},StringSeparated(){const e=[];for(;!this.matchEndOfFile();){let t="";for(;!this.matchEndOfFile()&&!this.matchToken("comma");)t+=this.consumeRule("Text");e.push(t.trim()),this.consumeToken("comma",!0),this.consumeToken("whitespace",!0)}return e},StringVerbatim(){let e="";for(;!this.matchEndOfFile();)e+=this.consumeToken().text;return se(e)},StringUri(){const e=this.consumeRule("StringVerbatim");try{return decodeURI(e)===e?encodeURI(e):e}catch{return encodeURI(e)}},StringTitleCase(){this.state.sentenceCase=!0;let e="";for(;!this.matchEndOfFile();)e+=this.consumeRule("Text");return se(e)},Annotations(){const e={};for(;;){const{scope:t,item:r,part:n,value:a}=this.consumeRule("Annotation");if(t==="part"?(e.part||(e.part=[]),e.part[r]||(e.part[r]={}),e.part[r][n]=a):t==="item"?(e.item||(e.item=[]),e.item[r]=a):e.field=a,this.matchEndOfFile())break;this.consumeToken("semicolon"),this.consumeRule("_")}return e},Annotation(){const e={};if(this.matchToken("itemCount")?(e.item=parseInt(this.consumeToken("itemCount"))-1,this.matchToken("colon")?(this.consumeToken("colon"),e.part=this.consumeToken("text"),e.scope="part"):e.scope="item"):e.scope="field",this.consumeToken("equals"),this.consumeRule("_"),this.matchToken("quote")){this.consumeToken("quote");let t="";for(;!this.matchToken("quote");)this.matchToken("itemCount")||this.matchToken("colon")||this.matchToken("comma")||this.matchToken("semicolon")||this.matchToken("equals")?(t+=this.token.value,this.token=this.lexer.next()):t+=this.consumeRule("Text");this.consumeToken("quote"),e.value=se(t),this.consumeRule("_")}else{e.value=[];let t="";for(;;)if(t+=this.consumeRule("Text"),this.matchToken("comma"))this.consumeToken("comma"),this.consumeRule("_"),e.value.push(se(t)),t="";else if(this.matchEndOfFile()||this.matchToken("semicolon")){e.value.push(se(t));break}}return e},BracketString(){var e;let t="";this.consumeToken("lbrace");const r=this.state.sentenceCase;for(this.state.sentenceCase=r&&this.matchToken("command"),(e=this.state).partlyLowercase&&(e.partlyLowercase=this.state.sentenceCase);!this.matchToken("rbrace");)t+=this.consumeRule("Text");const a=r&&!this.state.sentenceCase&&this.state.partlyLowercase;return this.state.sentenceCase=r,this.consumeToken("rbrace"),a?pe(t,"nocase"):t},MathString(){let e="";for(this.consumeToken("mathShift");!this.matchToken("mathShift");){if(this.matchToken("script")){const t=this.consumeToken("script").value,r=this.consumeRule("Text").split("");if(r.every(n=>n in c[t]))e+=r.map(n=>c[t][n]).join("");else{const n=h[t];e+=G[n].join(r.join(""))}continue}if(this.matchToken("command")){const t=this.token.value;if(t in h){this.consumeToken("command");const r=this.consumeRule("BracketString");e+=pe(r,h[t]);continue}}e+=this.consumeRule("Text")}return this.consumeToken("mathShift"),e},Text(){if(this.matchToken("lbrace"))return this.consumeRule("BracketString");if(this.matchToken("mathShift"))return this.consumeRule("MathString");if(this.matchToken("whitespace"))return this.consumeToken("whitespace").value;if(this.matchToken("commandBegin"))return this.consumeRule("EnclosedEnv");if(this.matchToken("command"))return this.consumeRule("Command");const e=this.consumeToken("text").value.replace(ae,M=>s[M]),t=this.state.afterPunctuation;if(this.state.afterPunctuation=/[?!.:]$/.test(e),!this.state.sentenceCase){var r;return(r=this.state).partlyLowercase||(r.partlyLowercase=e===e.toLowerCase()&&e!==e.toUpperCase()),e}const[n,...a]=e,l=a.join(""),k=l.toLowerCase();return l!==k?e:t?n+k:e.toLowerCase()},Command(){const e=this.consumeToken("command"),t=e.value;if(t in Q){const r=this.consumeRule("Env"),n=Q[t];return pe(r,n)}else if(t in q){const r=this.consumeRule("BracketString"),n=q[t];return pe(r,n)}else{if(t in U)return U[t];if(t in J)return J[t];if(t in H&&!this.matchEndOfFile()){const r=this.consumeRule("Text");return(r[0]+H[t]).normalize("NFC")+r.slice(1)}else if(t in ie){const r=ie[t],n=[];let a=r.length;for(;a-- >0;)this.consumeToken("whitespace",!0),n.push(this.consumeRule("BracketString"));return r(...n)}else return/^[&%$#_{}]$/.test(t)?e.text.slice(1):e.text}},Env(){let e="";for(;!this.matchEndOfFile()&&!this.matchToken("rbrace");)e+=this.consumeRule("Text");return e},EnclosedEnv(){this.consumeToken("commandBegin");const e=this.consumeRule("BracketString");let t="";for(;!this.matchToken("commandEnd");)t+=this.consumeRule("Text");const r=this.consumeToken("commandEnd"),n=this.consumeRule("BracketString");if(e!==n)throw new SyntaxError(this.lexer.formatError(r,`environment started with "${e}", ended with "${n}"`));return pe(t,Q[e])},_(){for(;this.matchToken("whitespace");)this.consumeToken("whitespace")}},{sentenceCase:!1,partlyLowercase:!1,afterPunctuation:!0});function Le(e){return v.includes(e.toLowerCase())}function kt(e){return Array.isArray(e)?e.every(Le):Le(e)}function xt(e,t){if(e[1]==="name")return e[0]==="list"?"StringNames":"Name";if(e[1]==="title"){const r=p.parse.sentenceCase;return r==="always"||r==="english"&&kt(t)?"StringTitleCase":"String"}switch(e[0]==="field"?e[1]:e[0]){case"list":return"StringList";case"separated":return"StringSeparated";case"verbatim":return"StringVerbatim";case"uri":return"StringUri";case"title":case"literal":default:return"String"}}function Tt(e){if(e[1]==="name")return"namesLiteral";switch(e[0]){case"list":return"listLiteral";case"separated":return"separatedLiteral";case"field":default:return"stringLiteral"}}function De(e,t,r=[]){const n=W[t]||[];return Ne.parse(Ie.reset(e,{state:Tt(n),line:0,col:0}),xt(n,r))}function St(e){return Ne.parse(Ie.reset(e,{state:"annotation",line:0,col:0}),"Annotations")}function Be(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Me(e){for(var t=1;tUt in l)?k.push(M.join("/")):typeof M=="string"&&!(M in l)&&k.push(M);k.length&&r.push([a,`missing fields: ${k.join(", ")}`])}else r.push([a,`invalid type: "${n}"`]);if(r.length)throw new RangeError(["Invalid entries:"].concat(r.map(([n,a])=>` - ${n} has ${a}`)).join(` +`))}function qe(e){const t={};"language"in e.properties&&(t.language=De(e.properties.language,"language"));for(const r in e.properties){const n=e.properties[r];n!==""&&(t[r]=De(n+"",r,t.language))}for(const r in e.annotations)for(const n in e.annotations[r])t[r+"+an:"+n]=St(e.annotations[r][n]);return Me(Me({},e),{},{properties:t})}function ze(e){return p.parse.strict&&$e(e,ne.biblatex),ht(e.map(qe))}function Fe(e){return p.parse.strict&&$e(e,ne.bibtex),pt(e.map(qe))}const jt="@bibtex",Pt={"@biblatex/text":{parse:T,parseType:{dataType:"String",predicate:/@\s{0,5}[A-Za-z]{1,13}\s{0,5}\{\s{0,5}[^@{}"=,\\\s]{0,100}\s{0,5},[\s\S]*\}/}},"@biblatex/entry+object":{parse(e){return ze([e])},parseType:{dataType:"SimpleObject",propertyConstraint:{props:["type","label","properties"]}}},"@biblatex/entries+list":{parse:ze,parseType:{elementConstraint:"@biblatex/entry+object"}},"@bibtex/text":{parse:T,outputs:"@bibtex/entries+list"},"@bibtex/entry+object":{parse(e){return Fe([e])}},"@bibtex/entries+list":{parse:Fe},"@bibtxt/text":{parse:C,parseType:{dataType:"String",predicate:/^\s*(\[(?!\s*[{[]).*?\]\s*(\n\s*[^[]((?!:)\S)+\s*:\s*.+?\s*)*\s*)+$/}}},re={};for(const e in U)re[U[e]]=e;for(const e in H)re[H[e]]=e;for(const e in s)re[s[e]]=e;const me={};for(const e in J)me[J[e]]=e;const Ct=/[^a-zA-Z0-9\s!"#%&'()*+,\-./:;=?@[\]{}\u0300-\u0308\u030a-\u030c\u0332\u0323\u0327\u0328\u0361\u0326]/g,Rt=/.[\u0300-\u0308\u030a-\u030c\u0332\u0323\u0327\u0328\u0361\u0326]+/g,At=/[\u0300-\u0308\u030a-\u030c\u0332\u0323\u0327\u0328\u0361\u0326]/g,de={separated:",",list:" and "},Ke={i:"\\textit{",b:"\\textbf{",sc:"\\textsc{",sup:"\\textsuperscript{",sub:"\\textsubscript{",'span style="font-variant:small-caps;"':"\\textsc{",'span class="nocase"':"{"};function It(e){return e in re?re[e]in s?re[e]:`\\${re[e]}{}`:e in me?`$\\${me[e]}$`:""}function fe(e){return p.format.asciiOnly?e.normalize("NFKD").replace(Ct,t=>It(t)).replace(Rt,t=>Array.from(t).reduce((r,n)=>`{\\${re[n]} ${r}}`)).replace(At,""):e}function Ue(e){const t=[];let r=e.split(/<(\/?(?:i|b|sc|sup|sub|span)|span .*?)>/g);return r=r.map((n,a)=>a%2===0?fe(n):n in Ke?(t.push("/"+n.split(" ")[0]),Ke[n]):n===t[t.length-1]?(t.pop(),"}"):""),r.join("")}function Nt(e){if(e.family&&!e.prefix&&!e.given&!e.suffix)return e.family.includes(de.list)?e.family:`{${e.family}}`;const t=[""];return e.prefix&&e.family&&(t[0]+=e.prefix+" "),e.family&&(t[0]+=e.family),e.suffix?(t.push(e.suffix),t.push(e.given||"")):t.push(e.given),fe(t.join(", ").trim())}function Lt(e){return Ue(e).split(/(:\s*)/).map((t,r)=>r%2?t:t.replace(/([^\\])\b([a-z]*[A-Z].*?)\b/g,"$1{$2}")).join("")}function ge(e,t){switch(t){case"title":return Lt(e);case"literal":return Ue(e.toString());case"name":return Nt(e);case"verbatim":case"uri":return e.toString();default:return fe(e.toString())}}function Dt(e,t,r){const n=de[r];return e.map(a=>{const l=ge(a,t);return l.includes(n)?`{${l}}`:l}).join(n)}function be(e){return Array.isArray(e)?e.map(t=>fe(t).replace(/([;,"])/g,"{$1}")).join(", "):'"'+fe(e).replace(/(["])/g,"{$1}")+'"'}function Bt(e,t){if(!(e in W))return ge(t,"verbatim");const[r,n]=W[e];return r in de?Dt(t,n,r):ge(t,n)}function Mt(e){const t=[];if(e.field&&t.push("="+be(e.field)),e.item)for(const[r,n]of Object.entries(e.item)){if(!n)continue;const a=parseInt(r)+1;t.push(a+"="+be(n))}if(e.part)for(const[r,n]of Object.entries(e.part)){if(!n)continue;const a=parseInt(r)+1;for(const l in n)n[l]&&t.push(a+":"+l+"="+be(n[l]))}return t.join("; ")}function Ge({type:e,label:t,properties:r}){const n={type:e,label:t,properties:{}};for(const a in r){const l=r[a],[k,M]=a.split("+an:");M?(n.annotations||(n.annotations={}),n.annotations[k]||(n.annotations[k]={}),n.annotations[k][M]=Mt(l)):n.properties[a]=Bt(a,l)}return n}function $t(e){return mt(e).map(Ge)}function We(e){return ft(e).map(Ge)}function He(e,t,r){return r.listItem.join(`${e} = {${t}},`)}function qt(e,t){const r=[];for(const n in e.properties)if(r.push(He(n,e.properties[n],t)),e.annotations&&e.annotations[n])for(const a in e.annotations[n]){let l=n+p.biber.annotationMarker;a!=="default"&&(l+=p.biber.namedAnnotationMarker+a),r.push(He(l,e.annotations[n][a],t))}return t.entry.join(`@${e.type}{${e.label},${t.list.join(r.join(""))}}`)}function Je(e,t){const r=e.map(n=>qt(n,t)).join("");return t.bibliographyContainer.join(r)}function zt({type:e,label:t,properties:r},n){const a=Object.entries(r).concat([["type",e]]).map(([l,k])=>n.listItem.join(`${l}: ${k}`));return n.entry.join(`[${t}]${n.list.join(a.join(""))}`)}function Ft(e,t){const r=e.map(n=>zt(n,t)).join(` +`);return t.bibliographyContainer.join(r)}const ye=function(e,t){return function(r,n={}){const{type:a,format:l=a||"text"}=n;if(r=e(r),l==="object")return r;if(P.plugins.dict.has(l))return t(r,P.plugins.dict.get(l),n);throw new RangeError(`Output dictionary "${l}" not available`)}};var Kt={bibtex:ye(We,Je),biblatex:ye($t,Je),bibtxt:ye(We,Ft)};P.plugins.add(jt,{input:Pt,output:Kt,config:p})},"./node_modules/moo/moo.js":function(ce,L){var S,$,P;(function(R,_){$=[],S=_,P=typeof S=="function"?S.apply(L,$):S,P!==void 0&&(ce.exports=P)})(this,function(){"use strict";var R=Object.prototype.hasOwnProperty,_=Object.prototype.toString,D=typeof new RegExp().sticky=="boolean";function j(i){return i&&_.call(i)==="[object RegExp]"}function X(i){return i&&typeof i=="object"&&!j(i)&&!Array.isArray(i)}function le(i){return i.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function B(i){var o=new RegExp("|"+i);return o.exec("").length-1}function ne(i){return"("+i+")"}function W(i){if(!i.length)return"(?!)";var o=i.map(function(u){return"(?:"+u+")"}).join("|");return"(?:"+o+")"}function H(i){if(typeof i=="string")return"(?:"+le(i)+")";if(j(i)){if(i.ignoreCase)throw new Error("RegExp /i flag not allowed");if(i.global)throw new Error("RegExp /g flag is implied");if(i.sticky)throw new Error("RegExp /y flag is implied");if(i.multiline)throw new Error("RegExp /m flag is implied");return i.source}else throw new Error("Not a pattern: "+i)}function U(i,o){return i.length>o?i:Array(o-i.length+1).join(" ")+i}function J(i,o){for(var u=i.length,f=0;;){var b=i.lastIndexOf(` +`,u-1);if(b===-1||(f++,u=b,f===o)||u===0)break}var m=f0)throw new Error("RegExp has capture groups: "+I+` +Use (?: \u2026 ) instead`);if(!g.lineBreaks&&I.test(` +`))throw new Error("Rule should declare lineBreaks: "+I);T.push(ne(Z))}}var E=u&&u.fallback,F=D&&!E?"ym":"gm",K=D||E?"":"|";m===!0&&(F+="u");var he=new RegExp(W(T)+K,F);return{regexp:he,groups:y,fast:f,error:u||ie}}function s(i){var o=ae(G(i));return new p({start:o},"start")}function h(i,o,u){var f=i&&(i.push||i.next);if(f&&!u[f])throw new Error("Missing state '"+f+"' (in token '"+i.defaultType+"' of state '"+o+"')");if(i&&i.pop&&+i.pop!=1)throw new Error("pop must be 1 (in token '"+i.defaultType+"' of state '"+o+"')")}function c(i,o){var u=i.$all?G(i.$all):[];delete i.$all;var f=Object.getOwnPropertyNames(i);o||(o=f[0]);for(var b=Object.create(null),m=0;mthis.currentVersion())return null;{const[n,i]=this.log[t-1],s=new this.constructor(JSON.parse(n),JSON.parse(i));return s.log=this.log.slice(0,t),s}}function tt(t=1){return this.retrieveVersion(this.currentVersion()-t)}function it(){return this.retrieveVersion(this.currentVersion())}function pt(){return this.log.push([JSON.stringify(this.data),JSON.stringify(this._options)]),this}const ot=["real","string"],Q=["json","html","string","rtf"],lt=["csl","bibtex","bibtxt","citation-*","ris","ndjson"],gt=["string","function"];function K(t){if(typeof t!="object")throw new TypeError("Options not an object!");const{format:n,type:i,style:s,lang:h,append:B,prepend:L}=t;if(n&&!ot.includes(n))throw new TypeError(`Option format ("${n}") should be one of: ${ot}`);if(i&&!Q.includes(i))throw new TypeError(`Option type ("${i}") should be one of: ${Q}`);if(s&&!lt.includes(s)&&!/^citation/.test(s))throw new TypeError(`Option style ("${s}") should be one of: ${lt}`);if(h&&typeof h!="string")throw new TypeError(`Option lang should be a string, but is a ${typeof h}`);if(L&&!gt.includes(typeof L))throw new TypeError(`Option prepend should be a string or a function, but is a ${typeof L}`);if(B&&!gt.includes(typeof B))throw new TypeError(`Option append should be a string or a function, but is a ${typeof B}`);if(/^citation/.test(s)&&i==="json")throw new Error(`Combination type/style of json/citation-* is not valid: ${i}/${s}`);return!0}function yt(t){if(typeof t!="object")throw new TypeError("Options should be an object");if(t.output)K(t.output);else{if(t.maxChainLength&&typeof t.maxChainLength!="number")throw new TypeError("Option maxChainLength should be a number");if(t.forceType&&typeof t.forceType!="string")throw new TypeError("Option forceType should be a string");if(t.generateGraph!=null&&typeof t.generateGraph!="boolean")throw new TypeError("Option generateGraph should be a boolean");if(t.strict!=null&&typeof t.strict!="boolean")throw new TypeError("Option strict should be a boolean");if(t.target!=null&&typeof t.target!="string")throw new TypeError("Option target should be a boolean")}return!0}const ut={format:"real",type:"json",style:"csl",lang:"en-US"};function f(t,n){return K(t),n&&this.save(),Object.assign(this._options,t),this}function p(t){switch(t){case void 0:return"Undefined";case null:return"Null";default:return t.constructor.name}}function w(t){switch(typeof t){case"string":return"String";case"object":if(Array.isArray(t))return"Array";if(p(t)==="Object")return"SimpleObject";if(p(t)!=="Null")return"ComplexObject";default:return"Primitive"}}function G(t,n){if(t._graph){const i=n.findIndex(({type:s})=>s==="@else/list+object");i!==-1&&n.splice(i+1,0,...t._graph.slice(0,-1))}return t._graph=n,t}function j(t){return delete t._graph,t}const b={_output(t,n,i){this._log.push(n,i),!(this._levels.indexOf(t)b._output(t,n,i);typeof console.Console=="function"?b._console=new console.Console(process.stderr):b._console=console;var q=b;const et={},X={},st={};function Ut(t,n){switch(n){case"Array":return t.length===0||t.every(i=>Et(i)==="@csl/object")?"@csl/list+object":"@else/list+object";case"SimpleObject":case"ComplexObject":return"@csl/object";default:return"@invalid"}}function Ft(t=[],n){for(const i of t)if(et[i].predicate(n))return Ft(et[i].extensions,n)||i}function Et(t){const n=w(t);return n==="Array"&&t.length===0?Ut(t,n):Ft(X[n],t)||Ut(t,n)}function Rt(t,{dataType:n,predicate:i,extends:s}){let h=[];t in st&&(h=st[t],delete st[t],q.debug("[core]",`Subclasses "${h}" finally registered to parent type "${t}"`));const B={predicate:i,extensions:h};if(et[t]=B,s){const L=et[s];L?L.extensions.push(t):(st[s]||(st[s]=[]),st[s].push(t),q.debug("[core]",`Subclass "${t}" is waiting on parent type "${s}"`))}else(X[n]||(X[n]=[])).push(t)}function Lt(t){return Object.prototype.hasOwnProperty.call(et,t)}function mt(t){delete et[t],[...Object.keys(X).map(i=>X[i]),...Object.keys(et).map(i=>et[i].extensions).filter(i=>i.length>0)].forEach(i=>{const s=i.indexOf(t);s>-1&&i.splice(s,1)})}function at(){return Object.keys(et)}function jt(){const t=n=>({name:n,children:et[n].extensions.map(t)});return{name:"Type tree",children:Object.keys(X).map(n=>({name:n,children:X[n].map(t)}))}}const $t=/^(?:@(.+?))(?:\/(?:(.+?)\+)?(?:(.+)))?$/;function u(t,n,i){return n=e(n),n in t?Object.defineProperty(t,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[n]=i,t}function e(t){var n=r(t,"string");return typeof n=="symbol"?n:n+""}function r(t,n){if(typeof t!="object"||!t)return t;var i=t[Symbol.toPrimitive];if(i!==void 0){var s=i.call(t,n||"default");if(typeof s!="object")return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(t)}class o{constructor(n){u(this,"validDataTypes",["String","Array","SimpleObject","ComplexObject","Primitive"]),this.data=n}validateDataType(){const n=this.data.dataType;if(n&&!this.validDataTypes.includes(n))throw new RangeError(`dataType was ${n}; expected one of ${this.validDataTypes}`)}validateParseType(){const n=this.data.predicate;if(n&&!(n instanceof RegExp||typeof n=="function"))throw new TypeError(`predicate was ${typeof n}; expected RegExp or function`)}validateTokenList(){const n=this.data.tokenList;if(n&&typeof n!="object")throw new TypeError(`tokenList was ${typeof n}; expected object or RegExp`)}validatePropertyConstraint(){const n=this.data.propertyConstraint;if(n&&typeof n!="object")throw new TypeError(`propertyConstraint was ${typeof n}; expected array or object`)}validateElementConstraint(){const n=this.data.elementConstraint;if(n&&typeof n!="string")throw new TypeError(`elementConstraint was ${typeof n}; expected string`)}validateExtends(){const n=this.data.extends;if(n&&typeof n!="string")throw new TypeError(`extends was ${typeof n}; expected string`)}validate(){if(this.data===null||typeof this.data!="object")throw new TypeError(`typeParser was ${typeof this.data}; expected object`);this.validateDataType(),this.validateParseType(),this.validateTokenList(),this.validatePropertyConstraint(),this.validateElementConstraint(),this.validateExtends()}parseTokenList(){let n=this.data.tokenList;if(n)n instanceof RegExp&&(n={token:n});else return[];const{token:i,split:s=/\s+/,trim:h=!0,every:B=!0}=n,L=Y=>h?Y.trim():Y,ct=B?"every":"some";return[Y=>L(Y).split(s)[ct](rt=>i.test(rt))]}parsePropertyConstraint(){return[].concat(this.data.propertyConstraint||[]).map(({props:i,match:s,value:h})=>{switch(i=[].concat(i),s){case"any":case"some":return B=>i.some(L=>L in B&&(!h||h(B[L])));case"none":return B=>!i.some(L=>L in B&&(!h||h(B[L])));case"every":default:return B=>i.every(L=>L in B&&(!h||h(B[L])))}})}parseElementConstraint(){const n=this.data.elementConstraint;return n?[i=>i.every(s=>Et(s)===n)]:[]}parsePredicate(){return this.data.predicate instanceof RegExp?[this.data.predicate.test.bind(this.data.predicate)]:this.data.predicate?[this.data.predicate]:[]}getCombinedPredicate(){const n=[...this.parsePredicate(),...this.parseTokenList(),...this.parsePropertyConstraint(),...this.parseElementConstraint()];return n.length===0?()=>!0:n.length===1?n[0]:i=>n.every(s=>s(i))}getDataType(){return this.data.dataType?this.data.dataType:this.data.predicate instanceof RegExp||this.data.tokenList?"String":this.data.elementConstraint?"Array":"Primitive"}get dataType(){return this.getDataType()}get predicate(){return this.getCombinedPredicate()}get extends(){return this.data.extends}}class a{constructor(n,{async:i}={}){this.parser=n,this.async=i}validate(){const n=this.parser;if(typeof n!="function")throw new TypeError(`parser was ${typeof n}; expected function`)}}class y{constructor(n,i={}){this.format=n,i.parseType&&(this.typeParser=new o(i.parseType)),i.parse&&(this.dataParser=new a(i.parse,{async:!1})),i.parseAsync&&(this.asyncDataParser=new a(i.parseAsync,{async:!0}))}validateFormat(){const n=this.format;if(!$t.test(n))throw new TypeError(`format name was "${n}"; didn't match expected pattern`)}validate(){this.validateFormat(),this.typeParser&&this.typeParser.validate(),this.dataParser&&this.dataParser.validate(),this.asyncDataParser&&this.asyncDataParser.validate()}}var E=A("./node_modules/@citation-js/name/lib/index.js");function R(t,n){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);n&&(s=s.filter(function(h){return Object.getOwnPropertyDescriptor(t,h).enumerable})),i.push.apply(i,s)}return i}function V(t){for(var n=1;nse(s,n)).filter(Boolean);return i.length?i:void 0}}function Gt(t,n){return t.every(i=>typeof i=="number")?t:!n||t.some(i=>isNaN(parseInt(i)))?void 0:t.map(i=>parseInt(i))}function Ue(t,n){const i="date-parts";if(!(typeof t!="object"||t===null)){if(t[i]instanceof Array&&t[i].every(s=>s instanceof Array)){const s=t[i].map(h=>Gt(h,n)).filter(Boolean);return s.length?V(V({},t),{},{"date-parts":s}):void 0}else if(t instanceof Array&&t.every(s=>s[i]instanceof Array)){const s=t.map(h=>Gt(h[i],n)).filter(Boolean);return s.length?{"date-parts":s}:void 0}else if(t[i]instanceof Array){const s=Gt(t[i],n);return s&&{"date-parts":[s]}}else if("literal"in t||"raw"in t)return t}}function ae(t,n){if(t=_t("language",t,n),Jt[t]===!0)return t;if(n){if(t in Jt)return Jt[t];if(t.toLowerCase()!==t)return ae(t.toLowerCase(),n)}}function _t(t,n,i){const s=[].concat(oe[t]);switch(oe[t]){case vt:return se(n,i);case J:return Ie(n,i);case ht:return Ue(n,i);case ie:return ae(n,i)}if(i){if(typeof n=="string"&&s.includes("number")&&!s.includes("string")&&!isNaN(+n))return parseFloat(n);if(typeof n=="number"&&s.includes("string")&&!s.includes("number"))return n.toString();if(Array.isArray(n)&&n.length)return _t(t,n[0],i)}if(s.includes(typeof n))return n}function ce(t,n=!0){return t.map(function(i){const s={};for(const h in i){const B=_t(h,i[h],n);B!==void 0&&(s[h]=B)}return s})}function fe(t,n){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);n&&(s=s.filter(function(h){return Object.getOwnPropertyDescriptor(t,h).enumerable})),i.push.apply(i,s)}return i}function le(t){for(var n=1;nMt(s,n));else{const s={};for(const h in t)s[h]=Mt(t[h],n);i=s}return n.delete(t),i}var Pt=Mt,Ne=A("./node_modules/sync-fetch/browser.js"),he=A.n(Ne),Me=A("./node_modules/fetch-ponyfill/build/fetch-browser.js"),ke=A.n(Me),pe={rE:"0.7.11"};const{fetch:He,Headers:Ve}=ke()(),de=typeof location<"u"&&typeof document<"u";let zt=de?"":`Citation.js/${pe.rE} Node.js/${process.version}`;function ye(t){const n={},i=t instanceof Ve||t instanceof he().Headers?Array.from(t):Object.entries(t);for(const[s,h]of i)n[s.toLowerCase()]=h.toString();return n}function Ee(t={}){const n={headers:{accept:"*/*"},method:"GET",checkContentType:t.checkContentType};if(zt&&!de&&(n.headers["user-agent"]=zt),t.body){n.method="POST";const i=typeof t.body!="string";n.body=i?JSON.stringify(t.body):t.body,n.headers["content-type"]=i?"application/json":"text/plain"}return t.headers&&Object.assign(n.headers,ye(t.headers)),n}function Je(t,n){if(!t.accept||t.accept==="*/*"||!n["content-type"])return!0;const[i,s]=n["content-type"].split(";")[0].trim().split("/");return t.accept.split(",").map(h=>h.split(";")[0].trim().split("/")).some(([h,B])=>(h===i||h==="*")&&(B===s||B==="*"))}function Ae(t,n){const{status:i,headers:s}=t;let h;if(i>=400?h=new Error(`Server responded with status code ${i}`):n.checkContentType===!0&&!Je(n.headers,ye(s))&&(h=new Error(`Server responded with content-type ${s.get("content-type")}`)),h)throw h.status=i,h.headers=s,h.body=t.body,h;return t}function Ge(t,n){const i=Ee(n);return q.http("[core]",i.method,t,i),Ae(he()(t,i),i).text()}async function _e(t,n){const i=Ee(n);return q.http("[core]",i.method,t,i),He(t,i).then(s=>Ae(s,i)).then(s=>s.text())}function We(t){zt=t}var Yr=null;function ze(t,n){let i;for(;i===void 0||t.includes(i);)i=`${n}${Math.random().toString().slice(2)}`;return i}var Xt=ze;class dt{constructor(n){this.stack=n,this.index=0,this.current=this.stack[this.index]}static getPatternText(n){return`"${n instanceof RegExp?n.source:n}"`}static getMatchCallback(n){if(Array.isArray(n)){const i=n.map(dt.getMatchCallback);return s=>i.some(h=>h(s))}else return n instanceof Function?n:n instanceof RegExp?i=>n.test(i):i=>n===i}tokensLeft(){return this.stack.length-this.index}matches(n){return dt.getMatchCallback(n)(this.current,this.index,this.stack)}matchesSequence(n){const i=this.stack.slice(this.index,this.index+n.length).join("");return typeof n=="string"?i===n:n.every((s,h)=>dt.getMatchCallback(s)(i[h]))}consumeToken(n=/^[\s\S]$/,{inverse:i=!1,spaced:s=!0}={}){s&&this.consumeWhitespace();const h=this.current;if(dt.getMatchCallback(n)(h,this.index,this.stack))this.current=this.stack[++this.index];else throw new SyntaxError(`Unexpected token at index ${this.index}: Expected ${dt.getPatternText(n)}, got "${h}"`);return s&&this.consumeWhitespace(),h}consumeWhitespace(n=/^\s$/,{optional:i=!0}={}){return this.consume(n,{min:+!i})}consumeN(n){if(this.tokensLeft()s)throw new SyntaxError(`Too many ${dt.getPatternText(n)}`);return B&&(Y=Y.map(B)),L&&(Y=Y.filter(L)),Y.join("")}}var Xe=dt;class Ke{constructor(n={}){this.data=n}set(n,i){return this.data[n]=i,this}add(...n){return this.set(...n)}delete(n){return delete this.data[n],this}remove(...n){return this.delete(...n)}get(n){return this.data[n]}has(n){return Object.prototype.hasOwnProperty.call(this.data,n)}list(){return Object.keys(this.data)}}var Kt=Ke;class Ye{constructor(n,i){this.rules=n,this.defaultState=i,this.mainRule=Object.keys(n)[0],this.log=[]}parse(n,i){return this.lexer=n,this.token=this.lexer.next(),this.state=Mt(this.defaultState),this.log=[],this.consumeRule(i||this.mainRule)}matchEndOfFile(){return!this.token}matchToken(n){return this.token&&n===this.token.type}consumeToken(n,i){const s=this.token;if(!n||s&&s.type===n)return this.token=this.lexer.next(),s;if(i)return;{const h=s?`"${s.type}"`:"EOF",B=new SyntaxError(this.lexer.formatError(s,`expected "${n}", got ${h}`));throw B.message+=` (${this.log.join("->")})`,B}}consumeRule(n){this.log.push(n);const i=this.rules[n].call(this);return this.log.pop(),i}}function Qe(t){return function(i){return typeof t=="boolean"?t:Object.keys(t).every(s=>{const h=t[s];return h===!0?s in i:h===!1?!(s in i):typeof h=="function"?h(i[s]):Array.isArray(h)?h.includes(i[s]):i[s]===h})}}function Ze(t,n){let i,s,h,B;if(typeof t=="string")i=s=t;else if(t)i=n?t.target:t.source,s=n?t.source:t.target,t.convert&&(h=n?t.convert.toSource:t.convert.toTarget),t.when&&(B=n?t.when.target:t.when.source,B!=null&&(B=Qe(B)));else return null;return i=[].concat(i).filter(Boolean),s=[].concat(s).filter(Boolean),{inputProp:i,outputProp:s,convert:h,condition:B}}function ge(t,n){return n=n===Dt.CONVERT_TO_SOURCE,t=t.map(i=>Ze(i,n)).filter(Boolean),function(s){const h={};for(const{inputProp:B,outputProp:L,convert:ct,condition:At}of t){if(L.length===0)continue;if(At&&!At(s))continue;if(B.length!==0&&B.every(rt=>!(rt in s)))continue;let Y=B.map(rt=>s[rt]);if(ct)try{const rt=ct.apply(s,Y);Y=L.length===1?[rt]:rt}catch(rt){throw new Error(`Failed to convert ${B} to ${L}`,{cause:rt})}L.forEach((rt,Ot)=>{const Vt=Y[Ot];Vt!==void 0&&(h[rt]=Vt)})}return h}}class Dt{constructor(n){this.convertToSource=ge(n,Dt.CONVERT_TO_SOURCE),this.convertToTarget=ge(n,Dt.CONVERT_TO_TARGET)}}Dt.CONVERT_TO_SOURCE=Symbol("convert to source"),Dt.CONVERT_TO_TARGET=Symbol("convert to target");function qe(t){return t.reduce((n,i)=>{const s=n[n.length-1];return s&&s.type===i.type?s.count=s.count+1||2:n.push(i),n},[]).map(n=>(n.count>1?n.count+"x ":"")+n.type).join(" -> ")}class me{constructor(n,i={}){this.options=Object.assign({generateGraph:!0,forceType:Et(n),maxChainLength:10,strict:!0,target:"@csl/list+object"},i),this.type=this.options.forceType,this.data=typeof n=="object"?Pt(n):n,this.graph=[{type:this.type,data:n}],this.iteration=0}iterate(){if(this.iteration!==0){const n=Ce(this.type);n&&n.outputs?this.type=n.outputs:this.type=Et(this.data),this.graph.push({type:this.type})}return this.error||this.type===this.options.target?!1:this.iteration>=this.options.maxChainLength?(this.error=new RangeError(`Max. number of parsing iterations reached (${qe(this.graph)})`),!1):(this.iteration++,!0)}end(){if(this.error){if(q.error("[core]",this.error.message),this.options.strict!==!1)throw this.error;return[]}else return this.options.target==="@csl/list+object"?Wt(this.data).map(this.options.generateGraph?n=>G(n,this.graph):j):this.data}}const Yt=(...t)=>{const n=new me(...t);for(;n.iterate();)try{n.data=kt(n.data,n.type)}catch(i){n.error=i}return n.end()},tr=t=>{const n=Et(t),i=n.match(/array|object/)?Pt(t):t;return kt(i,n)},Qt=async(...t)=>{const n=new me(...t);for(;n.iterate();)n.data=await te(n.data,n.type).catch(i=>{n.error=i});return n.end()},er=async t=>{const n=Et(t),i=n.match(/array|object/)?Pt(t):t;return te(i,n)},xt={},Bt={},Zt={"@csl/object":t=>[t],"@csl/list+object":t=>t,"@else/list+object":t=>t.map(Yt).flat(),"@invalid":()=>{throw new Error("This format is not supported or recognized")}},qt={"@else/list+object":async t=>(await Promise.all(t.map(Qt))).flat()};function kt(t,n){if(typeof xt[n]=="function")return xt[n](t);if(typeof Zt[n]=="function")return Zt[n](t);throw new TypeError(`No synchronous parser found for ${n}`)}async function te(t,n){if(typeof Bt[n]=="function")return Bt[n](t);if(typeof qt[n]=="function")return qt[n](t);if(De(n,!1))return kt(t,n);throw new TypeError(`No parser found for ${n}`)}function ee(t,{parser:n,async:i}){i?Bt[t]=n:xt[t]=n}function De(t,n){return n?Bt[t]||qt[t]:xt[t]||Zt[t]}function re(t,n){delete(n?Bt:xt)[t]}function rr(t){return Object.keys(t?Bt:xt)}const Ct={};function nr(t,n){const i=new y(t,n);i.validate();const s=Ct[t]||(Ct[t]={});i.typeParser&&(Rt(t,i.typeParser),s.type=!0),i.dataParser&&(ee(t,i.dataParser),s.data=!0),i.asyncDataParser&&(ee(t,i.asyncDataParser),s.asyncData=!0),n.outputs&&(s.outputs=n.outputs)}function Ce(t){return Ct[t]}function ur(t){const n=Ct[t];n&&(n.type&&mt(t),n.data&&re(t),n.asyncData&&re(t,!0),delete Ct[t])}function ir(t){return t in Ct}function or(){return Object.keys(Ct)}const sr=Object.assign({},g,T,S,D);function ar(t,n={},i=!1){return(n===!0||i===!0)&&this.save(),this.data.push(...Yt(t,n)),this.data.filter(s=>!Object.prototype.hasOwnProperty.call(s,"id")).forEach(s=>{s.id=Xt(this.getIds(),"temp_id_")}),this}async function cr(t,n={},i=!1){return(n===!0||i===!0)&&this.save(),this.data.push(...await Qt(t,n)),this.data.filter(s=>!Object.prototype.hasOwnProperty.call(s,"id")).forEach(s=>{s.id=Xt(this.getIds(),"temp_id_")}),this}function fr(t,n={},i=!1){return(n===!0||i===!0)&&this.save(),this.data=[],typeof n!="boolean"?this.add(t,n):this.add(t)}async function lr(t,n={},i=!1){return(n===!0||i===!0)&&this.save(),this.data=[],typeof n!="boolean"?this.addAsync(t,n):this.addAsync(t)}function hr(t){return t&&this.save(),this.data=[],this._options={},this}function we(t){if("citation-label"in t)return t["citation-label"];let n="";return t.author&&(n+=t.author[0].family||t.author[0].literal),t.issued&&t.issued["date-parts"]&&t.issued["date-parts"][0]&&(n+=t.issued["date-parts"][0][0]),t["year-suffix"]?n+=t["year-suffix"]:t.title&&(n+=t.title.replace(/<\/?.*?>/g,"").match(/^(?:(?:the|a|an)\s+)?(\S+)/i)[1]),n}var pr={label(t){return t.reduce((n,i)=>(n[i.id]=we(i),n),{})}};function be(t,n,i=n==="label"){let s=i?we(t):t[n];switch(n){case"author":case"editor":return s.map(h=>h.literal||h.family||(0,E.format)(h));case"accessed":case"issued":return s["date-parts"][0];case"page":return s.split("-").map(h=>parseInt(h));case"edition":case"issue":case"volume":return s=parseInt(s),isNaN(s)?-1/0:s;default:return s||-1/0}}function dr(t,n,i,s=/^!/.test(i)){i=i.replace(/^!/,"");const h=be(t,i),B=be(n,i);return(s?-1:1)*(h>B?1:h{const s=t.slice();let h=0;for(;!h&&s.length;)h=dr(n,i,s.shift());return h}}function Er(t=[],n){return n&&this.save(),this.data.sort(typeof t=="function"?t:yr(...t,"label")),this}function Ar(t,n){if(typeof t!="string")throw new TypeError(`Invalid output format name, expected string, got ${typeof t}`);if(typeof n!="function")throw new TypeError(`Invalid formatter, expected function, got ${typeof n}`)}const wt=new Kt;function gr(t,n){Ar(t,n),wt.set(t,n)}function mr(t){wt.remove(t)}function Dr(t){return wt.has(t)}function Cr(){return wt.list()}function Fe(t,n,...i){if(!wt.has(t))throw new Error(`Output format "${t}" unavailable`);return wt.get(t)(n,...i)}function wr(){return this.data.map(t=>t.id)}function br(t,...n){return Fe(t,ce(this.data),...n)}function Fr(t={}){K(t);const n=Object.assign({},this.defaultOptions,this._options.output,t),{type:i,style:s}=n,[h,B]=s.split("-"),L=h==="citation"?"bibliography":h==="csl"?"data":h,ct=i==="string"?"text":i==="json"?"object":i;let At;switch(L){case"bibliography":{const{lang:Ot,append:Vt,prepend:Kr}=n;At={template:B,lang:Ot,format:ct,append:Vt,prepend:Kr};break}case"data":case"bibtex":case"bibtxt":case"ndjson":case"ris":At={type:ct};break;default:throw new Error(`Invalid style "${L}"`)}const Y=this.format(L,Object.assign(At,t._newOptions)),{format:rt}=n;if(rt==="real"&&ct==="html"&&typeof document<"u"&&typeof document.createElement=="function"){const Ot=document.createElement("div");return Ot.innerHTML=Y,Ot.firstChild}else return rt==="string"&&typeof Y=="object"?JSON.stringify(Y):Y}function vr(t,n,i){typeof n=="function"&&!i&&(i=n,n=void 0);const s=new this().setAsync(t,n);if(typeof i=="function"){s.then(i);return}else return s}var xr=vr;function Tt(t,n={}){return this instanceof Tt?(this._options=n,this.log=[],this.data=[],this.set(t,n),this.options(n),this):new Tt(t,n)}Object.assign(Tt.prototype,m,P,O,F,_),Tt.prototype[Symbol.iterator]=function*(){yield*this.data},Object.assign(Tt,l);var Br=Tt;function Tr(t,n){if(typeof t!="string")throw new TypeError(`Invalid dict name, expected string, got ${typeof t}`);if(typeof n!="object")throw new TypeError(`Invalid dict, expected object, got ${typeof n}`);for(const i in n){const s=n[i];if(!Array.isArray(s)||s.some(h=>typeof h!="string"))throw new TypeError(`Invalid dict entry "${i}", expected array of strings`)}}const bt=new Kt({html:{bibliographyContainer:['
',"
"],entry:['
',"
"],list:['
    ',"
"],listItem:["
  • ","
  • "]},text:{bibliographyContainer:["",` +`],entry:["",` +`],list:[` +`,""],listItem:[" ",` +`]}});function Or(t,n){Tr(t,n),bt.set(t,n)}function jr(t){bt.remove(t)}function Pr(t){return bt.has(t)}function Sr(){return bt.list()}function ve(t){if(!bt.has(t))throw new Error(`Dict "${t}" unavailable`);return bt.get(t)}const Ir={wr_start:'
    ',wr_end:"
    ",en_start:'
    ',en_end:"
    ",ul_start:'
      ',ul_end:"
    ",li_start:"
  • ",li_end:"
  • "},Ur={wr_start:"",wr_end:` +`,en_start:"",en_end:` +`,ul_start:` +`,ul_end:"",li_start:" ",li_end:` +`},St={};function Rr(t,n){St[t]=n}function Lr(t){return St[t]}function $r(t){return Object.prototype.hasOwnProperty.call(St,t)}function Nr(t){delete St[t]}function Mr(){return Object.keys(St)}const ne={input:v,output:M,dict:d,config:C},It={};function xe(t,n={}){const i=It[t]={};for(const s in n){if(s==="config"){i.config={[t]:n.config},ne.config.add(t,n.config);continue}const h=i[s]={},B=n[s];for(const L in B){const ct=B[L];h[L]=!0,ne[s].add(L,ct)}}}function kr(t){const n=It[t];for(const i in n){const s=n[i];for(const h in s)ne[i].remove(h)}delete It[t]}function Hr(t){return t in It}function Vr(){return Object.keys(It)}function Ht(){return[]}const Jr=[[/((?:\[|:|,)\s*)'((?:\\'|[^'])*?[^\\])?'(?=\s*(?:\]|}|,))/g,'$1"$2"'],[/((?:(?:"|]|}|\/[gmiuys]|\.|(?:\d|\.|-)*\d)\s*,|{)\s*)(?:"([^":\n]+?)"|'([^":\n]+?)'|([^":\n]+?))(\s*):/g,'$1"$2$3$4"$5:']];function ue(t){if(typeof t!="string")return JSON.parse(t);try{return JSON.parse(t)}catch{return q.debug("[plugin-common]","Invalid JSON, switching to experimental parser"),Jr.forEach(([i,s])=>{t=t.replace(i,s)}),JSON.parse(t)}}function Be(t){return t.val()||t.text()||t.html()}function Te(t){return t.value||t.textContent}const Gr="@else",Qr={empty:x,json:$,jquery:H,html:N},_r={"@empty/text":{parse:Ht,parseType:{dataType:"String",predicate:t=>t===""}},"@empty/whitespace+text":{parse:Ht,parseType:{dataType:"String",predicate:/^\s+$/}},"@empty":{parse:Ht,parseType:{dataType:"Primitive",predicate:t=>t==null}},"@else/json":{parse:ue,parseType:{dataType:"String",predicate:/^\s*(\{[\S\s]*\}|\[[\S\s]*\])\s*$/}},"@else/url":{parseType:{dataType:"String",predicate:/^https?:\/\/(([\w-]+\.)*[\w-]+)(:\d+)?(\/[^?/]*)*(\?[^#]*)?(#.*)?$/i}},"@else/jquery":{parse:Be,parseType:{dataType:"ComplexObject",predicate(t){return typeof jQuery<"u"&&t instanceof jQuery}}},"@else/html":{parse:Te,parseType:{dataType:"ComplexObject",predicate(t){return typeof HTMLElement<"u"&&t instanceof HTMLElement}}}};function Oe(t,n,i){return t+(nPe(h,n)):s=Object.keys(t).filter(h=>JSON.stringify(t[h])).map(h=>`"${h}": ${Pe(t[h],n)}`),s=s.map(Oe).map(h=>n.listItem.join(h)),s=n.list.join(s.join("")),i?`[${s}]`:`{${s}}`}function Pe(t,n){return typeof t=="object"&&t!==null?t.length===0?"[]":Object.keys(t).length===0?"{}":je(t,n):JSON.stringify(t)}function Se(t,n){let i=t.map(s=>je(s,n));return i=i.map(Oe).map(s=>n.entry.join(s)),i=i.join(""),n.bibliographyContainer.join(`[${i}]`)}function Zr(t){return Se(t,plugins.dict.get("html"))}var Wr={data(t,{type:n,format:i=n||"text",version:s="1.0.2"}={}){return s<"1.0.2"&&(t=Nt(t)),i==="object"?Pt(t):i==="text"?JSON.stringify(t,null,2):(q.warn("[core]","This feature (JSON output with special formatting) is unstable. See https://github.com/larsgw/citation.js/issues/144"),Se(t,ve(i)))},ndjson(t,{version:n="1.0.2"}={}){return n<"1.0.2"&&(t=Nt(t)),t.map(i=>JSON.stringify(i)).join(` +`)}},zr=Object.assign({},Wr,pr);xe(Gr,{input:_r,output:zr});const Xr=pe.rE},"./node_modules/@citation-js/name/lib/index.js":function(ft,U,A){"use strict";Object.defineProperty(U,"__esModule",{value:!0}),Object.defineProperty(U,"parse",{enumerable:!0,get:function(){return m.default}}),Object.defineProperty(U,"format",{enumerable:!0,get:function(){return P.default}});var m=g(A("./node_modules/@citation-js/name/lib/input.js")),P=g(A("./node_modules/@citation-js/name/lib/output.js"));function g(T){return T&&T.__esModule?T:{default:T}}},"./node_modules/@citation-js/name/lib/input.js":function(ft,U){"use strict";Object.defineProperty(U,"__esModule",{value:!0}),U.default=U.parse=U.types=U.scope=void 0;function A(N,I){return g(N)||P(N,I)||m()}function m(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function P(N,I){var nt=[],tt=!0,it=!1,pt=void 0;try{for(var ot=N[Symbol.iterator](),Q;!(tt=(Q=ot.next()).done)&&(nt.push(Q.value),!(I&&nt.length===I));tt=!0);}catch(lt){it=!0,pt=lt}finally{try{!tt&&ot.return!=null&&ot.return()}finally{if(it)throw pt}}return nt}function g(N){if(Array.isArray(N))return N}const T=N=>N.replace(/$|( )|(?!^)(?=[A-Z])/g,"\\.?$1"),S=N=>`(?:${N.join("|")})\\b`,D=(N,I)=>new RegExp(`(?:^| )(${N}$)`,I),c=["mr","mrs","ms","miss","dr","herr","monsieur","hr","frau","a v m","admiraal","admiral","air cdre","air commodore","air marshal","air vice marshal","alderman","alhaji","ambassador","baron","barones","brig","brig gen","brig general","brigadier","brigadier general","brother","canon","capt","captain","cardinal","cdr","chief","cik","cmdr","coach","col","col dr","colonel","commandant","commander","commissioner","commodore","comte","comtessa","congressman","conseiller","consul","conte","contessa","corporal","councillor","count","countess","crown prince","crown princess","dame","datin","dato","datuk","datuk seri","deacon","deaconess","dean","dhr","dipl ing","doctor","dott","dott sa","dr","dr ing","dra","drs","embajador","embajadora","en","encik","eng","eur ing","exma sra","exmo sr","f o","father","first lieutient","first officer","flt lieut","flying officer","fr","frau","fraulein","fru","gen","generaal","general","governor","graaf","gravin","group captain","grp capt","h e dr","h h","h m","h r h","hajah","haji","hajim","her highness","her majesty","herr","high chief","his highness","his holiness","his majesty","hon","hr","hra","ing","ir","jonkheer","judge","justice","khun ying","kolonel","lady","lcda","lic","lieut","lieut cdr","lieut col","lieut gen","lord","m","m l","m r","madame","mademoiselle","maj gen","major","master","mevrouw","miss","mlle","mme","monsieur","monsignor","mr","mrs","ms","mstr","nti","pastor","president","prince","princess","princesse","prinses","prof","prof dr","prof sir","professor","puan","puan sri","rabbi","rear admiral","rev","rev canon","rev dr","rev mother","reverend","rva","senator","sergeant","sheikh","sheikha","sig","sig na","sig ra","sir","sister","sqn ldr","sr","sr d","sra","srta","sultan","tan sri","tan sri dato","tengku","teuku","than puying","the hon dr","the hon justice","the hon miss","the hon mr","the hon mrs","the hon ms","the hon sir","the very rev","toh puan","tun","vice admiral","viscount","viscountess","wg cdr"],v=["I","II","III","IV","V","Senior","Junior","Jr","Sr","PhD","Ph\\.D","APR","RPh","PE","MD","MA","DMD","CME","BVM","CFRE","CLU","CPA","CSC","CSJ","DC","DD","DDS","DO","DVM","EdD","Esq","JD","LLD","OD","OSB","PC","Ret","RGS","RN","RNC","SHCJ","SJ","SNJM","SSMO","USA","USAF","USAFR","USAR","USCG","USMC","USMCR","USN","USNR"],O=["Vere","Von","Van","De","Del","Della","Di","Da","Pietro","Vanden","Du","St.","St","La","Lo","Ter","O","O'","Mac","Fitz"],F=S(c.map(T)),M=S(v.map(T)),_=S(O),l=new RegExp(`^((?:${F} )*)(.*)$`,"i"),d=D(`(?:${M}, )*(?:${M})`,"i"),C=D(`${/(?:[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1C90-\u1CBA\u1CBD-\u1CBF\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2160-\u216F\u2183\u24B6-\u24CF\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\uFF21-\uFF3A]|\uD801[\uDC00-\uDC27\uDCB0-\uDCD3]|\uD803[\uDC80-\uDCB2]|\uD806[\uDCA0-\uDCBF]|\uD81B[\uDE40-\uDE5F]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21]|\uD83C[\uDD30-\uDD49\uDD50-\uDD69\uDD70-\uDD89])/.source}.*`),k=D(`(?:${/(?:[a-z\xAA\xB5\xBA\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02B8\u02C0\u02C1\u02E0-\u02E4\u0345\u0371\u0373\u0377\u037A-\u037D\u0390\u03AC-\u03CE\u03D0\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0560-\u0588\u10D0-\u10FA\u10FD-\u10FF\u13F8-\u13FD\u1C80-\u1C88\u1D00-\u1DBF\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6\u1FC7\u1FD0-\u1FD3\u1FD6\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6\u1FF7\u2071\u207F\u2090-\u209C\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146-\u2149\u214E\u2170-\u217F\u2184\u24D0-\u24E9\u2C30-\u2C5E\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7D\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B-\uA69D\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7F8-\uA7FA\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]|\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB]|\uD803[\uDCC0-\uDCF2]|\uD806[\uDCC0-\uDCDF]|\uD81B[\uDE60-\uDE7F]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD83A[\uDD22-\uDD43])/.source}.*|${_}.*|\\S*)`),x=function(I=""){typeof I!="string"&&(I=I+"");let nt="",tt="",it="";if(/[^.], /.test(I)){const p=I.split(", ");it=p.shift();const w=RegExp(M).exec(p.join(", "));nt=p.splice(w&&w.index!==0?0:-1,1)[0],tt=p.join(", ")}else{const p=I.split(d,2),w=p.shift().split(k,2);nt=w[0],it=w[1],tt=p.pop()}const pt=nt.match(l),ot=A(pt,3),Q=ot[1],lt=ot[2],gt=tt,K=it.split(C,2).reverse(),yt=A(K,2),ut=yt[0],f=yt[1];if(!lt&&ut)return ut.includes(" ")?{literal:ut}:{family:ut};if(ut){const p={"dropping-particle":Q,given:lt,suffix:gt,"non-dropping-particle":f,family:ut};return Object.keys(p).forEach(w=>{p[w]||delete p[w]}),p}else return{literal:I}};U.default=U.parse=x;const $="@name";U.scope=$;const H="@name";U.types=H},"./node_modules/@citation-js/name/lib/output.js":function(ft,U){"use strict";Object.defineProperty(U,"__esModule",{value:!0}),U.default=void 0;const A=["dropping-particle","given"],m=["suffix"],P=["non-dropping-particle","family"];var T=function(D,c=!1){const v=O=>O.map(F=>D[F]||"").filter(Boolean).join(" ");if(D.literal)return D.literal;if(c){const O=v(m)?`, ${v(m)}`:"",F=v(A)?`, ${v(A)}`:"";return v(P)+O+F}else return`${v([...A,...m,...P])}`};U.default=T},"./node_modules/base64-js/index.js":function(ft,U){"use strict";U.byteLength=c,U.toByteArray=O,U.fromByteArray=_;for(var A=[],m=[],P=typeof Uint8Array<"u"?Uint8Array:Array,g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",T=0,S=g.length;T0)throw new Error("Invalid string. Length must be a multiple of 4");var C=l.indexOf("=");C===-1&&(C=d);var k=C===d?0:4-C%4;return[C,k]}function c(l){var d=D(l),C=d[0],k=d[1];return(C+k)*3/4-k}function v(l,d,C){return(d+C)*3/4-C}function O(l){var d,C=D(l),k=C[0],x=C[1],$=new P(v(l,k,x)),H=0,N=x>0?k-4:k,I;for(I=0;I>16&255,$[H++]=d>>8&255,$[H++]=d&255;return x===2&&(d=m[l.charCodeAt(I)]<<2|m[l.charCodeAt(I+1)]>>4,$[H++]=d&255),x===1&&(d=m[l.charCodeAt(I)]<<10|m[l.charCodeAt(I+1)]<<4|m[l.charCodeAt(I+2)]>>2,$[H++]=d>>8&255,$[H++]=d&255),$}function F(l){return A[l>>18&63]+A[l>>12&63]+A[l>>6&63]+A[l&63]}function M(l,d,C){for(var k,x=[],$=d;$N?N:H+$));return k===1?(d=l[C-1],x.push(A[d>>2]+A[d<<4&63]+"==")):k===2&&(d=(l[C-2]<<8)+l[C-1],x.push(A[d>>10]+A[d>>4&63]+A[d<<2&63]+"=")),x.join("")}},"./node_modules/buffer/index.js":function(ft,U,A){"use strict";var m=A("./node_modules/base64-js/index.js"),P=A("./node_modules/ieee754/index.js"),g=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;U.Buffer=c,U.SlowBuffer=$,U.INSPECT_MAX_BYTES=50;var T=2147483647;U.kMaxLength=T,c.TYPED_ARRAY_SUPPORT=S(),!c.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function S(){try{var u=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(u,e),u.foo()===42}catch{return!1}}Object.defineProperty(c.prototype,"parent",{enumerable:!0,get:function(){if(c.isBuffer(this))return this.buffer}}),Object.defineProperty(c.prototype,"offset",{enumerable:!0,get:function(){if(c.isBuffer(this))return this.byteOffset}});function D(u){if(u>T)throw new RangeError('The value "'+u+'" is invalid for option "size"');var e=new Uint8Array(u);return Object.setPrototypeOf(e,c.prototype),e}function c(u,e,r){if(typeof u=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return M(u)}return v(u,e,r)}c.poolSize=8192;function v(u,e,r){if(typeof u=="string")return _(u,e);if(ArrayBuffer.isView(u))return d(u);if(u==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof u);if(at(u,ArrayBuffer)||u&&at(u.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(at(u,SharedArrayBuffer)||u&&at(u.buffer,SharedArrayBuffer)))return C(u,e,r);if(typeof u=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var o=u.valueOf&&u.valueOf();if(o!=null&&o!==u)return c.from(o,e,r);var a=k(u);if(a)return a;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof u[Symbol.toPrimitive]=="function")return c.from(u[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof u)}c.from=function(u,e,r){return v(u,e,r)},Object.setPrototypeOf(c.prototype,Uint8Array.prototype),Object.setPrototypeOf(c,Uint8Array);function O(u){if(typeof u!="number")throw new TypeError('"size" argument must be of type number');if(u<0)throw new RangeError('The value "'+u+'" is invalid for option "size"')}function F(u,e,r){return O(u),u<=0?D(u):e!==void 0?typeof r=="string"?D(u).fill(e,r):D(u).fill(e):D(u)}c.alloc=function(u,e,r){return F(u,e,r)};function M(u){return O(u),D(u<0?0:x(u)|0)}c.allocUnsafe=function(u){return M(u)},c.allocUnsafeSlow=function(u){return M(u)};function _(u,e){if((typeof e!="string"||e==="")&&(e="utf8"),!c.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=H(u,e)|0,o=D(r),a=o.write(u,e);return a!==r&&(o=o.slice(0,a)),o}function l(u){for(var e=u.length<0?0:x(u.length)|0,r=D(e),o=0;o=T)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+T.toString(16)+" bytes");return u|0}function $(u){return+u!=u&&(u=0),c.alloc(+u)}c.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==c.prototype},c.compare=function(e,r){if(at(e,Uint8Array)&&(e=c.from(e,e.offset,e.byteLength)),at(r,Uint8Array)&&(r=c.from(r,r.offset,r.byteLength)),!c.isBuffer(e)||!c.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===r)return 0;for(var o=e.length,a=r.length,y=0,E=Math.min(o,a);ya.length?c.from(E).copy(a,y):Uint8Array.prototype.set.call(a,E,y);else if(c.isBuffer(E))E.copy(a,y);else throw new TypeError('"list" argument must be an Array of Buffers');y+=E.length}return a};function H(u,e){if(c.isBuffer(u))return u.length;if(ArrayBuffer.isView(u)||at(u,ArrayBuffer))return u.byteLength;if(typeof u!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof u);var r=u.length,o=arguments.length>2&&arguments[2]===!0;if(!o&&r===0)return 0;for(var a=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Ft(u).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Lt(u).length;default:if(a)return o?-1:Ft(u).length;e=(""+e).toLowerCase(),a=!0}}c.byteLength=H;function N(u,e,r){var o=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,e>>>=0,r<=e))return"";for(u||(u="utf8");;)switch(u){case"hex":return w(this,e,r);case"utf8":case"utf-8":return K(this,e,r);case"ascii":return f(this,e,r);case"latin1":case"binary":return p(this,e,r);case"base64":return gt(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return G(this,e,r);default:if(o)throw new TypeError("Unknown encoding: "+u);u=(u+"").toLowerCase(),o=!0}}c.prototype._isBuffer=!0;function I(u,e,r){var o=u[e];u[e]=u[r],u[r]=o}c.prototype.swap16=function(){var e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var r=0;rr&&(e+=" ... "),""},g&&(c.prototype[g]=c.prototype.inspect),c.prototype.compare=function(e,r,o,a,y){if(at(e,Uint8Array)&&(e=c.from(e,e.offset,e.byteLength)),!c.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(r===void 0&&(r=0),o===void 0&&(o=e?e.length:0),a===void 0&&(a=0),y===void 0&&(y=this.length),r<0||o>e.length||a<0||y>this.length)throw new RangeError("out of range index");if(a>=y&&r>=o)return 0;if(a>=y)return-1;if(r>=o)return 1;if(r>>>=0,o>>>=0,a>>>=0,y>>>=0,this===e)return 0;for(var E=y-a,R=o-r,V=Math.min(E,R),W=this.slice(a,y),Z=e.slice(r,o),z=0;z2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,jt(r)&&(r=a?0:u.length-1),r<0&&(r=u.length+r),r>=u.length){if(a)return-1;r=u.length-1}else if(r<0)if(a)r=0;else return-1;if(typeof e=="string"&&(e=c.from(e,o)),c.isBuffer(e))return e.length===0?-1:tt(u,e,r,o,a);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?a?Uint8Array.prototype.indexOf.call(u,e,r):Uint8Array.prototype.lastIndexOf.call(u,e,r):tt(u,[e],r,o,a);throw new TypeError("val must be string, number or Buffer")}function tt(u,e,r,o,a){var y=1,E=u.length,R=e.length;if(o!==void 0&&(o=String(o).toLowerCase(),o==="ucs2"||o==="ucs-2"||o==="utf16le"||o==="utf-16le")){if(u.length<2||e.length<2)return-1;y=2,E/=2,R/=2,r/=2}function V(J,ht){return y===1?J[ht]:J.readUInt16BE(ht*y)}var W;if(a){var Z=-1;for(W=r;WE&&(r=E-R),W=r;W>=0;W--){for(var z=!0,vt=0;vta&&(o=a)):o=a;var y=e.length;o>y/2&&(o=y/2);for(var E=0;E>>0,isFinite(o)?(o=o>>>0,a===void 0&&(a="utf8")):(a=o,o=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var y=this.length-r;if((o===void 0||o>y)&&(o=y),e.length>0&&(o<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");a||(a="utf8");for(var E=!1;;)switch(a){case"hex":return it(this,e,r,o);case"utf8":case"utf-8":return pt(this,e,r,o);case"ascii":case"latin1":case"binary":return ot(this,e,r,o);case"base64":return Q(this,e,r,o);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return lt(this,e,r,o);default:if(E)throw new TypeError("Unknown encoding: "+a);a=(""+a).toLowerCase(),E=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function gt(u,e,r){return e===0&&r===u.length?m.fromByteArray(u):m.fromByteArray(u.slice(e,r))}function K(u,e,r){r=Math.min(u.length,r);for(var o=[],a=e;a239?4:y>223?3:y>191?2:1;if(a+R<=r){var V,W,Z,z;switch(R){case 1:y<128&&(E=y);break;case 2:V=u[a+1],(V&192)===128&&(z=(y&31)<<6|V&63,z>127&&(E=z));break;case 3:V=u[a+1],W=u[a+2],(V&192)===128&&(W&192)===128&&(z=(y&15)<<12|(V&63)<<6|W&63,z>2047&&(z<55296||z>57343)&&(E=z));break;case 4:V=u[a+1],W=u[a+2],Z=u[a+3],(V&192)===128&&(W&192)===128&&(Z&192)===128&&(z=(y&15)<<18|(V&63)<<12|(W&63)<<6|Z&63,z>65535&&z<1114112&&(E=z))}}E===null?(E=65533,R=1):E>65535&&(E-=65536,o.push(E>>>10&1023|55296),E=56320|E&1023),o.push(E),a+=R}return ut(o)}var yt=4096;function ut(u){var e=u.length;if(e<=yt)return String.fromCharCode.apply(String,u);for(var r="",o=0;oo)&&(r=o);for(var a="",y=e;yo&&(e=o),r<0?(r+=o,r<0&&(r=0)):r>o&&(r=o),rr)throw new RangeError("Trying to access beyond buffer length")}c.prototype.readUintLE=c.prototype.readUIntLE=function(e,r,o){e=e>>>0,r=r>>>0,o||j(e,r,this.length);for(var a=this[e],y=1,E=0;++E>>0,r=r>>>0,o||j(e,r,this.length);for(var a=this[e+--r],y=1;r>0&&(y*=256);)a+=this[e+--r]*y;return a},c.prototype.readUint8=c.prototype.readUInt8=function(e,r){return e=e>>>0,r||j(e,1,this.length),this[e]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(e,r){return e=e>>>0,r||j(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(e,r){return e=e>>>0,r||j(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(e,r){return e=e>>>0,r||j(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(e,r){return e=e>>>0,r||j(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readIntLE=function(e,r,o){e=e>>>0,r=r>>>0,o||j(e,r,this.length);for(var a=this[e],y=1,E=0;++E=y&&(a-=Math.pow(2,8*r)),a},c.prototype.readIntBE=function(e,r,o){e=e>>>0,r=r>>>0,o||j(e,r,this.length);for(var a=r,y=1,E=this[e+--a];a>0&&(y*=256);)E+=this[e+--a]*y;return y*=128,E>=y&&(E-=Math.pow(2,8*r)),E},c.prototype.readInt8=function(e,r){return e=e>>>0,r||j(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]},c.prototype.readInt16LE=function(e,r){e=e>>>0,r||j(e,2,this.length);var o=this[e]|this[e+1]<<8;return o&32768?o|4294901760:o},c.prototype.readInt16BE=function(e,r){e=e>>>0,r||j(e,2,this.length);var o=this[e+1]|this[e]<<8;return o&32768?o|4294901760:o},c.prototype.readInt32LE=function(e,r){return e=e>>>0,r||j(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,r){return e=e>>>0,r||j(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readFloatLE=function(e,r){return e=e>>>0,r||j(e,4,this.length),P.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,r){return e=e>>>0,r||j(e,4,this.length),P.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,r){return e=e>>>0,r||j(e,8,this.length),P.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,r){return e=e>>>0,r||j(e,8,this.length),P.read(this,e,!1,52,8)};function b(u,e,r,o,a,y){if(!c.isBuffer(u))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>a||eu.length)throw new RangeError("Index out of range")}c.prototype.writeUintLE=c.prototype.writeUIntLE=function(e,r,o,a){if(e=+e,r=r>>>0,o=o>>>0,!a){var y=Math.pow(2,8*o)-1;b(this,e,r,o,y,0)}var E=1,R=0;for(this[r]=e&255;++R>>0,o=o>>>0,!a){var y=Math.pow(2,8*o)-1;b(this,e,r,o,y,0)}var E=o-1,R=1;for(this[r+E]=e&255;--E>=0&&(R*=256);)this[r+E]=e/R&255;return r+o},c.prototype.writeUint8=c.prototype.writeUInt8=function(e,r,o){return e=+e,r=r>>>0,o||b(this,e,r,1,255,0),this[r]=e&255,r+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(e,r,o){return e=+e,r=r>>>0,o||b(this,e,r,2,65535,0),this[r]=e&255,this[r+1]=e>>>8,r+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(e,r,o){return e=+e,r=r>>>0,o||b(this,e,r,2,65535,0),this[r]=e>>>8,this[r+1]=e&255,r+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(e,r,o){return e=+e,r=r>>>0,o||b(this,e,r,4,4294967295,0),this[r+3]=e>>>24,this[r+2]=e>>>16,this[r+1]=e>>>8,this[r]=e&255,r+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(e,r,o){return e=+e,r=r>>>0,o||b(this,e,r,4,4294967295,0),this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=e&255,r+4},c.prototype.writeIntLE=function(e,r,o,a){if(e=+e,r=r>>>0,!a){var y=Math.pow(2,8*o-1);b(this,e,r,o,y-1,-y)}var E=0,R=1,V=0;for(this[r]=e&255;++E>0)-V&255;return r+o},c.prototype.writeIntBE=function(e,r,o,a){if(e=+e,r=r>>>0,!a){var y=Math.pow(2,8*o-1);b(this,e,r,o,y-1,-y)}var E=o-1,R=1,V=0;for(this[r+E]=e&255;--E>=0&&(R*=256);)e<0&&V===0&&this[r+E+1]!==0&&(V=1),this[r+E]=(e/R>>0)-V&255;return r+o},c.prototype.writeInt8=function(e,r,o){return e=+e,r=r>>>0,o||b(this,e,r,1,127,-128),e<0&&(e=255+e+1),this[r]=e&255,r+1},c.prototype.writeInt16LE=function(e,r,o){return e=+e,r=r>>>0,o||b(this,e,r,2,32767,-32768),this[r]=e&255,this[r+1]=e>>>8,r+2},c.prototype.writeInt16BE=function(e,r,o){return e=+e,r=r>>>0,o||b(this,e,r,2,32767,-32768),this[r]=e>>>8,this[r+1]=e&255,r+2},c.prototype.writeInt32LE=function(e,r,o){return e=+e,r=r>>>0,o||b(this,e,r,4,2147483647,-2147483648),this[r]=e&255,this[r+1]=e>>>8,this[r+2]=e>>>16,this[r+3]=e>>>24,r+4},c.prototype.writeInt32BE=function(e,r,o){return e=+e,r=r>>>0,o||b(this,e,r,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=e&255,r+4};function q(u,e,r,o,a,y){if(r+o>u.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function et(u,e,r,o,a){return e=+e,r=r>>>0,a||q(u,e,r,4,34028234663852886e22,-34028234663852886e22),P.write(u,e,r,o,23,4),r+4}c.prototype.writeFloatLE=function(e,r,o){return et(this,e,r,!0,o)},c.prototype.writeFloatBE=function(e,r,o){return et(this,e,r,!1,o)};function X(u,e,r,o,a){return e=+e,r=r>>>0,a||q(u,e,r,8,17976931348623157e292,-17976931348623157e292),P.write(u,e,r,o,52,8),r+8}c.prototype.writeDoubleLE=function(e,r,o){return X(this,e,r,!0,o)},c.prototype.writeDoubleBE=function(e,r,o){return X(this,e,r,!1,o)},c.prototype.copy=function(e,r,o,a){if(!c.isBuffer(e))throw new TypeError("argument should be a Buffer");if(o||(o=0),!a&&a!==0&&(a=this.length),r>=e.length&&(r=e.length),r||(r=0),a>0&&a=this.length)throw new RangeError("Index out of range");if(a<0)throw new RangeError("sourceEnd out of bounds");a>this.length&&(a=this.length),e.length-r>>0,o=o===void 0?this.length:o>>>0,e||(e=0);var E;if(typeof e=="number")for(E=r;E55295&&r<57344){if(!a){if(r>56319){(e-=3)>-1&&y.push(239,191,189);continue}else if(E+1===o){(e-=3)>-1&&y.push(239,191,189);continue}a=r;continue}if(r<56320){(e-=3)>-1&&y.push(239,191,189),a=r;continue}r=(a-55296<<10|r-56320)+65536}else a&&(e-=3)>-1&&y.push(239,191,189);if(a=null,r<128){if((e-=1)<0)break;y.push(r)}else if(r<2048){if((e-=2)<0)break;y.push(r>>6|192,r&63|128)}else if(r<65536){if((e-=3)<0)break;y.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((e-=4)<0)break;y.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return y}function Et(u){for(var e=[],r=0;r>8,a=r%256,y.push(a),y.push(o);return y}function Lt(u){return m.toByteArray(Ut(u))}function mt(u,e,r,o){for(var a=0;a=e.length||a>=u.length);++a)e[a+r]=u[a];return a}function at(u,e){return u instanceof e||u!=null&&u.constructor!=null&&u.constructor.name!=null&&u.constructor.name===e.name}function jt(u){return u!==u}var $t=function(){for(var u="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var o=r*16,a=0;a<16;++a)e[o+a]=u[r]+u[a];return e}()},"./node_modules/fetch-ponyfill/build/fetch-browser.js":function(ft,U,A){var m;(function(P){"use strict";function g(T){var S=T&&T.Promise||P.Promise,D=T&&T.XMLHttpRequest||P.XMLHttpRequest;return function(){var c=Object.create(P,{fetch:{value:void 0,writable:!0}});return function(v,O){O(U)}(this,function(v){"use strict";var O=typeof c<"u"&&c||typeof self<"u"&&self||typeof O<"u"&&O,F={searchParams:"URLSearchParams"in O,iterable:"Symbol"in O&&"iterator"in Symbol,blob:"FileReader"in O&&"Blob"in O&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in O,arrayBuffer:"ArrayBuffer"in O};function M(f){return f&&DataView.prototype.isPrototypeOf(f)}if(F.arrayBuffer)var _=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],l=ArrayBuffer.isView||function(f){return f&&_.indexOf(Object.prototype.toString.call(f))>-1};function d(f){if(typeof f!="string"&&(f=String(f)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(f)||f==="")throw new TypeError("Invalid character in header field name");return f.toLowerCase()}function C(f){return typeof f!="string"&&(f=String(f)),f}function k(f){var p={next:function(){var w=f.shift();return{done:w===void 0,value:w}}};return F.iterable&&(p[Symbol.iterator]=function(){return p}),p}function x(f){this.map={},f instanceof x?f.forEach(function(p,w){this.append(w,p)},this):Array.isArray(f)?f.forEach(function(p){this.append(p[0],p[1])},this):f&&Object.getOwnPropertyNames(f).forEach(function(p){this.append(p,f[p])},this)}x.prototype.append=function(f,p){f=d(f),p=C(p);var w=this.map[f];this.map[f]=w?w+", "+p:p},x.prototype.delete=function(f){delete this.map[d(f)]},x.prototype.get=function(f){return f=d(f),this.has(f)?this.map[f]:null},x.prototype.has=function(f){return this.map.hasOwnProperty(d(f))},x.prototype.set=function(f,p){this.map[d(f)]=C(p)},x.prototype.forEach=function(f,p){for(var w in this.map)this.map.hasOwnProperty(w)&&f.call(p,this.map[w],w,this)},x.prototype.keys=function(){var f=[];return this.forEach(function(p,w){f.push(w)}),k(f)},x.prototype.values=function(){var f=[];return this.forEach(function(p){f.push(p)}),k(f)},x.prototype.entries=function(){var f=[];return this.forEach(function(p,w){f.push([w,p])}),k(f)},F.iterable&&(x.prototype[Symbol.iterator]=x.prototype.entries);function $(f){if(f.bodyUsed)return S.reject(new TypeError("Already read"));f.bodyUsed=!0}function H(f){return new S(function(p,w){f.onload=function(){p(f.result)},f.onerror=function(){w(f.error)}})}function N(f){var p=new FileReader,w=H(p);return p.readAsArrayBuffer(f),w}function I(f){var p=new FileReader,w=H(p);return p.readAsText(f),w}function nt(f){for(var p=new Uint8Array(f),w=new Array(p.length),G=0;G-1?p:f}function Q(f,p){if(!(this instanceof Q))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');p=p||{};var w=p.body;if(f instanceof Q){if(f.bodyUsed)throw new TypeError("Already read");this.url=f.url,this.credentials=f.credentials,p.headers||(this.headers=new x(f.headers)),this.method=f.method,this.mode=f.mode,this.signal=f.signal,!w&&f._bodyInit!=null&&(w=f._bodyInit,f.bodyUsed=!0)}else this.url=String(f);if(this.credentials=p.credentials||this.credentials||"same-origin",(p.headers||!this.headers)&&(this.headers=new x(p.headers)),this.method=ot(p.method||this.method||"GET"),this.mode=p.mode||this.mode||null,this.signal=p.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&w)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(w),(this.method==="GET"||this.method==="HEAD")&&(p.cache==="no-store"||p.cache==="no-cache")){var G=/([?&])_=[^&]*/;if(G.test(this.url))this.url=this.url.replace(G,"$1_="+new Date().getTime());else{var j=/\?/;this.url+=(j.test(this.url)?"&":"?")+"_="+new Date().getTime()}}}Q.prototype.clone=function(){return new Q(this,{body:this._bodyInit})};function lt(f){var p=new FormData;return f.trim().split("&").forEach(function(w){if(w){var G=w.split("="),j=G.shift().replace(/\+/g," "),b=G.join("=").replace(/\+/g," ");p.append(decodeURIComponent(j),decodeURIComponent(b))}}),p}function gt(f){var p=new x,w=f.replace(/\r?\n[\t ]+/g," ");return w.split("\r").map(function(G){return G.indexOf(` +`)===0?G.substr(1,G.length):G}).forEach(function(G){var j=G.split(":"),b=j.shift().trim();if(b){var q=j.join(":").trim();p.append(b,q)}}),p}it.call(Q.prototype);function K(f,p){if(!(this instanceof K))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');p||(p={}),this.type="default",this.status=p.status===void 0?200:p.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in p?p.statusText:"",this.headers=new x(p.headers),this.url=p.url||"",this._initBody(f)}it.call(K.prototype),K.prototype.clone=function(){return new K(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new x(this.headers),url:this.url})},K.error=function(){var f=new K(null,{status:0,statusText:""});return f.type="error",f};var yt=[301,302,303,307,308];K.redirect=function(f,p){if(yt.indexOf(p)===-1)throw new RangeError("Invalid status code");return new K(null,{status:p,headers:{location:f}})},v.DOMException=O.DOMException;try{new v.DOMException}catch{v.DOMException=function(p,w){this.message=p,this.name=w;var G=Error(p);this.stack=G.stack},v.DOMException.prototype=Object.create(Error.prototype),v.DOMException.prototype.constructor=v.DOMException}function ut(f,p){return new S(function(w,G){var j=new Q(f,p);if(j.signal&&j.signal.aborted)return G(new v.DOMException("Aborted","AbortError"));var b=new D;function q(){b.abort()}b.onload=function(){var X={status:b.status,statusText:b.statusText,headers:gt(b.getAllResponseHeaders()||"")};X.url="responseURL"in b?b.responseURL:X.headers.get("X-Request-URL");var st="response"in b?b.response:b.responseText;setTimeout(function(){w(new K(st,X))},0)},b.onerror=function(){setTimeout(function(){G(new TypeError("Network request failed"))},0)},b.ontimeout=function(){setTimeout(function(){G(new TypeError("Network request failed"))},0)},b.onabort=function(){setTimeout(function(){G(new v.DOMException("Aborted","AbortError"))},0)};function et(X){try{return X===""&&O.location.href?O.location.href:X}catch{return X}}b.open(j.method,et(j.url),!0),j.credentials==="include"?b.withCredentials=!0:j.credentials==="omit"&&(b.withCredentials=!1),"responseType"in b&&(F.blob?b.responseType="blob":F.arrayBuffer&&j.headers.get("Content-Type")&&j.headers.get("Content-Type").indexOf("application/octet-stream")!==-1&&(b.responseType="arraybuffer")),p&&typeof p.headers=="object"&&!(p.headers instanceof x)?Object.getOwnPropertyNames(p.headers).forEach(function(X){b.setRequestHeader(X,C(p.headers[X]))}):j.headers.forEach(function(X,st){b.setRequestHeader(st,X)}),j.signal&&(j.signal.addEventListener("abort",q),b.onreadystatechange=function(){b.readyState===4&&j.signal.removeEventListener("abort",q)}),b.send(typeof j._bodyInit>"u"?null:j._bodyInit)})}ut.polyfill=!0,O.fetch||(O.fetch=ut,O.Headers=x,O.Request=Q,O.Response=K),v.Headers=x,v.Request=Q,v.Response=K,v.fetch=ut,Object.defineProperty(v,"__esModule",{value:!0})}),{fetch:c.fetch,Headers:c.Headers,Request:c.Request,Response:c.Response,DOMException:c.DOMException}}()}m=function(){return g}.call(U,A,U,ft),m!==void 0&&(ft.exports=m)})(typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof A.g<"u"?A.g:this)},"./node_modules/ieee754/index.js":function(ft,U){U.read=function(A,m,P,g,T){var S,D,c=T*8-g-1,v=(1<>1,F=-7,M=P?T-1:0,_=P?-1:1,l=A[m+M];for(M+=_,S=l&(1<<-F)-1,l>>=-F,F+=c;F>0;S=S*256+A[m+M],M+=_,F-=8);for(D=S&(1<<-F)-1,S>>=-F,F+=g;F>0;D=D*256+A[m+M],M+=_,F-=8);if(S===0)S=1-O;else{if(S===v)return D?NaN:(l?-1:1)*(1/0);D=D+Math.pow(2,g),S=S-O}return(l?-1:1)*D*Math.pow(2,S-g)},U.write=function(A,m,P,g,T,S){var D,c,v,O=S*8-T-1,F=(1<>1,_=T===23?Math.pow(2,-24)-Math.pow(2,-77):0,l=g?0:S-1,d=g?1:-1,C=m<0||m===0&&1/m<0?1:0;for(m=Math.abs(m),isNaN(m)||m===1/0?(c=isNaN(m)?1:0,D=F):(D=Math.floor(Math.log(m)/Math.LN2),m*(v=Math.pow(2,-D))<1&&(D--,v*=2),D+M>=1?m+=_/v:m+=_*Math.pow(2,1-M),m*v>=2&&(D++,v/=2),D+M>=F?(c=0,D=F):D+M>=1?(c=(m*v-1)*Math.pow(2,T),D=D+M):(c=m*Math.pow(2,M-1)*Math.pow(2,T),D=0));T>=8;A[P+l]=c&255,l+=d,c/=256,T-=8);for(D=D<0;A[P+l]=D&255,l+=d,D/=256,O-=8);A[P+l-d]|=C*128}},"./node_modules/sync-fetch/browser.js":function(ft,U,A){const{Buffer:m}=A("./node_modules/buffer/index.js");function P(..._){const l=new P.Request(..._),d=new XMLHttpRequest;d.withCredentials=l.credentials==="include",d.timeout=l[g].timeout,d.open(l.method,l.url,!1);let C=!1;try{d.responseType="arraybuffer"}catch{d.overrideMimeType("text/plain; charset=x-user-defined"),C=!0}for(const H of l.headers)d.setRequestHeader(...H);d.send(l.body||null);let k=d.getAllResponseHeaders();k=k&&k.split(`\r +`).filter(Boolean).map(H=>H.split(": ",2));let x=d.response;if(C){const H=m.alloc(x.length);for(let N=0;N=200&&l<300}get redirected(){return this[g].redirected}get status(){return this[g].status}get statusText(){return this[g].statusText}get url(){return this[g].url}clone(){return this.redirect(this[g].url,this[g].status)}redirect(l,d){O(this);const C=new c(this[g].body,{headers:this[g].headers,status:d||this[g].status,statusText:S[d]||this[g].statusText});return C[g].url=l||this[g].url,C[g].redirected=this[g].redirected,C}}class v{constructor(l){this[g]={body:m.from(l),bodyUsed:!1}}get bodyUsed(){return this[g].bodyUsed}static mixin(l){for(const d of Object.getOwnPropertyNames(v.prototype)){if(d==="constructor")continue;const C=Object.getOwnPropertyDescriptor(v.prototype,d);Object.defineProperty(l,d,{...C,enumerable:!0})}}arrayBuffer(){const l=F(this);return l.buffer.slice(l.byteOffset,l.byteOffset+l.byteLength)}blob(){const l=this.headers&&this.headers.get("content-type");return new Blob([F(this)],l&&{type:l})}text(){return F(this).toString()}json(){try{return JSON.parse(F(this).toString())}catch(l){throw new TypeError(`invalid json response body at ${this.url} reason: ${l.message}`,"invalid-json")}}buffer(){return F(this).clone()}}function O(_){if(_.bodyUsed)throw new TypeError(`body used already for: ${_.url}`)}function F(_){return O(_),_[g].bodyUsed=!0,_[g].body||m.alloc(0)}v.mixin(D.prototype),v.mixin(c.prototype);class M{constructor(l){if(l instanceof P.Headers)this[g]={...l[g]};else if(this[g]={},Array.isArray(l))for(const[d,C]of l)this.append(d,C);else if(typeof l=="object")for(const d in l)this.set(d,l[d])}append(l,d){l=l.toLowerCase(),this[g][l]||(this[g][l]=[]),this[g][l].push(d)}delete(l){delete this[g][l.toLowerCase()]}set(l,d){this[g][l.toLowerCase()]=[d]}entries(){const l=[];for(const d in this[g])for(const C of this[g][d])l.push([d,C]);return l}get(l){return l=l.toLowerCase(),l in this[g]?this[g][l].join(", "):null}keys(){return Object.keys(this[g])}has(l){return l.toLowerCase()in this[g]}values(){const l=[];for(const d in this[g])for(const C of this[g][d])l.push(C);return l}*[Symbol.iterator](){for(const l in this[g])for(const d of this[g][l])yield[l,d]}}P.Headers=M,P.Request=D,P.Response=c,ft.exports=P}}]); diff --git a/data/gitea/public/assets/js/citation-js-csl.fb93f9bb.js b/data/gitea/public/assets/js/citation-js-csl.fb93f9bb.js new file mode 100644 index 0000000..ef9424b --- /dev/null +++ b/data/gitea/public/assets/js/citation-js-csl.fb93f9bb.js @@ -0,0 +1,50 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([["citation-js-csl"],{"./node_modules/@citation-js/plugin-csl/lib-mjs/index.js":function(Te,s,e){var t=e("./node_modules/@citation-js/core/lib-mjs/index.js"),i=JSON.parse(`{"en-US":"\\nAndrew DunningSebastian KarcherRintze M. ZelleDenis MeierBrenton M. WiernikThis work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License2015-10-10T23:31:02+00:00advance online publicationalbumaudio recordingfilmhenceforthloc. cit. no placen.p.no publisher n.p.onop. cit. original work publishedpersonal communicationpodcastpodcast episodepreprintradio broadcastradio seriesradio series episodespecial issuespecial sectiontelevision broadcasttelevision seriestelevision series episodevideoworking paperaccessedandand othersanonymousanon.atavailable atbycircac.citededitioneditionsed.et al.forthcomingfromibid.inin pressinternetinterviewletterno daten.d.onlinepresented at thereferencereferencesref.refs.retrievedscaleversion\\npreprintjournal articlemagazine articlenewspaper articlebillbookbroadcastbook chapterclassiccollectiondatasetdocumententrydictionary entryencyclopedia entryeventgraphichearinginterviewlegal caselegislationmanuscriptmapvideo recordingmusical scorepamphletconference paperpatentperformanceperiodicalpersonal communicationpostblog postregulationreportreviewbook reviewsoftwareaudio recordingpresentationstandardthesistreatywebpage\\njournal art.mag. art.newspaper art.bk.bk. chap.doc.graph.interv.MSvideo rec.rep.rev.bk. rev.audio rec.\\nADBCBCECE\\n\u201C\u201D\u2018\u2019\u2013:,;\\nthstndrdththth\\nfirstsecondthirdfourthfifthsixthseventheighthninthtenth\\n\\t\\t\\t actacts\\t\\t\\t\\t\\t\\t \\t\\t\\t appendixappendices\\t\\t\\t\\t\\t\\t \\t\\t\\t articlearticles\\t\\t\\t\\t\\t\\t \\t\\t\\t canoncanons\\t\\t\\t\\t\\t\\t \\t\\t\\t locationlocations\\t\\t\\t\\t\\t\\t \\t\\t\\t equationequations\\t\\t\\t\\t\\t\\t \\t\\t\\t rulerules\\t\\t\\t\\t\\t\\t \\t\\t\\t scenescenes\\t\\t\\t\\t\\t\\t \\t\\t\\t tabletables\\t\\t\\t\\t\\t\\t \\t\\t\\t\\t\\t\\t \\t\\t\\t titletitles\\t\\t\\t\\t\\t\\t bookbookschapterchapterscolumncolumnsfigurefiguresfoliofoliosnumbernumberslinelinesnotenotesopusoperapagepagespagepagesparagraphparagraphspartpartssectionsectionssub verbosub verbisverseversesvolumevolumes\\n\\t\\t\\t app.apps.\\t\\t\\t\\t\\t\\t \\t\\t\\t art.arts.\\t\\t\\t loc.locs.\\t\\t\\t eq.eqs.\\t\\t\\t r.rr.\\t\\t\\t\\t\\t\\t \\t\\t\\t sc.scs.\\t\\t\\t\\t\\t\\t \\t\\t\\t tbl.tbls.\\t\\t\\t\\t\\t\\t \\t\\t\\t\\t\\t\\t \\t\\t\\t tit.tits.bk.bks.chap.chaps.col.cols.fig.figs.fol.fols.no.nos.l.ll.n.nn.op.opp.p.pp.p.pp.para.paras.pt.pts.sec.secs.s.v.s.vv.v.vv.vol.vols.\\n\xB6\xB6\xB6\xA7\xA7\xA7\\nchairchairscompilercompilerscontributorcontributorscuratorcuratorsexecutive producerexecutive producersguestguestshosthostsnarratornarratorsorganizerorganizersperformerperformersproducerproducerswriterwritersseries creatorseries creatorsdirectordirectorseditoreditorseditoreditorsillustratorillustratorstranslatortranslatorseditor & translatoreditors & translators\\ncomp.comps.contrib.contribs.cur.curs.exec. prod.exec. prods.narr.narrs.org.orgs.perf.perfs.prod.prods.writ.writs.cre.cres.dir.dirs.ed.eds.ed.eds.ill.ills.tran.trans.ed. & tran.eds. & trans.\\nchaired bycompiled bywithcurated byexecutive produced bywith guesthosted bynarrated byorganized byperformed byproduced bywritten bycreated bybydirected byedited byedited byillustrated byinterview bytobytranslated byedited & translated by\\ncomp. byw.cur. byexec. prod. byw. guesthosted bynarr. byorg. byperf. byprod. bywrit. bycre. bydir. byed. byed. byillus. bytrans. byed. & trans. by\\nJanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember\\nJan.Feb.Mar.Apr.MayJun.Jul.Aug.Sep.Oct.Nov.Dec.\\nSpringSummerAutumnWinter\\n\\n","nl-NL":"\\nRintze M. Zellehttp://twitter.com/rintzezelleThis work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License2017-04-01T12:00:00+00:00advance online publicationalbumaudio recordingfilmhenceforthloc. cit. no placen.p.no publisher n.p.onop. cit. original work publishedpersoonlijke communicatiepodcastpodcast episodepreprintradio broadcastradio seriesradio series episodespecial issuespecial sectiontelevision broadcasttelevision seriestelevision series episodevideoworking papergeraadpleegdenen anderenanoniemanon.bijbeschikbaar opdoorcircac.geciteerddrukdrukkendr.e.a.in voorbereidingvanibid.inin drukinternetinterviewbriefzonder datumz.d.onlinegepresenteerd bijreferentiereferentiesref.refs.geraadpleegdschaalversie\\npreprintjournal articlemagazine articlenewspaper articlebillbookbroadcastbook chapterclassiccollectiondatasetdocumententrydictionary entryencyclopedia entryeventgraphichearinginterviewlegal caselegislationmanuscriptmapvideo recordingmusical scorepamphletconference paperpatentperformanceperiodicalpersoonlijke communicatiepostblog postregulationreportreviewbook reviewsoftwareaudio recordingpresentationstandardthesistreatywebpage\\njournal art.mag. art.newspaper art.bk.bk. chap.doc.graph.interv.MSvideo rec.rep.rev.bk. rev.audio rec.\\nADBCBCECE\\n\u2018\u2019\u201C\u201D\u2013:,;\\nstedededededededededededededededededede\\neerstetweedederdevierdevijfdezesdezevendeachtstenegendetiende\\n\\t\\t\\t actacts\\t\\t\\t\\t\\t\\t \\t\\t\\t appendixappendices\\t\\t\\t\\t\\t\\t \\t\\t\\t articlearticles\\t\\t\\t\\t\\t\\t \\t\\t\\t canoncanons\\t\\t\\t\\t\\t\\t \\t\\t\\t locationlocations\\t\\t\\t\\t\\t\\t \\t\\t\\t equationequations\\t\\t\\t\\t\\t\\t \\t\\t\\t rulerules\\t\\t\\t\\t\\t\\t \\t\\t\\t scenescenes\\t\\t\\t\\t\\t\\t \\t\\t\\t tabletables\\t\\t\\t\\t\\t\\t \\t\\t\\t\\t\\t\\t \\t\\t\\t titletitles\\t\\t\\t\\t\\t\\t boekboekenhoofdstukhoofdstukkencolumncolumnsfiguurfigurenfoliofolio'snummernummersregelregelsaantekeningaantekeningenopusoperapaginapagina'spaginapagina'sparagraafparagrafendeeldelensectiesectiessub verbosub verbisversversenvolumevolumes\\n\\t\\t\\t app.apps.\\t\\t\\t\\t\\t\\t \\t\\t\\t art.arts.\\t\\t\\t loc.locs.\\t\\t\\t eq.eqs.\\t\\t\\t r.rr.\\t\\t\\t\\t\\t\\t \\t\\t\\t sc.scs.\\t\\t\\t\\t\\t\\t \\t\\t\\t tbl.tbls.\\t\\t\\t\\t\\t\\t \\t\\t\\t\\t\\t\\t \\t\\t\\t tit.tits.bk.hfdst.col.fig.f.nr.l.n.op.p.pp.p.pp.par.deelsec.s.v.s.vv.v.vv.vol.vols.\\n\xB6\xB6\xB6\xA7\xA7\xA7\\nchairchairscompilercompilerscontributorcontributorscuratorcuratorsexecutive producerexecutive producersguestguestshosthostsnarratornarratorsorganizerorganizersperformerperformersproducerproducerswriterwritersseries creatorseries creatorsregisseurregisseursredacteurredacteurenredacteurredacteurenillustratorillustratorsvertalervertalersredacteur & vertalerredacteuren & vertalers\\ncomp.comps.contrib.contribs.cur.curs.exec. prod.exec. prods.narr.narrs.org.orgs.perf.perfs.prod.prods.writ.writs.cre.cres.reg.reg.red.red.red.red.ill.ill.vert.vert.red. & vert.red. & vert.\\nchaired bycompiled bywithcurated byexecutive produced bywith guesthosted bynarrated byorganized byperformed byproduced bywritten bycreated bydoorgeregisseerd dooronder redactie vanonder redactie vange\xEFllustreerd doorge\xEFnterviewd doorontvangen doordoorvertaald doorbewerkt & vertaald door\\ncomp. byw.cur. byexec. prod. byw. guesthosted bynarr. byorg. byperf. byprod. bywrit. bycre. bygeregisseerd dooronder redactie vanbewerkt doorge\xEFllustreerd doorvertaald doorbewerkt & vertaald door\\njanuarifebruarimaartaprilmeijunijuliaugustusseptemberoktobernovemberdecember\\njan.feb.mrt.apr.meijun.jul.aug.sep.okt.nov.dec.\\nlentezomerherstwinter\\n\\n","fr-FR":"\\nGr\xE9goire CollyCollectif Zotero francophoneThis work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License2012-07-04T23:31:02+00:00publication en ligne anticip\xE9ealbumenregistrement audiofilmd\xE9sormaisloc. cit. sans lieus. l.sans nom s. n.surop. cit. \xE9dition originalecommunication personnellepodcast\xE9pisode de podcastpr\xE9publication\xE9mission de radios\xE9rie radiophonique\xE9pisode de s\xE9rie radiophoniquenum\xE9ro sp\xE9cialsection sp\xE9ciale\xE9mission de t\xE9l\xE9visions\xE9rie t\xE9l\xE9vis\xE9e\xE9pisode de s\xE9rie t\xE9l\xE9vis\xE9evid\xE9odocument de travailconsult\xE9 leetet autresanonymeanon.surdisponible surparversv.cit\xE9\xE9dition\xE9ditions\xE9d.et al.\xE0 para\xEEtre\xE0 l'adresseibid.insous presseInternetentretienlettresans dates. d.en lignepr\xE9sent\xE9 \xE0r\xE9f\xE9rencer\xE9f\xE9rencesr\xE9f.r\xE9f.consult\xE9\xE9chelleversion\\narticlearticle de revuearticle de magazinearticle de presseprojet de loilivre\xE9missionchapitre de livreclassiquecollectionjeu de donn\xE9esdocumententr\xE9eentr\xE9e de dictionnaireentr\xE9e d'encyclop\xE9die\xE9v\xE9nementimageaudienceinterviewaffaireacte juridiquemanuscritcarteenregistrement vid\xE9opartitionpamphletarticle de colloquebrevetinterpr\xE9tationp\xE9riodiquecommunication personnellebilletbillet de blogr\xE8glementrapportrecensionrecension de livrelogicielchansonpr\xE9sentationnormeth\xE8setrait\xE9page web\\nart. de revueart. de mag.art. de presseliv.chap. de liv.doc.graph.interv.msenr. vid\xE9orap.recens.recens. de liv.enr. audio\\napr. J.-C.av. J.-C.av. n. \xE8.n. \xE8.\\n\xAB  \xBB\u201C\u201D  :, ;\\n\u1D49\u02B3\u1D49\u1D49\u02B3\\npremierdeuxi\xE8metroisi\xE8mequatri\xE8mecinqui\xE8mesixi\xE8mesepti\xE8mehuiti\xE8meneuvi\xE8medixi\xE8me\\nacteactesappendiceappendicesarticlearticlescanoncanonsemplacementemplacements\xE9quation\xE9quationsr\xE8gler\xE8glessc\xE8nesc\xE8nestableautableaux titretitreslivrelivreschapitrechapitrescolonnecolonnesfigurefiguresfoliofoliosnum\xE9ronum\xE9roslignelignesnotenotesopusopuspagepagespagepagesparagrapheparagraphespartiepartiessectionsectionssub verbosub verbisversetversetsvolumevolumes\\nappend.append.art.art.emplactemplacteq.eq.r\xE8gler\xE8glessc.sc.tab.tab. tit.tit.liv.chap.col.fig.f\u1D52f\u1D52\u02E2n\u1D52n\u1D52\u02E2l.n.op.p.p.p.p.paragr.part.sect.s. v.s. vv.v.v.vol.vol.\\n\xA7\xA7\xA7\xA7\\npr\xE9sidentpr\xE9sidentscompilateurcompilateurscontributeurcontributeurscommissairecommissairesproducteur ex\xE9cutifproducteurs ex\xE9cutifsinvit\xE9invit\xE9sh\xF4teh\xF4tesnarrateurnarrateursorganisateurorganisateursinterpr\xE8teinterpr\xE8tesproducteurproducteurssc\xE9naristesc\xE9naristescr\xE9ateur de s\xE9riecr\xE9ateurs de s\xE9rier\xE9alisateurr\xE9alisateurs\xE9diteur\xE9diteursdirecteurdirecteursillustrateurillustrateurstraducteurtraducteurs\xE9diteur et traducteur\xE9diteurs et traducteurs\\ncompil.compil.contrib.contrib.commiss.commiss.prod. ex\xE9.prod. ex\xE9.narr.narr.org.org.interpr.interpr.prod.prod.sc\xE9nar.sc\xE9nar.cr\xE9at.cr\xE9at.r\xE9al.r\xE9al.\xE9d.\xE9d.dir.dir.ill.ill.trad.trad.\xE9d. et trad.\xE9d. et trad.\\npr\xE9sid\xE9 parcompil\xE9 paravecorganis\xE9 parproduction ex\xE9cutive paravec pour invit\xE9anim\xE9 parlu parorganis\xE9 parinterpr\xE9t\xE9 parproduit parsc\xE9nario decr\xE9\xE9 parparr\xE9alis\xE9 par\xE9dit\xE9 parsous la direction deillustr\xE9 parentretien r\xE9alis\xE9 par\xE0partraduit par\xE9dit\xE9 et traduit par\\ncompil. paracorg. parprod. ex\xE9. parac pr inv.anim. parlu parorg. parinterpr. parprod. parsc\xE9nar. decr\xE9\xE9 parr\xE9al. par\xE9d. parss la dir. deill. partrad. par\xE9d. et trad. par\\njanvierf\xE9vriermarsavrilmaijuinjuilletao\xFBtseptembreoctobrenovembred\xE9cembre\\njanv.f\xE9vr.marsavr.maijuinjuill.ao\xFBtsept.oct.nov.d\xE9c.\\nprintemps\xE9t\xE9automnehiver\\n\\n","de-DE":"\\nTill A. HeilmannUlrichRintze M. ZelleSebastian KarcherjakovThis work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License2012-07-04T23:31:02+00:00advance online publicationalbumaudio recordingfilmhenceforthloc. cit. no placen.p.no publisher n.p.onop. cit. original work publishedpers\xF6nliche Kommunikationpodcastpodcast episodepreprintradio broadcastradio seriesradio series episodespecial issuespecial sectiontelevision broadcasttelevision seriestelevision series episodevideoworking paperzugegriffenundund andereohne Autoro. A.aufverf\xFCgbar untervoncircaca.zitiertAuflageAuflagenAufl.u. a.i. E.vonebd.inim DruckInternetInterviewBriefohne Datumo. J.onlinegehalten auf derReferenzReferenzenRef.Ref.abgerufenMa\xDFstabVersion\\npreprintjournal articlemagazine articlenewspaper articlebillbookbroadcastbook chapterclassiccollectiondatasetdocumententrydictionary entryencyclopedia entryeventgraphichearinginterviewlegal caselegislationmanuscriptmapvideo recordingmusical scorepamphletconference paperpatentperformanceperiodicalpers\xF6nliche Kommunikationpostblog postregulationreportreviewbook reviewsoftwareaudio recordingpresentationstandardthesistreatywebpage\\njournal art.mag. art.newspaper art.bk.bk. chap.doc.graph.interv.MSvideo rec.rep.rev.bk. rev.audio rec.\\n n. Chr. v. Chr.BCECE\\n\u201E\u201C\u201A\u2018\u2013:,;\\n.\\nersterzweiterdrittervierterf\xFCnftersechstersiebterachterneunterzehnter\\n\\t\\t\\t actacts\\t\\t\\t\\t\\t\\t \\t\\t\\t appendixappendices\\t\\t\\t\\t\\t\\t \\t\\t\\t articlearticles\\t\\t\\t\\t\\t\\t \\t\\t\\t canoncanons\\t\\t\\t\\t\\t\\t \\t\\t\\t locationlocations\\t\\t\\t\\t\\t\\t \\t\\t\\t equationequations\\t\\t\\t\\t\\t\\t \\t\\t\\t rulerules\\t\\t\\t\\t\\t\\t \\t\\t\\t scenescenes\\t\\t\\t\\t\\t\\t \\t\\t\\t tabletables\\t\\t\\t\\t\\t\\t \\t\\t\\t\\t\\t\\t \\t\\t\\t titletitles\\t\\t\\t\\t\\t\\t BuchB\xFCcherKapitelKapitelSpalteSpaltenAbbildungAbbildungenBlattBl\xE4tterNummerNummernZeileZeilenNoteNotenOpusOperaSeiteSeitenSeiteSeitenAbsatzAbs\xE4tzeTeilTeileAbschnittAbschnittesub verbosub verbisVersVerseBandB\xE4nde\\n\\t\\t\\t app.apps.\\t\\t\\t\\t\\t\\t \\t\\t\\t art.arts.\\t\\t\\t loc.locs.\\t\\t\\t eq.eqs.\\t\\t\\t r.rr.\\t\\t\\t\\t\\t\\t \\t\\t\\t sc.scs.\\t\\t\\t\\t\\t\\t \\t\\t\\t tbl.tbls.\\t\\t\\t\\t\\t\\t \\t\\t\\t\\t\\t\\t \\t\\t\\t tit.tits.B.Kap.Sp.Abb.Fol.Nr.Z.N.op.S.S.S.S.Abs.TeilAbschn.s. v.s. vv.V.V.Bd.Bde.\\n\xB6\xB6\xB6\xA7\xA7\xA7\\nchairchairscompilercompilerscontributorcontributorscuratorcuratorsexecutive producerexecutive producersguestguestshosthostsnarratornarratorsorganizerorganizersperformerperformersproducerproducerswriterwritersseries creatorseries creatorsRegisseurRegisseureHerausgeberHerausgeberReihenherausgeberReihenherausgeberHerausgeberHerausgeberIllustratorIllustratoren\xDCbersetzer\xDCbersetzerHerausgeber & \xDCbersetzerHerausgeber & \xDCbersetzer\\ncomp.comps.contrib.contribs.cur.curs.exec. prod.exec. prods.narr.narrs.org.orgs.perf.perfs.prod.prods.writ.writs.cre.cres.Reg.Reg.Hrsg.Hrsg.Hrsg.Hrsg.Hrsg.Hrsg.Ill.Ill.\xDCbers.\xDCbers.Hrsg. & \xDCbers.Hrsg. & \xDCbers.\\nchaired bycompiled bywithcurated byexecutive produced bywith guesthosted bynarrated byorganized byperformed byproduced bywritten bycreated byvonRegie vonherausgegeben vonherausgegeben vonherausgegeben vonillustriert voninterviewt vonanvon\xFCbersetzt vonherausgegeben und \xFCbersetzt von\\ncomp. byw.cur. byexec. prod. byw. guesthosted bynarr. byorg. byperf. byprod. bywrit. bycre. byReg.hg. vonhg. vonhg. vonillus. von\xFCbers. vonhg. & \xFCbers. von\\nJanuarFebruarM\xE4rzAprilMaiJuniJuliAugustSeptemberOktoberNovemberDezember\\nJan.Feb.M\xE4rzApr.MaiJuniJuliAug.Sep.Okt.Nov.Dez.\\nFr\xFChjahrSommerHerbstWinter\\n\\n","es-ES":"\\njavimatThis work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License2012-07-04T23:31:02+00:00advance online publicationalbumaudio recordingfilmhenceforthloc. cit. no placen.p.no publisher n.p.onop. cit. original work publishedcomunicaci\xF3n personalpodcastpodcast episodepreprintradio broadcastradio seriesradio series episodespecial issuespecial sectiontelevision broadcasttelevision seriestelevision series episodevideoworking paperaccedidoyy otrosan\xF3nimoan\xF3n.endisponible endecircac.citadoedici\xF3nedicionesed.et al.previstoa partir deibid.enen imprentainternetentrevistacartasin fechas. f.en l\xEDneapresentado enreferenciareferenciasref.refs.recuperadoescalaversi\xF3n\\npreprintjournal articlemagazine articlenewspaper articlebillbookbroadcastbook chapterclassiccollectiondatasetdocumententrydictionary entryencyclopedia entryeventgraphichearinginterviewlegal caselegislationmanuscriptmapvideo recordingmusical scorepamphletconference paperpatentperformanceperiodicalcomunicaci\xF3n personalpostblog postregulationreportreviewbook reviewsoftwareaudio recordingpresentationstandardthesistreatywebpage\\njournal art.mag. art.newspaper art.bk.bk. chap.doc.graph.interv.MSvideo rec.rep.rev.bk. rev.audio rec.\\nd. C.a. C.BCECE\\n\xAB\xBB\u201C\u201D-:,;\\n.\xAA\\nprimerasegundaterceracuartaquintasextas\xE9ptimaoctavanovenad\xE9cima\\n\\t\\t\\t actacts\\t\\t\\t\\t\\t\\t \\t\\t\\t appendixappendices\\t\\t\\t\\t\\t\\t \\t\\t\\t articlearticles\\t\\t\\t\\t\\t\\t \\t\\t\\t canoncanons\\t\\t\\t\\t\\t\\t \\t\\t\\t locationlocations\\t\\t\\t\\t\\t\\t \\t\\t\\t equationequations\\t\\t\\t\\t\\t\\t \\t\\t\\t rulerules\\t\\t\\t\\t\\t\\t \\t\\t\\t scenescenes\\t\\t\\t\\t\\t\\t \\t\\t\\t tabletables\\t\\t\\t\\t\\t\\t \\t\\t\\t\\t\\t\\t \\t\\t\\t titletitles\\t\\t\\t\\t\\t\\t librolibroscap\xEDtulocap\xEDtuloscolumnacolumnasfigurafigurasfoliofoliosn\xFAmeron\xFAmerosl\xEDneal\xEDneasnotanotasopusoperap\xE1ginap\xE1ginasp\xE1ginap\xE1ginasp\xE1rrafop\xE1rrafospartepartessecci\xF3nseccionessub vocesub vocibusversoversosvolumenvol\xFAmenes\\n\\t\\t\\t app.apps.\\t\\t\\t\\t\\t\\t \\t\\t\\t art.arts.\\t\\t\\t loc.locs.\\t\\t\\t eq.eqs.\\t\\t\\t r.rr.\\t\\t\\t\\t\\t\\t \\t\\t\\t sc.scs.\\t\\t\\t\\t\\t\\t \\t\\t\\t tbl.tbls.\\t\\t\\t\\t\\t\\t \\t\\t\\t\\t\\t\\t \\t\\t\\t tit.tits.lib.cap.col.fig.f.n.\xBAl.n.op.p.pp.p.pp.p\xE1rr.pt.sec.s. v.s. vv.v.vv.vol.vols.\\n\xA7\xA7\xA7\xA7\\nchairchairscompilercompilerscontributorcontributorscuratorcuratorsexecutive producerexecutive producersguestguestshosthostsnarratornarratorsorganizerorganizersperformerperformersproducerproducerswriterwritersseries creatorseries creatorsdirectordirectoreseditoreditoreseditoreditoresilustradorilustradorestraductortraductoreseditor y traductoreditores y traductores\\ncomp.comps.contrib.contribs.cur.curs.exec. prod.exec. prods.narr.narrs.org.orgs.perf.perfs.prod.prods.writ.writs.cre.cres.dir.dirs.ed.eds.ed.eds.ilust.ilusts.trad.trads.ed. y trad.eds. y trads.\\nchaired bycompiled bywithcurated byexecutive produced bywith guesthosted bynarrated byorganized byperformed byproduced bywritten bycreated bydedirigido poreditado poreditado porilustrado porentrevistado poraportraducido poreditado y traducido por\\ncomp. byw.cur. byexec. prod. byw. guesthosted bynarr. byorg. byperf. byprod. bywrit. bycre. bydir.ed.ed.ilust.trad.ed. y trad.\\nenerofebreromarzoabrilmayojuniojulioagostoseptiembreoctubrenoviembrediciembre\\nene.feb.mar.abr.mayjun.jul.ago.sep.oct.nov.dic.\\nprimaveraveranooto\xF1oinvierno\\n\\n"}`);const r=new t.util.Register(i),a=_=>r.has(_)?r.get(_):r.get("en-US");var n=null,o=JSON.parse(`{"apa":"\\n\\n","vancouver":"\\n\\n","harvard1":"\\n\\n"}`);const l=new t.util.Register(o),m=_=>l.has(_)?l.get(_):l.get("apa");var p=null,f=e("./node_modules/citeproc/citeproc_commonjs.js"),h=e.n(f);const u=Symbol.for("proxied"),d=function(_){const w=function(D,E){if(D.sys.wrapBibliographyEntry){const[C,U]=D.sys.wrapBibliographyEntry(this.system_id);E=[C,E,U].join("")}return _.call(this,D,E)};return w[u]=!0,w};for(const _ in h().Output.Formats){const w=h().Output.Formats[_]["@bibliography/entry"];!w||w[u]||(h().Output.Formats[_]["@bibliography/entry"]=d(w))}function v(_){if(r.has(_))return r.get(_);const w=_.replace("-","_");return r.has(w)?r.get(w):{}}const c={},S=function(_,w,D,E,C){const U=`${_}|${w}`;let q;return c[U]instanceof h().Engine?(q=c[U],q.sys.retrieveItem=E,q.sys.wrapBibliographyEntry=void 0,q.updateItems([])):q=c[U]=new(h()).Engine({retrieveLocale:C,retrieveItem:E},D,w,!0),q};var y=function(_,w,D,E){if(!h().Output.Formats[E]||!h().Output.Formats[E]["@bibliography/entry"])throw new TypeError(`Cannot find format '${E}'`);const C=_.reduce((j,M)=>(j[M.id]=M,j),{}),U=l.get(l.has(w)?w:"apa");D=r.has(D)?D:void 0;const P=S(w,D,U,function(j){if(Object.prototype.hasOwnProperty.call(C,j))return C[j];throw new Error(`Cannot find entry with id '${j}'`)},v);return P.setOutputFormat(E),P.opt.development_extensions.wrap_url_and_doi=!1,P};const x=(_,w,D)=>_.replace(/^\s*<[a-z]+/i,`$& data-${w}="${D}"`),b=(_,w)=>x(_,"csl-entry-id",w),A=(_,w)=>typeof w=="function"?w(_):w||"";function O(_,w={}){const{template:D="apa",lang:E,format:C="text",nosort:U=!1}=w,q=w.entry?[].concat(w.entry):_.map(({id:B})=>B);_=t.util.downgradeCsl(_);const P=y(_,D,E,C),j=P.updateItems(q,U);if(w.append||w.prepend){const B=_.reduce((F,G)=>(F[G.id]=G,F),{});P.sys.wrapBibliographyEntry=function(F){const G=B[F];return[A(G,w.prepend),A(G,w.append)]}}w.hyperlinks&&(P.opt.development_extensions.wrap_url_and_doi=!0);const M=P.makeBibliography(),[{bibstart:R,bibend:L},z]=M,X=z.map((B,F)=>b(B,j[F]));return w.asEntryArray?X.map((B,F)=>[j[F],B]):R+X.join("")+L}function I(_){return typeof _=="object"?_:{id:_}}function T(_){return _.citationItems?_:{citationItems:[].concat(_).map(I),properties:{noteIndex:0}}}function k(_){return _?_.map(T):[]}function N(_,w={}){const{template:D="apa",lang:E,format:C="text"}=w,U=_.map(({id:z})=>z),q=w.entry?w.entry:U;_=t.util.downgradeCsl(_);const P=y(_,D,E,C),j=k(w.citationsPre),M=T(q),R=k(w.citationsPost);return P.rebuildProcessorState([...j,M,...R],C,[])[j.length][2]}t.plugins.add("@csl",{output:{bibliography:O,citation:N},config:{engine:y,locales:r,templates:l}})},"./node_modules/citeproc/citeproc_commonjs.js":function(Te){var s={PROCESSOR_VERSION:"1.4.61",error:function(e){throw typeof Error>"u"?new Error("citeproc-js error: "+e):"citeproc-js error: "+e},debug:function(e){typeof console>"u"?dump("CSL: "+e+` +`):console.log("citeproc-js warning: "+e)},toLocaleUpperCase(e){var t=this.tmp.lang_array;try{e=e.toLocaleUpperCase(t)}catch{e=e.toUpperCase()}return e},toLocaleLowerCase(e){var t=this.tmp.lang_array;try{e=e.toLocaleLowerCase(t)}catch{e=e.toLowerCase()}return e},LOCATOR_LABELS_REGEXP:new RegExp("^((vrs|sv|subpara|op|subch|add|amend|annot|app|art|bibliog|bk|ch|cl|col|cmt|dec|dept|div|ex|fig|fld|fol|n|hypo|illus|intro|l|no|p|pp|para|pt|pmbl|princ|pub|r|rn|sched|sec|ser|subdiv|subsec|supp|tbl|tit|vol)\\.)\\s+(.*)"),STATUTE_SUBDIV_PLAIN_REGEX:/(?:(?:^| )(?:vrs|sv|subpara|op|subch|add|amend|annot|app|art|bibliog|bk|ch|cl|col|cmt|dec|dept|div|ex|fig|fld|fol|n|hypo|illus|intro|l|no|p|pp|para|pt|pmbl|princ|pub|r|rn|sched|sec|ser|subdiv|subsec|supp|tbl|tit|vol)\. *)/,STATUTE_SUBDIV_PLAIN_REGEX_FRONT:/(?:^\s*[.,;]*\s*(?:vrs|sv|subpara|op|subch|add|amend|annot|app|art|bibliog|bk|ch|cl|col|cmt|dec|dept|div|ex|fig|fld|fol|n|hypo|illus|intro|l|no|p|pp|para|pt|pmbl|princ|pub|r|rn|sched|sec|ser|subdiv|subsec|supp|tbl|tit|vol)\. *)/,STATUTE_SUBDIV_STRINGS:{"vrs.":"verse","sv.":"sub-verbo","subpara.":"subparagraph","op.":"opus","subch.":"subchapter","add.":"addendum","amend.":"amendment","annot.":"annotation","app.":"appendix","art.":"article","bibliog.":"bibliography","bk.":"book","ch.":"chapter","cl.":"clause","col.":"column","cmt.":"comment","dec.":"decision","dept.":"department","ex.":"example","fig.":"figure","fld.":"field","fol.":"folio","n.":"note","hypo.":"hypothetical","illus.":"illustration","intro.":"introduction","l.":"line","no.":"issue","p.":"page","pp.":"page","para.":"paragraph","pt.":"part","pmbl.":"preamble","princ.":"principle","pub.":"publication","r.":"rule","rn.":"randnummer","sched.":"schedule","sec.":"section","ser.":"series,","subdiv.":"subdivision","subsec.":"subsection","supp.":"supplement","tbl.":"table","tit.":"title","vol.":"volume"},STATUTE_SUBDIV_STRINGS_REVERSE:{verse:"vrs.","sub-verbo":"sv.","sub verbo":"sv.",subparagraph:"subpara.",opus:"op.",subchapter:"subch.",addendum:"add.",amendment:"amend.",annotation:"annot.",appendix:"app.",article:"art.",bibliography:"bibliog.",book:"bk.",chapter:"ch.",clause:"cl.",column:"col.",comment:"cmt.",decision:"dec.",department:"dept.",example:"ex.",figure:"fig.",field:"fld.",folio:"fol.",note:"n.",hypothetical:"hypo.",illustration:"illus.",introduction:"intro.",line:"l.",issue:"no.",page:"p.",paragraph:"para.",part:"pt.",preamble:"pmbl.",principle:"princ.",publication:"pub.",rule:"r.",randnummer:"rn.",schedule:"sched.",section:"sec.","series,":"ser.",subdivision:"subdiv.",subsection:"subsec.",supplement:"supp.",table:"tbl.",title:"tit.",volume:"vol."},LOCATOR_LABELS_MAP:{vrs:"verse",sv:"sub-verbo",subpara:"subparagraph",op:"opus",subch:"subchapter",add:"addendum",amend:"amendment",annot:"annotation",app:"appendix",art:"article",bibliog:"bibliography",bk:"book",ch:"chapter",cl:"clause",col:"column",cmt:"comment",dec:"decision",dept:"department",ex:"example",fig:"figure",fld:"field",fol:"folio",n:"note",hypo:"hypothetical",illus:"illustration",intro:"introduction",l:"line",no:"issue",p:"page",pp:"page",para:"paragraph",pt:"part",pmbl:"preamble",princ:"principle",pub:"publication",r:"rule",rn:"randnummer",sched:"schedule",sec:"section",ser:"series,",subdiv:"subdivision",subsec:"subsection",supp:"supplement",tbl:"table",tit:"title",vol:"volume"},MODULE_MACROS:{"juris-pretitle":!0,"juris-title":!0,"juris-pretitle-short":!0,"juris-title-short":!0,"juris-main":!0,"juris-main-short":!0,"juris-tail":!0,"juris-tail-short":!0,"juris-locator":!0},MODULE_TYPES:{legal_case:!0,legislation:!0,bill:!0,hearing:!0,gazette:!0,report:!0,regulation:!0,standard:!0,patent:!0,locator:!0},checkNestedBrace:function(e){e.opt.xclass==="note"?(this.depth=0,this.update=function(i){for(var i=i||"",r=i.split(/([\(\)])/),a=1,n=r.length;a-1;o--)if(e.opt.availableAbbrevDomains[t].indexOf(n[o])>-1){r=n[o];break}}if(!r&&a){for(var o=a.length-1;o>-1;o--)if(e.opt.availableAbbrevDomains[t].indexOf(a[o])>-1){r=a[o];break}}}return r},FIELD_CATEGORY_REMAP:{title:"title","container-title":"container-title","collection-title":"collection-title",country:"place",number:"number",place:"place",archive:"container-title","title-short":"title",genre:"title",event:"title",medium:"title","archive-place":"place","publisher-place":"place","event-place":"place",jurisdiction:"place","language-name":"place","language-name-original":"place","call-number":"number","chapter-number":"number","collection-number":"number",edition:"number",page:"number",issue:"number",locator:"number","locator-extra":"number","number-of-pages":"number","number-of-volumes":"number",volume:"number","citation-number":"number",publisher:"institution-part"},parseLocator:function(e){if(this.opt.development_extensions.locator_date_and_revision&&e.locator){e.locator=""+e.locator;var t=e.locator.indexOf("|");if(t>-1){var i=e.locator;e.locator=i.slice(0,t),i=i.slice(t+1);var r=i.match(/^([0-9]{4}-[0-9]{2}-[0-9]{2}).*/);r&&(e["locator-date"]=this.fun.dateparser.parseDateToObject(r[1]),i=i.slice(r[1].length)),e["locator-extra"]=i.replace(/^\s+/,"").replace(/\s+$/,"")}}return e.locator&&(e.locator=(""+e.locator).replace(/\s+$/,"")),e},normalizeLocaleStr:function(e){if(e){var t=e.split("-");return t[0]=t[0].toLowerCase(),t[1]&&(t[1]=t[1].toUpperCase()),t.join("-")}},parseNoteFieldHacks:function(e,t,i){if(typeof e.note=="string"){for(var r=[],a=e.note.split(` +`),n=0,o=a.length;n0||f>1)&&!r[f-1].match(s.NOTE_FIELD_REGEXP));f+=2)r[f]=` +`+r[f].slice(2,-1).trim()+` +`;a[n]=r.join("")}}a=a.join(` +`).split(` +`);for(var u=0,d={},n=0,o=a.length;n-1)(!e[c]||i)&&(e[c]=s.DateParser.parseDateToArray(S),(!t||t[c]&&this.isDateString(S))&&(a[n]=""));else if(!e[c]){if(s.NAME_VARIABLES.indexOf(c.replace(/^alt-/,""))>-1){d[c]||(d[c]=[]);var g=S.split(/\s*\|\|\s*/);if(g.length===1)d[c].push({literal:g[0]});else if(g.length===2){var y={family:g[0],given:g[1]};s.parseParticles(y),d[c].push(y)}}else e[c]=S;(!t||t[c])&&(a[n]="")}}for(var c in d)e[c]=d[c];if(t){a[u].trim()&&(a[u]=` +`+a[u]);for(var n=u-1;n>-1;n--)a[n].trim()||(a=a.slice(0,n).concat(a.slice(n+1)))}e.note=a.join(` +`).trim()}},checkPrefixSpaceAppend:function(e,n){n||(n="");var i="",r=n.replace(/<[^>]+>/g,"").replace(/["'\u201d\u2019\u00bb\u202f\u00a0 ]+$/g,""),a=r.slice(-1);(r.match(s.ENDSWITH_ROMANESQUE_REGEXP)||s.TERMINAL_PUNCTUATION.slice(0,-1).indexOf(a)>-1||a.match(/[\)\],0-9]/))&&(i=" ");var n=(n+i).replace(/\s+/g," ");return n},checkIgnorePredecessor:function(e,t){var i=!1,r=t.replace(/<[^>]+>/g,"").replace(/["'\u201d\u2019\u00bb\u202f\u00a0 ]+$/g,""),a=r.slice(-1);return s.TERMINAL_PUNCTUATION.slice(0,-1).indexOf(a)>-1&&t.trim().indexOf(" ")>-1?(e.tmp.term_predecessor=!1,!0):!1},checkSuffixSpacePrepend:function(e,t){return t?((t.match(s.STARTSWITH_ROMANESQUE_REGEXP)||["[","("].indexOf(t.slice(0,1))>-1)&&(t=" "+t),t):""},GENDERS:["masculine","feminine"],ERROR_NO_RENDERED_FORM:1,PREVIEW:"Just for laughs.",ASSUME_ALL_ITEMS_REGISTERED:2,START:0,END:1,SINGLETON:2,SEEN:6,SUCCESSOR:3,SUCCESSOR_OF_SUCCESSOR:4,SUPPRESS:5,SINGULAR:0,PLURAL:1,LITERAL:!0,BEFORE:1,AFTER:2,DESCENDING:1,ASCENDING:2,PRIMARY:1,SECONDARY:2,POSITION_FIRST:0,POSITION_SUBSEQUENT:1,POSITION_IBID:2,POSITION_IBID_WITH_LOCATOR:3,POSITION_CONTAINER_SUBSEQUENT:4,POSITION_MAP:{0:0,4:1,1:2,2:3,3:4},POSITION_TEST_VARS:["position","first-reference-note-number","near-note"],AREAS:["citation","citation_sort","bibliography","bibliography_sort","intext"],CITE_FIELDS:["first-reference-note-number","first-container-reference-note-number","locator","locator-extra"],SWAPPING_PUNCTUATION:[".","!","?",":",","],TERMINAL_PUNCTUATION:[":",".",";","!","?"," "],NONE:0,NUMERIC:1,POSITION:2,TRIGRAPH:3,DATE_PARTS:["year","month","day"],DATE_PARTS_ALL:["year","month","day","season"],DATE_PARTS_INTERNAL:["year","month","day","year_end","month_end","day_end"],NAME_PARTS:["non-dropping-particle","family","given","dropping-particle","suffix","literal"],DISAMBIGUATE_OPTIONS:["disambiguate-add-names","disambiguate-add-givenname","disambiguate-add-year-suffix"],GIVENNAME_DISAMBIGUATION_RULES:["all-names","all-names-with-initials","primary-name","primary-name-with-initials","by-cite"],NAME_ATTRIBUTES:["and","delimiter-precedes-last","delimiter-precedes-et-al","initialize-with","initialize","name-as-sort-order","sort-separator","et-al-min","et-al-use-first","et-al-subsequent-min","et-al-subsequent-use-first","form","prefix","suffix","delimiter"],LOOSE:0,STRICT:1,TOLERANT:2,PREFIX_PUNCTUATION:/[.;:]\s*$/,SUFFIX_PUNCTUATION:/^\s*[.;:,\(\)]/,NUMBER_REGEXP:/(?:^\d+|\d+$)/,NAME_INITIAL_REGEXP:/^([A-Z\u0e01-\u0e5b\u00c0-\u017f\u0400-\u042f\u0590-\u05d4\u05d6-\u05ff\u0600-\u06ff\u0370\u0372\u0376\u0386\u0388-\u03ab\u03e2\u03e4\u03e6\u03e8\u03ea\u03ec\u03ee\u03f4\u03f7\u03fd-\u03ff])([a-zA-Z\u0e01-\u0e5b\u00c0-\u017f\u0400-\u052f\u0600-\u06ff\u0370-\u03ff\u1f00-\u1fff]*|)(\.)*/,ROMANESQUE_REGEXP:/[-0-9a-zA-Z\u0e01-\u0e5b\u00c0-\u017f\u0370-\u03ff\u0400-\u052f\u0590-\u05d4\u05d6-\u05ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e]/,ROMANESQUE_NOT_REGEXP:/[^a-zA-Z\u0e01-\u0e5b\u00c0-\u017f\u0370-\u03ff\u0400-\u052f\u0590-\u05d4\u05d6-\u05ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e]/g,STARTSWITH_ROMANESQUE_REGEXP:/^[&a-zA-Z\u0e01-\u0e5b\u00c0-\u017f\u0370-\u03ff\u0400-\u052f\u0590-\u05d4\u05d6-\u05ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e]/,ENDSWITH_ROMANESQUE_REGEXP:/[.;:&a-zA-Z\u0e01-\u0e5b\u00c0-\u017f\u0370-\u03ff\u0400-\u052f\u0590-\u05d4\u05d6-\u05ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e]$/,ALL_ROMANESQUE_REGEXP:/^[a-zA-Z\u0e01-\u0e5b\u00c0-\u017f\u0370-\u03ff\u0400-\u052f\u0590-\u05d4\u05d6-\u05ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e]+$/,VIETNAMESE_SPECIALS:/[\u00c0-\u00c3\u00c8-\u00ca\u00cc\u00cd\u00d2-\u00d5\u00d9\u00da\u00dd\u00e0-\u00e3\u00e8-\u00ea\u00ec\u00ed\u00f2-\u00f5\u00f9\u00fa\u00fd\u0101\u0103\u0110\u0111\u0128\u0129\u0168\u0169\u01a0\u01a1\u01af\u01b0\u1ea0-\u1ef9]/,VIETNAMESE_NAMES:/^(?:(?:[.AaBbCcDdEeGgHhIiKkLlMmNnOoPpQqRrSsTtUuVvXxYy \u00c0-\u00c3\u00c8-\u00ca\u00cc\u00cd\u00d2-\u00d5\u00d9\u00da\u00dd\u00e0-\u00e3\u00e8-\u00ea\u00ec\u00ed\u00f2-\u00f5\u00f9\u00fa\u00fd\u0101\u0103\u0110\u0111\u0128\u0129\u0168\u0169\u01a0\u01a1\u01af\u01b0\u1ea0-\u1ef9]{2,6})(\s+|$))+$/,NOTE_FIELDS_REGEXP:/\{:(?:[\-_a-z]+|[A-Z]+):[^\}]+\}/g,NOTE_FIELD_REGEXP:/^([\-_a-z]+|[A-Z]+):\s*([^\}]+)$/,PARTICLE_GIVEN_REGEXP:/^([^ ]+(?:\u02bb |\u2019 | |\' ) *)(.+)$/,PARTICLE_FAMILY_REGEXP:/^([^ ]+(?:\-|\u02bb|\u2019| |\') *)(.+)$/,DISPLAY_CLASSES:["block","left-margin","right-inline","indent"],NAME_VARIABLES:["author","chair","collection-editor","compiler","composer","container-author","contributor","curator","director","editor","editor-translator","editorial-director","executive-producer","guest","host","illustrator","interviewer","narrator","organizer","original-author","performer","producer","recipient","reviewed-author","script-writer","series-creator","translator","commenter"],CREATORS:["author","chair","collection-editor","compiler","composer","container-author","contributor","curator","director","editor","editor-translator","editorial-director","executive-producer","guest","host","illustrator","interviewer","narrator","organizer","original-author","performer","producer","recipient","reviewed-author","script-writer","series-creator","translator","commenter"],NUMERIC_VARIABLES:["call-number","chapter-number","collection-number","division","edition","page","issue","locator","locator-extra","number","number-of-pages","number-of-volumes","part-number","printing-number","section","supplement-number","version","volume","supplement","citation-number"],DATE_VARIABLES:["locator-date","issued","event-date","accessed","original-date","publication-date","available-date","submitted","alt-issued","alt-event"],VARIABLES_WITH_SHORT_FORM:["title","container-title"],TITLE_FIELD_SPLITS:function(e){for(var t=["title","short","main","sub","subjoin"],i={},r=0,a=t.length;r-1&&r.indexOf(t[n].toLowerCase())>-1;n+=-1)a.push(t.pop());t.reverse();var o=t.join(" "),l=a.join(" ");i==="drop"||!l?t=o:i==="demote"&&(t=[o,l].join(", "))}return t},extractTitleAndSubtitle:function(e,t){var i=t?"\u202F":"",r=[""];this.opt.development_extensions.split_container_title&&r.push("container-");for(var a=0,n=r.length;a-1&&(u[l.subjoin]=i+": "),(u[l.subjoin].indexOf("-")>-1||u[l.subjoin].indexOf("\u2014")>-1)&&(u[l.subjoin]="\u2014")),p)for(var x in u)e.multi._keys[x]||(e.multi._keys[x]={}),e.multi._keys[x][p]=u[x];else for(var x in u)e[x]=u[x]}}},titlecaseSentenceOrNormal:function(e,t,i,r,a){var n=s.TITLE_FIELD_SPLITS(i),o={};if(r&&t.multi?(t.multi._keys[n.title]&&(o[n.title]=t.multi._keys[n.title][r]),t.multi._keys[n.main]&&(o[n.main]=t.multi._keys[n.main][r]),t.multi._keys[n.sub]&&(o[n.sub]=t.multi._keys[n.sub][r]),t.multi._keys[n.subjoin]&&(o[n.subjoin]=t.multi._keys[n.subjoin][r])):(o[n.title]=t[n.title],o[n.main]=t[n.main],o[n.sub]=t[n.sub],o[n.subjoin]=t[n.subjoin]),o[n.main]&&o[n.sub]){var l=o[n.main],m=o[n.subjoin],p=o[n.sub];return a?(l=s.Output.Formatters.sentence(e,l),p=s.Output.Formatters.sentence(e,p)):e.opt.development_extensions.uppercase_subtitles&&(p=s.Output.Formatters["capitalize-first"](e,p)),[l,m,p].join("")}else if(o[n.title]){if(a)return s.Output.Formatters.sentence(e,o[n.title]);if(e.opt.development_extensions.uppercase_subtitles){for(var f=s.TITLE_SPLIT(o[n.title]),h=0,u=f.length;h-1||f[h].indexOf("\u2014")>-1)&&(f[h]="\u2014")}return o[n.title]=f.join(""),o[n.title]}else return o[n.title]}else return""},getSafeEscape:function(e){if(["bibliography","citation"].indexOf(e.tmp.area)>-1){var t=[];return e.opt.development_extensions.thin_non_breaking_space_html_hack&&e.opt.mode==="html"&&t.push(function(i){return i.replace(/\u202f/g,'')}),t.length?function(i){for(var r=0,a=t.length;ro[0]==="@vertical-align").length>0||r&&r.strings.suffix?e.tmp.just_did_number=!1:t&&(t.match(/[0-9]$/)?e.tmp.just_did_number=!0:e.tmp.just_did_number=!1)}},EVALUATE_GROUP_CONDITION:function(e,t){if(e.opt.use_context_condition){var i,r=t.condition.test==="comma-safe-numbers-only";if(t.condition.test==="empty-label")i=!t.condition.termtxt;else if(t.condition.test==="empty-label-no-decor")i=!t.condition.termtxt||t.condition.termtxt.indexOf("%s")>-1;else if(["comma-safe","comma-safe-numbers-only"].indexOf(t.condition.test)>-1){var a=t.condition.termtxt,n=!1;t.condition.termtxt&&(n=t.condition.termtxt.slice(0,1).match(s.ALL_ROMANESQUE_REGEXP));var o=e.tmp.just_did_number;o?t.condition.valueTerm?i=!r:a?n?i=!r:["always","after-number"].indexOf(e.opt.require_comma_on_symbol)>-1?i=!0:i=!1:i=!0:t.condition.valueTerm?i=!1:a?n?i=!r:e.opt.require_comma_on_symbol==="always"?i=!0:i=!1:i=!1}if(i)var l=!1;else var l=!0;return t.condition.not&&(l=!l),l}},SYS_OPTIONS:["prioritize_disambiguate_condition","csl_reverse_lookup_support","main_title_from_short_title","uppercase_subtitles","force_short_title_casing_alignment","implicit_short_title","split_container_title"],TITLE_SPLIT_REGEXP:function(){var e=["\\.\\s+","\\!\\s+","\\?\\s+","\\s*::*\\s+","\\s*\u2014\\s*","\\s+\\-\\s+","\\s*\\-\\-\\-*\\s*"];return{match:new RegExp("("+e.join("|")+")","g"),matchfirst:new RegExp("^("+e.join("|")+")"),split:new RegExp("(?:"+e.join("|")+")")}}(),TITLE_SPLIT:function(e){if(!e)return e;for(var t=e.match(s.TITLE_SPLIT_REGEXP.match),i=e.split(s.TITLE_SPLIT_REGEXP.split),r=i.length-2;r>-1;r--)i[r]=i[r].trim(),i[r]&&i[r].slice(-1).toLowerCase()!==i[r].slice(-1)?(i[r]=i[r]+t[r]+i[r+1],i=i.slice(0,r+1).concat(i.slice(r+2))):i=i.slice(0,r+1).concat([t[r]]).concat(i.slice(r+1));return i},GET_COURT_CLASS:function(e,t,i){var r="",a=null,n=t.jurisdiction?t.jurisdiction.split(":")[0]:null,o="court_condition_classes";return i&&(o="court_key_classes"),n&&t.authority&&(typeof t.authority=="string"?a=t.authority:t.authority[0]&&t.authority[0].literal&&(a=t.authority[0].literal)),a&&(this.lang&&e.locale[this.lang].opts[o]&&e.locale[this.lang].opts[o][n]&&e.locale[this.lang].opts[o][n][a]?r=e.locale[this.lang].opts[o][n][a]:e.locale[e.opt["default-locale"][0]].opts[o]&&e.locale[e.opt["default-locale"][0]].opts[o][n]&&e.locale[e.opt["default-locale"][0]].opts[o][n][a]&&(r=e.locale[e.opt["default-locale"][0]].opts[o][n][a])),r},SET_COURT_CLASSES:function(e,t,i,r){for(var a=i.getNodesByName(r,"court-class"),n=0,o=i.numberofnodes(a);n"u")for(var i in e)typeof e[i]=="string"?t[i]=e[i]:typeof e[i]=="object"&&(typeof e[i].length>"u"?t[i]=this.nodeCopy(e[i],{}):t[i]=this.nodeCopy(e[i],[]));else for(var r=0,a=e.length;r"u"?!1:t==e.name},s.XmlJSON.prototype.makeXml=function(e){return typeof e=="string"&&(e.slice(0,1)==="<"?e=this.jsonStringWalker.walkToObject(e):e=JSON.parse(e)),e},s.XmlJSON.prototype.insertChildNodeAfter=function(e,t,i,r){for(var a=0,n=e.children.length;a-1&&!e.children[r].attrs.prefix&&!e.children[r].attrs.suffix)i=i.slice(0,n).concat(i.slice(n+1));else{t=!1;break}}t&&!i.length&&(e.attrs["has-publisher-and-publisher-place"]=!0)}for(var r=0,a=e.children.length;r0){var t=e.slice(),i=t.pop();return i==="substitute"?!0:this.isChildOfSubstitute(t)}return!1},s.XmlJSON.prototype.addMissingNameNodes=function(e,t){if(t||(t=[]),e.name==="names"&&!this.isChildOfSubstitute(t)){for(var i=!0,r=0,a=e.children.length;r-1){for(var r=this.nodeCopy(this.institution),u=0,d=s.INSTITUTION_KEYS.length;u/,""),e=e.replace(//g,""),e=e.replace(/^\s+/g,""),e=e.replace(/\s+$/g,""),e)},s.parseXml=function(e){var t=0,i={children:[]},r=[i.children];function a(y){y=y.split(/(?:\r\n|\n|\r)/).join(" ").replace(/>[ ]+<").replace(/<\!--.*?-->/g,"");for(var x=y.split("><"),b=null,A=0,O=x.length;A0&&(x[A]="<"+x[A]),A"),typeof b!="number"&&(x[A].slice(0,7)==="`),e=this.attachShadow({mode:"open"});e.appendChild(t.content.cloneNode(!0)),e.addEventListener("move",this),this[_]=this[R].map(o=>new o(e))}connectedCallback(){if(this.hasOwnProperty("color")){const t=this.color;delete this.color,this.color=t}else this.color||(this.color=this.colorModel.defaultColor)}attributeChangedCallback(t,e,o){const s=this.colorModel.fromAttr(o);this[g](s)||(this.color=s)}handleEvent(t){const e=this[I],o={...e,...t.detail};this[H](o);let s;!C(o,e)&&!this[g](s=this.colorModel.fromHsva(o))&&(this[x]=s,m(this,"color-changed",{value:s}))}[g](t){return this.color&&this.colorModel.equal(t,this.color)}[H](t){this[I]=t,this[_].forEach(e=>e.update(t))}}const W={defaultColor:"#000",toHsva:O,fromHsva:({h:r,s:t,v:e})=>B({h:r,s:t,v:e,a:1}),equal:V,fromAttr:r=>r};class Z extends Q{get colorModel(){return W}}class q extends Z{}customElements.define("hex-color-picker",q)}}]); diff --git a/data/gitea/public/assets/js/contributors-graph-code-frequency-graph-recent-commits-graph.eb309961.js b/data/gitea/public/assets/js/contributors-graph-code-frequency-graph-recent-commits-graph.eb309961.js new file mode 100644 index 0000000..6a281e6 --- /dev/null +++ b/data/gitea/public/assets/js/contributors-graph-code-frequency-graph-recent-commits-graph.eb309961.js @@ -0,0 +1,3 @@ +var ar=Object.defineProperty;var lr=(vt,nt,G)=>nt in vt?ar(vt,nt,{enumerable:!0,configurable:!0,writable:!0,value:G}):vt[nt]=G;var R=(vt,nt,G)=>(lr(vt,typeof nt!="symbol"?nt+"":nt,G),G);(self.webpackChunk=self.webpackChunk||[]).push([["contributors-graph-code-frequency-graph-recent-commits-graph"],{"./node_modules/dayjs/plugin/advancedFormat.js":function(vt){(function(nt,G){vt.exports=G()})(this,function(){"use strict";return function(nt,G){var d=G.prototype,W=d.format;d.format=function(X){var Q=this,ut=this.$locale();if(!this.isValid())return W.bind(this)(X);var j=this.$utils(),at=(X||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(K){switch(K){case"Q":return Math.ceil((Q.$M+1)/3);case"Do":return ut.ordinal(Q.$D);case"gggg":return Q.weekYear();case"GGGG":return Q.isoWeekYear();case"wo":return ut.ordinal(Q.week(),"W");case"w":case"ww":return j.s(Q.week(),K==="w"?1:2,"0");case"W":case"WW":return j.s(Q.isoWeek(),K==="W"?1:2,"0");case"k":case"kk":return j.s(String(Q.$H===0?24:Q.$H),K==="k"?1:2,"0");case"X":return Math.floor(Q.$d.getTime()/1e3);case"x":return Q.$d.getTime();case"z":return"["+Q.offsetName()+"]";case"zzz":return"["+Q.offsetName("long")+"]";default:return K}});return W.bind(this)(at)}}})},"./node_modules/dayjs/plugin/customParseFormat.js":function(vt){(function(nt,G){vt.exports=G()})(this,function(){"use strict";var nt={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},G=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,d=/\d\d/,W=/\d\d?/,X=/\d*[^-_:/,()\s\d]+/,Q={},ut=function(z){return(z=+z)+(z>68?1900:2e3)},j=function(z){return function(q){this[z]=+q}},at=[/[+-]\d\d:?(\d\d)?|Z/,function(z){(this.zone||(this.zone={})).offset=function(q){if(!q||q==="Z")return 0;var ct=q.match(/([+-]|\d\d)/g),ht=60*ct[1]+(+ct[2]||0);return ht===0?0:ct[0]==="+"?-ht:ht}(z)}],K=function(z){var q=Q[z];return q&&(q.indexOf?q:q.s.concat(q.f))},lt=function(z,q){var ct,ht=Q.meridiem;if(ht){for(var Pt=1;Pt<=24;Pt+=1)if(z.indexOf(ht(Pt,0,q))>-1){ct=Pt>12;break}}else ct=z===(q?"pm":"PM");return ct},et={A:[X,function(z){this.afternoon=lt(z,!1)}],a:[X,function(z){this.afternoon=lt(z,!0)}],S:[/\d/,function(z){this.milliseconds=100*+z}],SS:[d,function(z){this.milliseconds=10*+z}],SSS:[/\d{3}/,function(z){this.milliseconds=+z}],s:[W,j("seconds")],ss:[W,j("seconds")],m:[W,j("minutes")],mm:[W,j("minutes")],H:[W,j("hours")],h:[W,j("hours")],HH:[W,j("hours")],hh:[W,j("hours")],D:[W,j("day")],DD:[d,j("day")],Do:[X,function(z){var q=Q.ordinal,ct=z.match(/\d+/);if(this.day=ct[0],q)for(var ht=1;ht<=31;ht+=1)q(ht).replace(/\[|\]/g,"")===z&&(this.day=ht)}],M:[W,j("month")],MM:[d,j("month")],MMM:[X,function(z){var q=K("months"),ct=(K("monthsShort")||q.map(function(ht){return ht.slice(0,3)})).indexOf(z)+1;if(ct<1)throw new Error;this.month=ct%12||ct}],MMMM:[X,function(z){var q=K("months").indexOf(z)+1;if(q<1)throw new Error;this.month=q%12||q}],Y:[/[+-]?\d+/,j("year")],YY:[d,function(z){this.year=ut(z)}],YYYY:[/\d{4}/,j("year")],Z:at,ZZ:at};function ft(z){var q,ct;q=z,ct=Q&&Q.formats;for(var ht=(z=q.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(Tt,jt,Dt){var xt=Dt&&Dt.toUpperCase();return jt||ct[Dt]||nt[Dt]||ct[xt].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(Vt,N,tt){return N||tt.slice(1)})})).match(G),Pt=ht.length,Bt=0;Bt-1)return new Date((wt==="X"?1e3:1)*st);var ot=ft(wt)(st),Lt=ot.year,Ht=ot.month,we=ot.day,Et=ot.hours,ne=ot.minutes,he=ot.seconds,Qt=ot.milliseconds,Nt=ot.zone,qt=new Date,St=we||(Lt||Ht?1:qt.getDate()),$t=Lt||qt.getFullYear(),Rt=0;Lt&&!Ht||(Rt=Ht>0?Ht-1:qt.getMonth());var Yt=Et||0,Mt=ne||0,Se=he||0,Zt=Qt||0;return Nt?new Date(Date.UTC($t,Rt,St,Yt,Mt,Se,Zt+60*Nt.offset*1e3)):bt?new Date(Date.UTC($t,Rt,St,Yt,Mt,Se,Zt)):new Date($t,Rt,St,Yt,Mt,Se,Zt)}catch{return new Date("")}}(Kt,At,Gt),this.init(),xt&&xt!==!0&&(this.$L=this.locale(xt).$L),Dt&&Kt!=this.format(At)&&(this.$d=new Date("")),Q={}}else if(At instanceof Array)for(var Vt=At.length,N=1;N<=Vt;N+=1){Wt[1]=At[N-1];var tt=ct.apply(this,Wt);if(tt.isValid()){this.$d=tt.$d,this.$L=tt.$L,this.init();break}N===Vt&&(this.$d=new Date(""))}else Pt.call(this,Bt)}}})},"./node_modules/dayjs/plugin/isoWeek.js":function(vt){(function(nt,G){vt.exports=G()})(this,function(){"use strict";var nt="day";return function(G,d,W){var X=function(j){return j.add(4-j.isoWeekday(),nt)},Q=d.prototype;Q.isoWeekYear=function(){return X(this).year()},Q.isoWeek=function(j){if(!this.$utils().u(j))return this.add(7*(j-this.isoWeek()),nt);var at,K,lt,et,ft=X(this),z=(at=this.isoWeekYear(),K=this.$u,lt=(K?W.utc:W)().year(at).startOf("year"),et=4-lt.isoWeekday(),lt.isoWeekday()>4&&(et+=7),lt.add(et,nt));return ft.diff(z,"week")+1},Q.isoWeekday=function(j){return this.$utils().u(j)?this.day()||7:this.day(this.day()%7?j:j-7)};var ut=Q.startOf;Q.startOf=function(j,at){var K=this.$utils(),lt=!!K.u(at)||at;return K.p(j)==="isoweek"?lt?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):ut.bind(this)(j,at)}}})},"./node_modules/dayjs/plugin/localizedFormat.js":function(vt){(function(nt,G){vt.exports=G()})(this,function(){"use strict";var nt={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};return function(G,d,W){var X=d.prototype,Q=X.format;W.en.formats=nt,X.format=function(ut){ut===void 0&&(ut="YYYY-MM-DDTHH:mm:ssZ");var j=this.$locale().formats,at=function(K,lt){return K.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(et,ft,z){var q=z&&z.toUpperCase();return ft||lt[z]||nt[z]||lt[q].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(ct,ht,Pt){return ht||Pt.slice(1)})})}(ut,j===void 0?{}:j);return Q.call(this,at)}}})},"./node_modules/dayjs/plugin/quarterOfYear.js":function(vt){(function(nt,G){vt.exports=G()})(this,function(){"use strict";var nt="month",G="quarter";return function(d,W){var X=W.prototype;X.quarter=function(j){return this.$utils().u(j)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(j-1))};var Q=X.add;X.add=function(j,at){return j=Number(j),this.$utils().p(at)===G?this.add(3*j,nt):Q.bind(this)(j,at)};var ut=X.startOf;X.startOf=function(j,at){var K=this.$utils(),lt=!!K.u(at)||at;if(K.p(j)===G){var et=this.quarter()-1;return lt?this.month(3*et).startOf(nt).startOf("day"):this.month(3*et+2).endOf(nt).endOf("day")}return ut.bind(this)(j,at)}}})},"./node_modules/chart.js/dist/chart.js":function(vt,nt,G){"use strict";G.d(nt,{A6:function(){return Yt},E8:function(){return pe},FN:function(){return Re},No:function(){return le},UA:function(){return fi},ZT:function(){return Pe},dN:function(){return pt},hE:function(){return co},ij:function(){return bi},kc:function(){return jn},m_:function(){return bo},s$:function(){return Fn},t1:function(){return fe}});var d=G("./node_modules/chart.js/dist/chunks/helpers.segment.js");class W{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,n){const o=e.listeners[n],a=e.duration;o.forEach(l=>l({chart:t,initial:e.initial,numSteps:a,currentStep:Math.min(i-e.start,a)}))}_refresh(){this._request||(this._running=!0,this._request=d.r.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((i,n)=>{if(!i.running||!i.items.length)return;const o=i.items;let a=o.length-1,l=!1,h;for(;a>=0;--a)h=o[a],h._active?(h._total>i.duration&&(i.duration=h._total),h.tick(t),l=!0):(o[a]=o[o.length-1],o.pop());l&&(n.draw(),this._notify(n,i,t,"progress")),o.length||(i.running=!1,this._notify(n,i,t,"complete"),i.initial=!1),e+=o.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((i,n)=>Math.max(i,n._duration),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let n=i.length-1;for(;n>=0;--n)i[n].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var X=new W;const Q="transparent",ut={boolean(s,t,e){return e>.5?t:s},color(s,t,e){const i=(0,d.c)(s||Q),n=i.valid&&(0,d.c)(t||Q);return n&&n.valid?n.mix(i,e).hexString():t},number(s,t,e){return s+(t-s)*e}};class j{constructor(t,e,i,n){const o=e[i];n=(0,d.a)([t.to,n,o,t.from]);const a=(0,d.a)([t.from,o,n]);this._active=!0,this._fn=t.fn||ut[t.type||typeof a],this._easing=d.e[t.easing]||d.e.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=a,this._to=n,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const n=this._target[this._prop],o=i-this._start,a=this._duration-o;this._start=i,this._duration=Math.floor(Math.max(a,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=(0,d.a)([t.to,e,n,t.from]),this._from=(0,d.a)([t.from,n,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,n=this._prop,o=this._from,a=this._loop,l=this._to;let h;if(this._active=o!==l&&(a||e1?2-h:h,h=this._easing(Math.min(1,Math.max(0,h))),this._target[n]=this._fn(o,l,h)}wait(){const t=this._promises||(this._promises=[]);return new Promise((e,i)=>{t.push({res:e,rej:i})})}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let n=0;n{const o=t[n];if(!(0,d.i)(o))return;const a={};for(const l of e)a[l]=o[l];((0,d.b)(o.properties)&&o.properties||[n]).forEach(l=>{(l===n||!i.has(l))&&i.set(l,a)})})}_animateOptions(t,e){const i=e.options,n=lt(t,i);if(!n)return[];const o=this._createAnimations(n,i);return i.$shared&&K(t.options.$animations,i).then(()=>{t.options=i},()=>{}),o}_createAnimations(t,e){const i=this._properties,n=[],o=t.$animations||(t.$animations={}),a=Object.keys(e),l=Date.now();let h;for(h=a.length-1;h>=0;--h){const u=a[h];if(u.charAt(0)==="$")continue;if(u==="options"){n.push(...this._animateOptions(t,e));continue}const p=e[u];let b=o[u];const _=i.get(u);if(b)if(_&&b.active()){b.update(_,p,l);continue}else b.cancel();if(!_||!_.duration){t[u]=p;continue}o[u]=b=new j(_,t,u,p),n.push(b)}return n}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}const i=this._createAnimations(t,e);if(i.length)return X.add(this._chart,i),!0}}function K(s,t){const e=[],i=Object.keys(t);for(let n=0;n0||!e&&o<0)return n.index}return null}function At(s,t){const{chart:e,_cachedMeta:i}=s,n=e._stacks||(e._stacks={}),{iScale:o,vScale:a,index:l}=i,h=o.axis,u=a.axis,p=Bt(o,a,i),b=t.length;let _;for(let y=0;ye[i].axis===t).shift()}function jt(s,t){return(0,d.j)(s,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Dt(s,t,e){return(0,d.j)(s,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:e,index:t,mode:"default",type:"data"})}function xt(s,t){const e=s.controller.index,i=s.vScale&&s.vScale.axis;if(i){t=t||s._parsed;for(const n of t){const o=n._stacks;if(!o||o[i]===void 0||o[i][e]===void 0)return;delete o[i][e],o[i]._visualValues!==void 0&&o[i]._visualValues[e]!==void 0&&delete o[i]._visualValues[e]}}}const Vt=s=>s==="reset"||s==="none",N=(s,t)=>t?s:Object.assign({},s),tt=(s,t,e)=>s&&!t.hidden&&t._stacked&&{keys:q(e,!0),values:null};class st{constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Pt(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&xt(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),n=(b,_,y,M)=>b==="x"?_:b==="r"?M:y,o=e.xAxisID=(0,d.v)(i.xAxisID,Tt(t,"x")),a=e.yAxisID=(0,d.v)(i.yAxisID,Tt(t,"y")),l=e.rAxisID=(0,d.v)(i.rAxisID,Tt(t,"r")),h=e.indexAxis,u=e.iAxisID=n(h,o,a,l),p=e.vAxisID=n(h,a,o,l);e.xScale=this.getScaleForId(o),e.yScale=this.getScaleForId(a),e.rScale=this.getScaleForId(l),e.iScale=this.getScaleForId(u),e.vScale=this.getScaleForId(p)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&(0,d.u)(this._data,this),t._stacked&&xt(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if((0,d.i)(e))this._data=ht(e);else if(i!==e){if(i){(0,d.u)(i,this);const n=this._cachedMeta;xt(n),n._parsed=[]}e&&Object.isExtensible(e)&&(0,d.l)(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,i=this.getDataset();let n=!1;this._dataCheck();const o=e._stacked;e._stacked=Pt(e.vScale,e),e.stack!==i.stack&&(n=!0,xt(e),e.stack=i.stack),this._resyncElements(t),(n||o!==e._stacked)&&At(this,e._parsed)}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:i,_data:n}=this,{iScale:o,_stacked:a}=i,l=o.axis;let h=t===0&&e===n.length?!0:i._sorted,u=t>0&&i._parsed[t-1],p,b,_;if(this._parsing===!1)i._parsed=n,i._sorted=!0,_=n;else{(0,d.b)(n[t])?_=this.parseArrayData(i,n,t,e):(0,d.i)(n[t])?_=this.parseObjectData(i,n,t,e):_=this.parsePrimitiveData(i,n,t,e);const y=()=>b[l]===null||u&&b[l]S||b=0;--_)if(!M()){this.updateRangeFromParsed(u,t,y,h);break}}return u}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let n,o,a;for(n=0,o=e.length;n=0&&tthis.getContext(i,n,e),S=u.resolveNamedOptions(_,y,M,b);return S.$shared&&(S.$shared=h,o[a]=Object.freeze(N(S,h))),S}_resolveAnimations(t,e,i){const n=this.chart,o=this._cachedDataOpts,a=`animation-${e}`,l=o[a];if(l)return l;let h;if(n.options.animation!==!1){const p=this.chart.config,b=p.datasetAnimationScopeKeys(this._type,e),_=p.getOptionScopes(this.getDataset(),b);h=p.createResolver(_,this.getContext(t,i,e))}const u=new at(n,h&&h.animations);return h&&h._cacheable&&(o[a]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||Vt(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const i=this.resolveDataElementOptions(t,e),n=this._sharedOptions,o=this.getSharedOptions(i),a=this.includeOptions(e,o)||o!==n;return this.updateSharedOptions(o,e,i),{sharedOptions:o,includeOptions:a}}updateElement(t,e,i,n){Vt(n)?Object.assign(t,i):this._resolveAnimations(e,n).update(t,i)}updateSharedOptions(t,e,i){t&&!Vt(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,n){t.active=n;const o=this.getStyle(e,n);this._resolveAnimations(e,i,n).update(t,{options:!n&&this.getSharedOptions(o)||o})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[l,h,u]of this._syncList)this[l](h,u);this._syncList=[];const n=i.length,o=e.length,a=Math.min(o,n);a&&this.parse(0,a),o>n?this._insertElements(n,o-n,t):o{for(u.length+=e,l=u.length-1;l>=a;l--)u[l]=u[l-e]};for(h(o),l=t;ln-o))}return s._cache.$bar}function bt(s){const t=s.iScale,e=wt(t,s.type);let i=t._length,n,o,a,l;const h=()=>{a===32767||a===-32768||((0,d.h)(l)&&(i=Math.min(i,Math.abs(a-l)||i)),l=a)};for(n=0,o=e.length;n0?n[s-1]:null,l=sMath.abs(l)&&(h=l,u=a),t[e.axis]=u,t._custom={barStart:h,barEnd:u,start:n,end:o,min:a,max:l}}function we(s,t,e,i){return(0,d.b)(s)?Ht(s,t,e,i):t[e.axis]=e.parse(s,i),t}function Et(s,t,e,i){const n=s.iScale,o=s.vScale,a=n.getLabels(),l=n===o,h=[];let u,p,b,_;for(u=e,p=e+i;u=e?1:-1)}function Qt(s){let t,e,i,n,o;return s.horizontal?(t=s.base>s.x,e="left",i="right"):(t=s.baseh.controller.options.grouped),o=i.options.stacked,a=[],l=h=>{const u=h.controller.getParsed(e),p=u&&u[h.vScale.axis];if((0,d.k)(p)||isNaN(p))return!0};for(const h of n)if(!(e!==void 0&&l(h))&&((o===!1||a.indexOf(h.stack)===-1||o===void 0&&h.stack===void 0)&&a.push(h.stack),h.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,i){const n=this._getStacks(t,i),o=e!==void 0?n.indexOf(e):-1;return o===-1?n.length-1:o}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,n=[];let o,a;for(o=0,a=e.data.length;o=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:n,yScale:o}=e,a=this.getParsed(t),l=n.getLabelForValue(a.x),h=o.getLabelForValue(a.y),u=a._custom;return{label:i[t]||"",value:"("+l+", "+h+(u?", "+u:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,n){const o=n==="reset",{iScale:a,vScale:l}=this._cachedMeta,{sharedOptions:h,includeOptions:u}=this._getSharedOptions(e,n),p=a.axis,b=l.axis;for(let _=e;_(0,d.p)(E,l,h,!0)?1:Math.max(L,L*e,A,A*e),M=(E,L,A)=>(0,d.p)(E,l,h,!0)?-1:Math.min(L,L*e,A,A*e),S=y(0,u,b),D=y(d.H,p,_),P=M(d.P,u,b),O=M(d.P+d.H,p,_);i=(S-P)/2,n=(D-O)/2,o=-(S+P)/2,a=-(D+O)/2}return{ratioX:i,ratioY:n,offsetX:o,offsetY:a}}class Zt extends st{constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,n=this._cachedMeta;if(this._parsing===!1)n._parsed=i;else{let o=h=>+i[h];if((0,d.i)(i[t])){const{key:h="value"}=this._parsing;o=u=>+(0,d.f)(i[u],h)}let a,l;for(a=t,l=t+e;a0&&!isNaN(t)?d.T*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,n=i.data.labels||[],o=(0,d.o)(e._parsed[t],i.options.locale);return{label:n[t]||"",value:o}}getMaxBorderWidth(t){let e=0;const i=this.chart;let n,o,a,l,h;if(!t){for(n=0,o=i.data.datasets.length;nt!=="spacing",_indexable:t=>t!=="spacing"&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")}),R(Zt,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:n}}=t.legend.options;return e.labels.map((o,a)=>{const h=t.getDatasetMeta(0).controller.getStyle(a);return{text:o,fillStyle:h.backgroundColor,strokeStyle:h.borderColor,fontColor:n,lineWidth:h.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(a),index:a}})}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}}});class Pe extends st{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:i,data:n=[],_dataset:o}=e,a=this.chart._animationsDisabled;let{start:l,count:h}=(0,d.q)(e,n,a);this._drawStart=l,this._drawCount=h,(0,d.w)(e)&&(l=0,h=n.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!o._decimated,i.points=n;const u=this.resolveDatasetElementOptions(t);this.options.showLine||(u.borderWidth=0),u.segment=this.options.segment,this.updateElement(i,void 0,{animated:!a,options:u},t),this.updateElements(n,l,h,t)}updateElements(t,e,i,n){const o=n==="reset",{iScale:a,vScale:l,_stacked:h,_dataset:u}=this._cachedMeta,{sharedOptions:p,includeOptions:b}=this._getSharedOptions(e,n),_=a.axis,y=l.axis,{spanGaps:M,segment:S}=this.options,D=(0,d.x)(M)?M:Number.POSITIVE_INFINITY,P=this.chart._animationsDisabled||o||n==="none",O=e+i,E=t.length;let L=e>0&&this.getParsed(e-1);for(let A=0;A=O){I.skip=!0;continue}const B=this.getParsed(A),$=(0,d.k)(B[y]),Z=I[_]=a.getPixelForValue(B[_],A),J=I[y]=o||$?l.getBasePixel():l.getPixelForValue(h?this.applyStack(l,B,h):B[y],A);I.skip=isNaN(Z)||isNaN(J)||$,I.stop=A>0&&Math.abs(B[_]-L[_])>D,S&&(I.parsed=B,I.raw=u.data[A]),b&&(I.options=p||this.resolveDataElementOptions(A,F.active?"active":n)),P||this.updateElement(F,A,I,n),L=B}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,n=t.data||[];if(!n.length)return i;const o=n[0].size(this.resolveDataElementOptions(0)),a=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(i,o,a)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}R(Pe,"id","line"),R(Pe,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),R(Pe,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});class re extends st{constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,n=i.data.labels||[],o=(0,d.o)(e._parsed[t].r,i.options.locale);return{label:n[t]||"",value:o}}parseObjectData(t,e,i,n){return d.y.bind(this)(t,e,i,n)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((i,n)=>{const o=this.getParsed(n).r;!isNaN(o)&&this.chart.getDataVisibility(n)&&(oe.max&&(e.max=o))}),e}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,n=Math.min(e.right-e.left,e.bottom-e.top),o=Math.max(n/2,0),a=Math.max(i.cutoutPercentage?o/100*i.cutoutPercentage:1,0),l=(o-a)/t.getVisibleDatasetCount();this.outerRadius=o-l*this.index,this.innerRadius=this.outerRadius-l}updateElements(t,e,i,n){const o=n==="reset",a=this.chart,h=a.options.animation,u=this._cachedMeta.rScale,p=u.xCenter,b=u.yCenter,_=u.getIndexAngle(0)-.5*d.P;let y=_,M;const S=360/this.countVisibleElements();for(M=0;M{!isNaN(this.getParsed(n).r)&&this.chart.getDataVisibility(n)&&e++}),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?(0,d.t)(this.resolveDataElementOptions(t,e).angle||i):0}}R(re,"id","polarArea"),R(re,"defaults",{dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0}),R(re,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:n}}=t.legend.options;return e.labels.map((o,a)=>{const h=t.getDatasetMeta(0).controller.getStyle(a);return{text:o,fillStyle:h.backgroundColor,strokeStyle:h.borderColor,fontColor:n,lineWidth:h.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(a),index:a}})}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}});class Ft extends Zt{}R(Ft,"id","pie"),R(Ft,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});class yt extends st{getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,n){return d.y.bind(this)(t,e,i,n)}update(t){const e=this._cachedMeta,i=e.dataset,n=e.data||[],o=e.iScale.getLabels();if(i.points=n,t!=="resize"){const a=this.resolveDatasetElementOptions(t);this.options.showLine||(a.borderWidth=0);const l={_loop:!0,_fullLoop:o.length===n.length,options:a};this.updateElement(i,void 0,l,t)}this.updateElements(n,0,n.length,t)}updateElements(t,e,i,n){const o=this._cachedMeta.rScale,a=n==="reset";for(let l=e;l0&&this.getParsed(e-1);for(let L=e;L0&&Math.abs(F[y]-E[y])>P,D&&(I.parsed=F,I.raw=u.data[L]),_&&(I.options=b||this.resolveDataElementOptions(L,A.active?"active":n)),O||this.updateElement(A,L,I,n),E=F}this.updateSharedOptions(b,n,p)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let l=0;for(let h=e.length-1;h>=0;--h)l=Math.max(l,e[h].size(this.resolveDataElementOptions(h))/2);return l>0&&l}const i=t.dataset,n=i.options&&i.options.borderWidth||0;if(!e.length)return n;const o=e[0].size(this.resolveDataElementOptions(0)),a=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(n,o,a)/2}}R(De,"id","scatter"),R(De,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),R(De,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});var Yn=Object.freeze({__proto__:null,BarController:Yt,BubbleController:Mt,DoughnutController:Zt,LineController:Pe,PieController:Ft,PolarAreaController:re,RadarController:yt,ScatterController:De});function It(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class mi{constructor(t){R(this,"options");this.options=t||{}}static override(t){Object.assign(mi.prototype,t)}init(){}formats(){return It()}parse(){return It()}format(){return It()}add(){return It()}diff(){return It()}startOf(){return It()}endOf(){return It()}}var bi={_date:mi};function $n(s,t,e,i){const{controller:n,data:o,_sorted:a}=s,l=n._cachedMeta.iScale;if(l&&t===l.axis&&t!=="r"&&a&&o.length){const h=l._reversePixels?d.A:d.B;if(i){if(n._sharedOptions){const u=o[0],p=typeof u.getRange=="function"&&u.getRange(t);if(p){const b=h(o,t,e-p),_=h(o,t,e+p);return{lo:b.lo,hi:_.hi}}}}else return h(o,t,e)}return{lo:0,hi:o.length-1}}function Ie(s,t,e,i,n){const o=s.getSortedVisibleDatasetMetas(),a=e[t];for(let l=0,h=o.length;l{h[a](t[e],n)&&(o.push({element:h,datasetIndex:u,index:p}),l=l||h.inRange(t.x,t.y,n))}),i&&!l?[]:o}var Kn={evaluateInteractionItems:Ie,modes:{index(s,t,e,i){const n=(0,d.z)(t,s),o=e.axis||"x",a=e.includeInvisible||!1,l=e.intersect?Oe(s,n,o,i,a):xe(s,n,o,!1,i,a),h=[];return l.length?(s.getSortedVisibleDatasetMetas().forEach(u=>{const p=l[0].index,b=u.data[p];b&&!b.skip&&h.push({element:b,datasetIndex:u.index,index:p})}),h):[]},dataset(s,t,e,i){const n=(0,d.z)(t,s),o=e.axis||"xy",a=e.includeInvisible||!1;let l=e.intersect?Oe(s,n,o,i,a):xe(s,n,o,!1,i,a);if(l.length>0){const h=l[0].datasetIndex,u=s.getDatasetMeta(h).data;l=[];for(let p=0;pe.pos===t)}function Yi(s,t){return s.filter(e=>Gn.indexOf(e.pos)===-1&&e.box.axis===t)}function ze(s,t){return s.sort((e,i)=>{const n=t?i:e,o=t?e:i;return n.weight===o.weight?n.index-o.index:n.weight-o.weight})}function xi(s){const t=[];let e,i,n,o,a,l;for(e=0,i=(s||[]).length;eu.box.fullSize),!0),i=ze(Ce(t,"left"),!0),n=ze(Ce(t,"right")),o=ze(Ce(t,"top"),!0),a=ze(Ce(t,"bottom")),l=Yi(t,"x"),h=Yi(t,"y");return{fullSize:e,leftAndTop:i.concat(o),rightAndBottom:n.concat(h).concat(a).concat(l),chartArea:Ce(t,"chartArea"),vertical:i.concat(n).concat(h),horizontal:o.concat(a).concat(l)}}function $i(s,t,e,i){return Math.max(s[e],t[e])+Math.max(s[i],t[i])}function Ui(s,t){s.top=Math.max(s.top,t.top),s.left=Math.max(s.left,t.left),s.bottom=Math.max(s.bottom,t.bottom),s.right=Math.max(s.right,t.right)}function kt(s,t,e,i){const{pos:n,box:o}=e,a=s.maxPadding;if(!(0,d.i)(n)){e.size&&(s[n]-=e.size);const b=i[e.stack]||{size:0,count:1};b.size=Math.max(b.size,e.horizontal?o.height:o.width),e.size=b.size/b.count,s[n]+=e.size}o.getPadding&&Ui(a,o.getPadding());const l=Math.max(0,t.outerWidth-$i(a,s,"left","right")),h=Math.max(0,t.outerHeight-$i(a,s,"top","bottom")),u=l!==s.w,p=h!==s.h;return s.w=l,s.h=h,e.horizontal?{same:u,other:p}:{same:p,other:u}}function Jt(s){const t=s.maxPadding;function e(i){const n=Math.max(t[i]-s[i],0);return s[i]+=n,n}s.y+=e("top"),s.x+=e("left"),e("right"),e("bottom")}function qn(s,t){const e=t.maxPadding;function i(n){const o={left:0,top:0,right:0,bottom:0};return n.forEach(a=>{o[a]=Math.max(t[a],e[a])}),o}return i(s?["left","right"]:["top","bottom"])}function de(s,t,e,i){const n=[];let o,a,l,h,u,p;for(o=0,a=s.length,u=0;o{typeof S.beforeLayout=="function"&&S.beforeLayout()});const p=h.reduce((S,D)=>D.box.options&&D.box.options.display===!1?S:S+1,0)||1,b=Object.freeze({outerWidth:t,outerHeight:e,padding:n,availableWidth:o,availableHeight:a,vBoxMaxWidth:o/2/p,hBoxMaxHeight:a/2}),_=Object.assign({},n);Ui(_,(0,d.E)(i));const y=Object.assign({maxPadding:_,w:o,h:a,x:n.left,y:n.top},n),M=Qn(h.concat(u),b);de(l.fullSize,y,b,M),de(h,y,b,M),de(u,y,b,M)&&de(h,y,b,M),Jt(y),te(l.leftAndTop,y,b,M),y.x+=y.w,y.y+=y.h,te(l.rightAndBottom,y,b,M),s.chartArea={left:y.left,top:y.top,right:y.left+y.w,bottom:y.top+y.h,height:y.h,width:y.w},(0,d.F)(l.chartArea,S=>{const D=S.box;Object.assign(D,s.chartArea),D.update(y.w,y.h,{left:0,top:0,right:0,bottom:0})})}};class vi{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,n){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,n?Math.floor(e/n):i)}}isAttached(t){return!0}updateConfig(t){}}class Qe extends vi{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const Ae="$chartjs",Mi={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Xi=s=>s===null||s==="";function Zn(s,t){const e=s.style,i=s.getAttribute("height"),n=s.getAttribute("width");if(s[Ae]={initial:{height:i,width:n,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",Xi(n)){const o=(0,d.J)(s,"width");o!==void 0&&(s.width=o)}if(Xi(i))if(s.style.height==="")s.height=s.width/(t||2);else{const o=(0,d.J)(s,"height");o!==void 0&&(s.height=o)}return s}const Ki=d.K?{passive:!0}:!1;function Jn(s,t,e){s&&s.addEventListener(t,e,Ki)}function ts(s,t,e){s&&s.canvas&&s.canvas.removeEventListener(t,e,Ki)}function es(s,t){const e=Mi[s.type]||s.type,{x:i,y:n}=(0,d.z)(s,t);return{type:e,chart:t,native:s,x:i!==void 0?i:null,y:n!==void 0?n:null}}function qe(s,t){for(const e of s)if(e===t||e.contains(t))return!0}function is(s,t,e){const i=s.canvas,n=new MutationObserver(o=>{let a=!1;for(const l of o)a=a||qe(l.addedNodes,i),a=a&&!qe(l.removedNodes,i);a&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}function ns(s,t,e){const i=s.canvas,n=new MutationObserver(o=>{let a=!1;for(const l of o)a=a||qe(l.removedNodes,i),a=a&&!qe(l.addedNodes,i);a&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}const ye=new Map;let Gi=0;function se(){const s=window.devicePixelRatio;s!==Gi&&(Gi=s,ye.forEach((t,e)=>{e.currentDevicePixelRatio!==s&&t()}))}function Qi(s,t){ye.size||window.addEventListener("resize",se),ye.set(s,t)}function Ze(s){ye.delete(s),ye.size||window.removeEventListener("resize",se)}function ss(s,t,e){const i=s.canvas,n=i&&(0,d.I)(i);if(!n)return;const o=(0,d.L)((l,h)=>{const u=n.clientWidth;e(l,h),u{const h=l[0],u=h.contentRect.width,p=h.contentRect.height;u===0&&p===0||o(u,p)});return a.observe(n),Qi(s,o),a}function Je(s,t,e){e&&e.disconnect(),t==="resize"&&Ze(s)}function ki(s,t,e){const i=s.canvas,n=(0,d.L)(o=>{s.ctx!==null&&e(es(o,s))},s);return Jn(i,t,n),n}class We extends vi{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(Zn(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e[Ae])return!1;const i=e[Ae].initial;["height","width"].forEach(o=>{const a=i[o];(0,d.k)(a)?e.removeAttribute(o):e.setAttribute(o,a)});const n=i.style||{};return Object.keys(n).forEach(o=>{e.style[o]=n[o]}),e.width=e.width,delete e[Ae],!0}addEventListener(t,e,i){this.removeEventListener(t,e);const n=t.$proxies||(t.$proxies={}),a={attach:is,detach:ns,resize:ss}[e]||ki;n[e]=a(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),n=i[e];if(!n)return;({attach:Je,detach:Je,resize:Je}[e]||ts)(t,e,n),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,n){return(0,d.G)(t,e,i,n)}isAttached(t){const e=(0,d.I)(t);return!!(e&&e.isConnected)}}function os(s){return!(0,d.M)()||typeof OffscreenCanvas<"u"&&s instanceof OffscreenCanvas?Qe:We}class ee{constructor(){R(this,"x");R(this,"y");R(this,"active",!1);R(this,"options");R(this,"$animations")}tooltipPosition(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}hasValue(){return(0,d.x)(this.x)&&(0,d.x)(this.y)}getProps(t,e){const i=this.$animations;if(!e||!i)return this;const n={};return t.forEach(o=>{n[o]=i[o]&&i[o].active()?i[o]._to:this[o]}),n}}R(ee,"defaults",{}),R(ee,"defaultRoutes");function qi(s,t){const e=s.options.ticks,i=rs(s),n=Math.min(e.maxTicksLimit||i,i),o=e.major.enabled?ls(t):[],a=o.length,l=o[0],h=o[a-1],u=[];if(a>n)return lo(t,u,o,a/n),u;const p=as(o,t,n);if(a>0){let b,_;const y=a>1?Math.round((h-l)/(a-1)):null;for(je(t,u,p,(0,d.k)(y)?0:l-y,l),b=0,_=a-1;b<_;b++)je(t,u,p,o[b],o[b+1]);return je(t,u,p,h,(0,d.k)(y)?t.length:h+y),u}return je(t,u,p),u}function rs(s){const t=s.options.offset,e=s._tickSize(),i=s._length/e+(t?0:1),n=s._maxLength/e;return Math.floor(Math.min(i,n))}function as(s,t,e){const i=cs(s),n=t.length/e;if(!i)return Math.max(n,1);const o=(0,d.N)(i);for(let a=0,l=o.length-1;an)return h}return Math.max(n,1)}function ls(s){const t=[];let e,i;for(e=0,i=s.length;es==="left"?"right":s==="right"?"left":s,Zi=(s,t,e)=>t==="top"||t==="left"?s[t]+e:s[t]-e,Ji=(s,t)=>Math.min(t||s,s);function tn(s,t){const e=[],i=s.length/t,n=s.length;let o=0;for(;oa+l)))return h}function us(s,t){(0,d.F)(s,e=>{const i=e.gc,n=i.length/2;let o;if(n>t){for(o=0;oi?i:e,i=n&&e>i?e:i,{min:(0,d.O)(e,(0,d.O)(i,e)),max:(0,d.O)(i,(0,d.O)(e,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){(0,d.Q)(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:n,grace:o,ticks:a}=this.options,l=a.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=(0,d.R)(this,o,n),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const h=l=o||i<=1||!this.isHorizontal()){this.labelRotation=n;return}const p=this._getLabelSizes(),b=p.widest.width,_=p.highest.height,y=(0,d.S)(this.chart.width-b,0,this.maxWidth);l=t.offset?this.maxWidth/i:y/(i-1),b+6>l&&(l=y/(i-(t.offset?.5:1)),h=this.maxHeight-ue(t.grid)-e.padding-wi(t.title,this.chart.options.font),u=Math.sqrt(b*b+_*_),a=(0,d.U)(Math.min(Math.asin((0,d.S)((p.highest.height+6)/l,-1,1)),Math.asin((0,d.S)(h/u,-1,1))-Math.asin((0,d.S)(_/u,-1,1)))),a=Math.max(n,Math.min(o,a))),this.labelRotation=a}afterCalculateLabelRotation(){(0,d.Q)(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){(0,d.Q)(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:n,grid:o}}=this,a=this._isVisible(),l=this.isHorizontal();if(a){const h=wi(n,e.options.font);if(l?(t.width=this.maxWidth,t.height=ue(o)+h):(t.height=this.maxHeight,t.width=ue(o)+h),i.display&&this.ticks.length){const{first:u,last:p,widest:b,highest:_}=this._getLabelSizes(),y=i.padding*2,M=(0,d.t)(this.labelRotation),S=Math.cos(M),D=Math.sin(M);if(l){const P=i.mirror?0:D*b.width+S*_.height;t.height=Math.min(this.maxHeight,t.height+P+y)}else{const P=i.mirror?0:S*b.width+D*_.height;t.width=Math.min(this.maxWidth,t.width+P+y)}this._calculatePadding(u,p,D,S)}}this._handleMargins(),l?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,n){const{ticks:{align:o,padding:a},position:l}=this.options,h=this.labelRotation!==0,u=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const p=this.getPixelForTick(0)-this.left,b=this.right-this.getPixelForTick(this.ticks.length-1);let _=0,y=0;h?u?(_=n*t.width,y=i*e.height):(_=i*t.height,y=n*e.width):o==="start"?y=e.width:o==="end"?_=t.width:o!=="inner"&&(_=t.width/2,y=e.width/2),this.paddingLeft=Math.max((_-p+a)*this.width/(this.width-p),0),this.paddingRight=Math.max((y-b+a)*this.width/(this.width-b),0)}else{let p=e.height/2,b=t.height/2;o==="start"?(p=0,b=t.height):o==="end"&&(p=e.height,b=0),this.paddingTop=p+a,this.paddingBottom=b+a}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){(0,d.Q)(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return e==="top"||e==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let e,i;for(e=0,i=t.length;e({width:a[$]||0,height:l[$]||0});return{first:B(0),last:B(e-1),widest:B(F),highest:B(I),widths:a,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return(0,d.W)(this._alignToPixels?(0,d.X)(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&tl*n?l/i:h/n:h*n0}_computeGridLineItems(t){const e=this.axis,i=this.chart,n=this.options,{grid:o,position:a,border:l}=n,h=o.offset,u=this.isHorizontal(),b=this.ticks.length+(h?1:0),_=ue(o),y=[],M=l.setContext(this.getContext()),S=M.display?M.width:0,D=S/2,P=function(mt){return(0,d.X)(i,mt,S)};let O,E,L,A,F,I,B,$,Z,J,it,Ct;if(a==="top")O=P(this.bottom),I=this.bottom-_,$=O-D,J=P(t.top)+D,Ct=t.bottom;else if(a==="bottom")O=P(this.top),J=t.top,Ct=P(t.bottom)-D,I=O+D,$=this.top+_;else if(a==="left")O=P(this.right),F=this.right-_,B=O-D,Z=P(t.left)+D,it=t.right;else if(a==="right")O=P(this.left),Z=t.left,it=P(t.right)-D,F=O+D,B=this.left+_;else if(e==="x"){if(a==="center")O=P((t.top+t.bottom)/2+.5);else if((0,d.i)(a)){const mt=Object.keys(a)[0],_t=a[mt];O=P(this.chart.scales[mt].getPixelForValue(_t))}J=t.top,Ct=t.bottom,I=O+D,$=I+_}else if(e==="y"){if(a==="center")O=P((t.left+t.right)/2);else if((0,d.i)(a)){const mt=Object.keys(a)[0],_t=a[mt];O=P(this.chart.scales[mt].getPixelForValue(_t))}F=O-D,B=F-_,Z=t.left,it=t.right}const ie=(0,d.v)(n.ticks.maxTicksLimit,b),dt=Math.max(1,Math.ceil(b/ie));for(E=0;E0&&(Ke-=Xe/2);break}Nn={left:Ke,top:Hi,width:Xe+pi.width,height:Vi+pi.height,color:dt.backdropColor}}D.push({label:L,font:$,textOffset:it,options:{rotation:S,color:_t,strokeColor:ce,strokeWidth:zt,textAlign:gi,textBaseline:Ct,translation:[A,F],backdrop:Nn}})}return D}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-(0,d.t)(this.labelRotation))return t==="top"?"left":"right";let n="center";return e.align==="start"?n="left":e.align==="end"?n="right":e.align==="inner"&&(n="inner"),n}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:i,mirror:n,padding:o}}=this.options,a=this._getLabelSizes(),l=t+o,h=a.widest.width;let u,p;return e==="left"?n?(p=this.right+o,i==="near"?u="left":i==="center"?(u="center",p+=h/2):(u="right",p+=h)):(p=this.right-l,i==="near"?u="right":i==="center"?(u="center",p-=h/2):(u="left",p=this.left)):e==="right"?n?(p=this.left+o,i==="near"?u="right":i==="center"?(u="center",p-=h/2):(u="left",p-=h)):(p=this.left+l,i==="near"?u="left":i==="center"?(u="center",p+=h/2):(u="right",p=this.right)):u="right",{textAlign:u,x:p}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;if(e==="left"||e==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(e==="top"||e==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:i,top:n,width:o,height:a}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,n,o,a),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const n=this.ticks.findIndex(o=>o.value===t);return n>=0?e.setContext(this.getContext(n)).lineWidth:0}drawGrid(t){const e=this.options.grid,i=this.ctx,n=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let o,a;const l=(h,u,p)=>{!p.width||!p.color||(i.save(),i.lineWidth=p.width,i.strokeStyle=p.color,i.setLineDash(p.borderDash||[]),i.lineDashOffset=p.borderDashOffset,i.beginPath(),i.moveTo(h.x,h.y),i.lineTo(u.x,u.y),i.stroke(),i.restore())};if(e.display)for(o=0,a=n.length;o{this.draw(o)}}]:[{z:i,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:n,draw:()=>{this.drawBorder()}},{z:e,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",n=[];let o,a;for(o=0,a=e.length;o{const i=e.split("."),n=i.pop(),o=[s].concat(i).join("."),a=t[e].split("."),l=a.pop(),h=a.join(".");d.d.route(o,n,h,l)})}function ms(s){return"id"in s&&"defaults"in s}class nn{constructor(){this.controllers=new ei(st,"datasets",!0),this.elements=new ei(ee,"elements"),this.plugins=new ei(Object,"plugins"),this.scales=new ei(ae,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach(n=>{const o=i||this._getRegistryForType(n);i||o.isForType(n)||o===this.plugins&&n.id?this._exec(t,o,n):(0,d.F)(n,a=>{const l=i||this._getRegistryForType(a);this._exec(t,l,a)})})}_exec(t,e,i){const n=(0,d.a5)(t);(0,d.Q)(i["before"+n],[],i),e[t](i),(0,d.Q)(i["after"+n],[],i)}_getRegistryForType(t){for(let e=0;eo.filter(l=>!a.some(h=>l.plugin.id===h.plugin.id));this._notify(n(e,i),t,"stop"),this._notify(n(i,e),t,"start")}}function on(s){const t={},e=[],i=Object.keys(oe.plugins.items);for(let o=0;o1&&ni(s[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${s}' axis. Please provide 'axis' or 'position' option.`)}function ln(s,t,e){if(e[t+"AxisID"]===s)return{axis:t}}function Pi(s,t){if(t.data&&t.data.datasets){const e=t.data.datasets.filter(i=>i.xAxisID===s||i.yAxisID===s);if(e.length)return ln(s,"x",e[0])||ln(s,"y",e[0])}return{}}function ys(s,t){const e=d.a3[s.type]||{scales:{}},i=t.scales||{},n=ii(s.type,t),o=Object.create(null);return Object.keys(i).forEach(a=>{const l=i[a];if(!(0,d.i)(l))return console.error(`Invalid scale configuration for scale: ${a}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${a}`);const h=si(a,l,Pi(a,s),d.d.scales[l.type]),u=Ve(h,n),p=e.scales||{};o[a]=(0,d.ab)(Object.create(null),[{axis:h},l,p[h],p[u]])}),s.data.datasets.forEach(a=>{const l=a.type||s.type,h=a.indexAxis||ii(l,t),p=(d.a3[l]||{}).scales||{};Object.keys(p).forEach(b=>{const _=an(b,h),y=a[_+"AxisID"]||_;o[y]=o[y]||Object.create(null),(0,d.ab)(o[y],[{axis:_},i[y],p[b]])})}),Object.keys(o).forEach(a=>{const l=o[a];(0,d.ab)(l,[d.d.scales[l.type],d.d.scale])}),o}function cn(s){const t=s.options||(s.options={});t.plugins=(0,d.v)(t.plugins,{}),t.scales=ys(s,t)}function hn(s){return s=s||{},s.datasets=s.datasets||[],s.labels=s.labels||[],s}function vs(s){return s=s||{},s.data=hn(s.data),cn(s),s}const Di=new Map,oi=new Set;function ri(s,t){let e=Di.get(s);return e||(e=t(),Di.set(s,e),oi.add(e)),e}const He=(s,t,e)=>{const i=(0,d.f)(t,e);i!==void 0&&s.add(i)};class Ms{constructor(t){this._config=vs(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=hn(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),cn(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return ri(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,e){return ri(`${t}.transition.${e}`,()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,e){return ri(`${t}-${e}`,()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]])}pluginScopeKeys(t){const e=t.id,i=this.type;return ri(`${i}-plugin-${e}`,()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,e){const i=this._scopeCache;let n=i.get(t);return(!n||e)&&(n=new Map,i.set(t,n)),n}getOptionScopes(t,e,i){const{options:n,type:o}=this,a=this._cachedScopes(t,i),l=a.get(e);if(l)return l;const h=new Set;e.forEach(p=>{t&&(h.add(t),p.forEach(b=>He(h,t,b))),p.forEach(b=>He(h,n,b)),p.forEach(b=>He(h,d.a3[o]||{},b)),p.forEach(b=>He(h,d.d,b)),p.forEach(b=>He(h,d.a6,b))});const u=Array.from(h);return u.length===0&&u.push(Object.create(null)),oi.has(e)&&a.set(e,u),u}chartOptionScopes(){const{options:t,type:e}=this;return[t,d.a3[e]||{},d.d.datasets[e]||{},{type:e},d.d,d.a6]}resolveNamedOptions(t,e,i,n=[""]){const o={$shared:!0},{resolver:a,subPrefixes:l}=dn(this._resolverCache,t,n);let h=a;if(ws(a,e)){o.$shared=!1,i=(0,d.a7)(i)?i():i;const u=this.createResolver(t,i,l);h=(0,d.a8)(a,i,u)}for(const u of e)o[u]=h[u];return o}createResolver(t,e,i=[""],n){const{resolver:o}=dn(this._resolverCache,t,i);return(0,d.i)(e)?(0,d.a8)(o,e,void 0,n):o}}function dn(s,t,e){let i=s.get(t);i||(i=new Map,s.set(t,i));const n=e.join();let o=i.get(n);return o||(o={resolver:(0,d.a9)(t,e),subPrefixes:e.filter(l=>!l.toLowerCase().includes("hover"))},i.set(n,o)),o}const ks=s=>(0,d.i)(s)&&Object.getOwnPropertyNames(s).some(t=>(0,d.a7)(s[t]));function ws(s,t){const{isScriptable:e,isIndexable:i}=(0,d.aa)(s);for(const n of t){const o=e(n),a=i(n),l=(a||o)&&s[n];if(o&&((0,d.a7)(l)||ks(l))||a&&(0,d.b)(l))return!0}return!1}var Ss="4.4.2";const Ps=["top","bottom","left","right","chartArea"];function un(s,t){return s==="top"||s==="bottom"||Ps.indexOf(s)===-1&&t==="x"}function fn(s,t){return function(e,i){return e[s]===i[s]?e[t]-i[t]:e[s]-i[s]}}function gn(s){const t=s.chart,e=t.options.animation;t.notifyPlugins("afterRender"),(0,d.Q)(e&&e.onComplete,[s],t)}function Ds(s){const t=s.chart,e=t.options.animation;(0,d.Q)(e&&e.onProgress,[s],t)}function pn(s){return(0,d.M)()&&typeof s=="string"?s=document.getElementById(s):s&&s.length&&(s=s[0]),s&&s.canvas&&(s=s.canvas),s}const Te={},Oi=s=>{const t=pn(s);return Object.values(Te).filter(e=>e.canvas===t).pop()};function Os(s,t,e){const i=Object.keys(s);for(const n of i){const o=+n;if(o>=t){const a=s[n];delete s[n],(e>0||o>t)&&(s[o+e]=a)}}}function Cs(s,t,e,i){return!e||s.type==="mouseout"?null:i?t:s}function ai(s,t,e){return s.options.clip?s[e]:t[e]}function As(s,t){const{xScale:e,yScale:i}=s;return e&&i?{left:ai(e,t,"left"),right:ai(e,t,"right"),top:ai(i,t,"top"),bottom:ai(i,t,"bottom")}:t}class fe{static register(...t){oe.add(...t),Ci()}static unregister(...t){oe.remove(...t),Ci()}constructor(t,e){const i=this.config=new Ms(e),n=pn(t),o=Oi(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const a=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||os(n)),this.platform.updateConfig(i);const l=this.platform.acquireContext(n,a.aspectRatio),h=l&&l.canvas,u=h&&h.height,p=h&&h.width;if(this.id=(0,d.ac)(),this.ctx=l,this.canvas=h,this.width=p,this.height=u,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new sn,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=(0,d.ad)(b=>this.update(b),a.resizeDelay||0),this._dataChanges=[],Te[this.id]=this,!l||!h){console.error("Failed to create chart: can't acquire context from the given item");return}X.listen(this,"complete",gn),X.listen(this,"progress",Ds),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:n,_aspectRatio:o}=this;return(0,d.k)(t)?e&&o?o:n?i/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return oe}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():(0,d.ae)(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return(0,d.af)(this.canvas,this.ctx),this}stop(){return X.stop(this),this}resize(t,e){X.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,n=this.canvas,o=i.maintainAspectRatio&&this.aspectRatio,a=this.platform.getMaximumSize(n,t,e,o),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),h=this.width?"resize":"attach";this.width=a.width,this.height=a.height,this._aspectRatio=this.aspectRatio,(0,d.ae)(this,l,!0)&&(this.notifyPlugins("resize",{size:a}),(0,d.Q)(i.onResize,[this,a],this),this.attached&&this._doResize(h)&&this.render())}ensureScalesHaveIDs(){const e=this.options.scales||{};(0,d.F)(e,(i,n)=>{i.id=n})}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,n=Object.keys(i).reduce((a,l)=>(a[l]=!1,a),{});let o=[];e&&(o=o.concat(Object.keys(e).map(a=>{const l=e[a],h=si(a,l),u=h==="r",p=h==="x";return{options:l,dposition:u?"chartArea":p?"bottom":"left",dtype:u?"radialLinear":p?"category":"linear"}}))),(0,d.F)(o,a=>{const l=a.options,h=l.id,u=si(h,l),p=(0,d.v)(l.type,a.dtype);(l.position===void 0||un(l.position,u)!==un(a.dposition))&&(l.position=a.dposition),n[h]=!0;let b=null;if(h in i&&i[h].type===p)b=i[h];else{const _=oe.getScale(p);b=new _({id:h,type:p,ctx:this.ctx,chart:this}),i[b.id]=b}b.init(l,t)}),(0,d.F)(n,(a,l)=>{a||delete i[l]}),(0,d.F)(i,a=>{gt.configure(this,a,a.options),gt.addBox(this,a)})}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort((n,o)=>n.index-o.index),i>e){for(let n=e;ne.length&&delete this._stacks,t.forEach((i,n)=>{e.filter(o=>o===i._dataset).length===0&&this._destroyDatasetMeta(n)})}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,n;for(this._removeUnreferencedMetasets(),i=0,n=e.length;i{this.getDatasetMeta(e).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),n=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let a=0;for(let u=0,p=this.data.datasets.length;u{u.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(fn("z","_idx"));const{_active:l,_lastEvent:h}=this;h?this._eventHandler(h,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){(0,d.F)(this.scales,t=>{gt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!(0,d.ag)(e,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:n,count:o}of e){const a=i==="_removeElements"?-o:o;Os(t,n,a)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=o=>new Set(t.filter(a=>a[0]===o).map((a,l)=>l+","+a.splice(1).join(","))),n=i(0);for(let o=1;oo.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;gt.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],(0,d.F)(this.boxes,n=>{i&&n.position==="chartArea"||(n.configure&&n.configure(),this._layers.push(...n._layers()))},this),this._layers.forEach((n,o)=>{n._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let e=0,i=this.data.datasets.length;e=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i=t._clip,n=!i.disabled,o=As(t,this.chartArea),a={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",a)!==!1&&(n&&(0,d.Y)(e,{left:i.left===!1?0:o.left-i.left,right:i.right===!1?this.width:o.right+i.right,top:i.top===!1?0:o.top-i.top,bottom:i.bottom===!1?this.height:o.bottom+i.bottom}),t.controller.draw(),n&&(0,d.$)(e),a.cancelable=!1,this.notifyPlugins("afterDatasetDraw",a))}isPointInArea(t){return(0,d.C)(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,n){const o=Kn.modes[e];return typeof o=="function"?o(this,t,i,n):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let n=i.filter(o=>o&&o._dataset===e).pop();return n||(n={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(n)),n}getContext(){return this.$context||(this.$context=(0,d.j)(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!e.hidden}setDatasetVisibility(t,e){const i=this.getDatasetMeta(t);i.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const n=i?"show":"hide",o=this.getDatasetMeta(t),a=o.controller._resolveAnimations(void 0,n);(0,d.h)(e)?(o.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),a.update(o,{visible:i}),this.update(l=>l.datasetIndex===t?n:void 0))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),X.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,o,a),t[o]=a},n=(o,a,l)=>{o.offsetX=a,o.offsetY=l,this._eventHandler(o)};(0,d.F)(this.options.events,o=>i(o,n))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(h,u)=>{e.addEventListener(this,h,u),t[h]=u},n=(h,u)=>{t[h]&&(e.removeEventListener(this,h,u),delete t[h])},o=(h,u)=>{this.canvas&&this.resize(h,u)};let a;const l=()=>{n("attach",l),this.attached=!0,this.resize(),i("resize",o),i("detach",a)};a=()=>{this.attached=!1,n("resize",o),this._stop(),this._resize(0,0),i("attach",l)},e.isAttached(this.canvas)?l():a()}unbindEvents(){(0,d.F)(this._listeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._listeners={},(0,d.F)(this._responsiveListeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const n=i?"set":"remove";let o,a,l,h;for(e==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+n+"DatasetHoverStyle"]()),l=0,h=t.length;l{const l=this.getDatasetMeta(o);if(!l)throw new Error("No dataset found at index "+o);return{datasetIndex:o,element:l.data[a],index:a}});!(0,d.ah)(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}isPluginEnabled(t){return this._plugins._cache.filter(e=>e.plugin.id===t).length===1}_updateHoverStyles(t,e,i){const n=this.options.hover,o=(h,u)=>h.filter(p=>!u.some(b=>p.datasetIndex===b.datasetIndex&&p.index===b.index)),a=o(e,t),l=i?t:o(t,e);a.length&&this.updateHoverStyle(a,n.mode,!1),l.length&&n.mode&&this.updateHoverStyle(l,n.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},n=a=>(a.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,n)===!1)return;const o=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,n),(o||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:n=[],options:o}=this,a=e,l=this._getActiveElements(t,n,i,a),h=(0,d.ai)(t),u=Cs(t,this._lastEvent,i,h);i&&(this._lastEvent=null,(0,d.Q)(o.onHover,[t,l,this],this),h&&(0,d.Q)(o.onClick,[t,l,this],this));const p=!(0,d.ah)(l,n);return(p||e)&&(this._active=l,this._updateHoverStyles(l,n,e)),this._lastEvent=u,p}_getActiveElements(t,e,i,n){if(t.type==="mouseout")return[];if(!i)return e;const o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,n)}}R(fe,"defaults",d.d),R(fe,"instances",Te),R(fe,"overrides",d.a3),R(fe,"registry",oe),R(fe,"version",Ss),R(fe,"getChart",Oi);function Ci(){return(0,d.F)(fe.instances,s=>s._plugins.invalidate())}function Ai(s,t,e){const{startAngle:i,pixelMargin:n,x:o,y:a,outerRadius:l,innerRadius:h}=t;let u=n/l;s.beginPath(),s.arc(o,a,l,i-u,e+u),h>n?(u=n/h,s.arc(o,a,h,e+u,i-u,!0)):s.arc(o,a,n,e+d.H,i-d.H),s.closePath(),s.clip()}function Ne(s){return(0,d.ak)(s,["outerStart","outerEnd","innerStart","innerEnd"])}function mn(s,t,e,i){const n=Ne(s.options.borderRadius),o=(e-t)/2,a=Math.min(o,i*t/2),l=h=>{const u=(e-Math.min(o,h))*i/2;return(0,d.S)(h,0,Math.min(o,u))};return{outerStart:l(n.outerStart),outerEnd:l(n.outerEnd),innerStart:(0,d.S)(n.innerStart,0,a),innerEnd:(0,d.S)(n.innerEnd,0,a)}}function Le(s,t,e,i){return{x:e+s*Math.cos(t),y:i+s*Math.sin(t)}}function Ee(s,t,e,i,n,o){const{x:a,y:l,startAngle:h,pixelMargin:u,innerRadius:p}=t,b=Math.max(t.outerRadius+i+e-u,0),_=p>0?p+i+e+u:0;let y=0;const M=n-h;if(i){const dt=p>0?p-i:0,mt=b>0?b-i:0,_t=(dt+mt)/2,ce=_t!==0?M*_t/(_t+i):M;y=(M-ce)/2}const S=Math.max(.001,M*b-e/d.P)/b,D=(M-S)/2,P=h+D+y,O=n-D-y,{outerStart:E,outerEnd:L,innerStart:A,innerEnd:F}=mn(t,_,b,O-P),I=b-E,B=b-L,$=P+E/I,Z=O-L/B,J=_+A,it=_+F,Ct=P+A/J,ie=O-F/it;if(s.beginPath(),o){const dt=($+Z)/2;if(s.arc(a,l,b,$,dt),s.arc(a,l,b,dt,Z),L>0){const zt=Le(B,Z,a,l);s.arc(zt.x,zt.y,L,Z,O+d.H)}const mt=Le(it,O,a,l);if(s.lineTo(mt.x,mt.y),F>0){const zt=Le(it,ie,a,l);s.arc(zt.x,zt.y,F,O+d.H,ie+Math.PI)}const _t=(O-F/_+(P+A/_))/2;if(s.arc(a,l,_,O-F/_,_t,!0),s.arc(a,l,_,_t,P+A/_,!0),A>0){const zt=Le(J,Ct,a,l);s.arc(zt.x,zt.y,A,Ct+Math.PI,P-d.H)}const ce=Le(I,P,a,l);if(s.lineTo(ce.x,ce.y),E>0){const zt=Le(I,$,a,l);s.arc(zt.x,zt.y,E,P-d.H,$)}}else{s.moveTo(a,l);const dt=Math.cos($)*b+a,mt=Math.sin($)*b+l;s.lineTo(dt,mt);const _t=Math.cos(Z)*b+a,ce=Math.sin(Z)*b+l;s.lineTo(_t,ce)}s.closePath()}function bn(s,t,e,i,n){const{fullCircles:o,startAngle:a,circumference:l}=t;let h=t.endAngle;if(o){Ee(s,t,e,i,h,n);for(let u=0;u=d.T||(0,d.p)(a,h,u),D=(0,d.aj)(l,p+y,b+y);return S&&D}getCenterPoint(e){const{x:i,y:n,startAngle:o,endAngle:a,innerRadius:l,outerRadius:h}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],e),{offset:u,spacing:p}=this.options,b=(o+a)/2,_=(l+h+p+u)/2;return{x:i+Math.cos(b)*_,y:n+Math.sin(b)*_}}tooltipPosition(e){return this.getCenterPoint(e)}draw(e){const{options:i,circumference:n}=this,o=(i.offset||0)/4,a=(i.spacing||0)/2,l=i.circular;if(this.pixelMargin=i.borderAlign==="inner"?.33:0,this.fullCircles=n>d.T?Math.floor(n/d.T):0,n===0||this.innerRadius<0||this.outerRadius<0)return;e.save();const h=(this.startAngle+this.endAngle)/2;e.translate(Math.cos(h)*o,Math.sin(h)*o);const u=1-Math.sin(Math.min(d.P,n||0)),p=o*u;e.fillStyle=i.backgroundColor,e.strokeStyle=i.borderColor,bn(e,this,p,a,l),Ts(e,this,p,a,l),e.restore()}}R(Ye,"id","arc"),R(Ye,"defaults",{borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0}),R(Ye,"defaultRoutes",{backgroundColor:"backgroundColor"}),R(Ye,"descriptors",{_scriptable:!0,_indexable:e=>e!=="borderDash"});function _n(s,t,e=t){s.lineCap=(0,d.v)(e.borderCapStyle,t.borderCapStyle),s.setLineDash((0,d.v)(e.borderDash,t.borderDash)),s.lineDashOffset=(0,d.v)(e.borderDashOffset,t.borderDashOffset),s.lineJoin=(0,d.v)(e.borderJoinStyle,t.borderJoinStyle),s.lineWidth=(0,d.v)(e.borderWidth,t.borderWidth),s.strokeStyle=(0,d.v)(e.borderColor,t.borderColor)}function xn(s,t,e){s.lineTo(e.x,e.y)}function Ls(s){return s.stepped?d.ar:s.tension||s.cubicInterpolationMode==="monotone"?d.as:xn}function yn(s,t,e={}){const i=s.length,{start:n=0,end:o=i-1}=e,{start:a,end:l}=t,h=Math.max(n,a),u=Math.min(o,l),p=nl&&o>l;return{count:i,start:h,loop:t.loop,ilen:u(a+(u?l-L:L))%o,E=()=>{S!==D&&(s.lineTo(p,D),s.lineTo(p,S),s.lineTo(p,P))};for(h&&(y=n[O(0)],s.moveTo(y.x,y.y)),_=0;_<=l;++_){if(y=n[O(_)],y.skip)continue;const L=y.x,A=y.y,F=L|0;F===M?(AD&&(D=A),p=(b*p+L)/++b):(E(),s.lineTo(L,A),M=F,b=0,S=D=A),P=A}E()}function Li(s){const t=s.options,e=t.borderDash&&t.borderDash.length;return!s._decimated&&!s._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!e?vn:Ti}function Es(s){return s.stepped?d.ao:s.tension||s.cubicInterpolationMode==="monotone"?d.ap:d.aq}function Mn(s,t,e,i){let n=t._path;n||(n=t._path=new Path2D,t.path(n,e,i)&&n.closePath()),_n(s,t.options),s.stroke(n)}function kn(s,t,e,i){const{segments:n,options:o}=t,a=Li(t);for(const l of n)_n(s,o,l.style),s.beginPath(),a(s,t,l,{start:e,end:e+i-1})&&s.closePath(),s.stroke()}const Rs=typeof Path2D=="function";function Fs(s,t,e,i){Rs&&!t.options.segment?Mn(s,t,e,i):kn(s,t,e,i)}class le extends ee{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||i.cubicInterpolationMode==="monotone")&&!i.stepped&&!this._pointsUpdated){const n=i.spanGaps?this._loop:this._fullLoop;(0,d.al)(this._points,i,t,n,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=(0,d.am)(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,n=t[e],o=this.points,a=(0,d.an)(this,{property:e,start:n,end:n});if(!a.length)return;const l=[],h=Es(i);let u,p;for(u=0,p=a.length;ut!=="borderDash"&&t!=="fill"});function ve(s,t,e,i){const n=s.options,{[e]:o}=s.getProps([e],i);return Math.abs(t-o)s.replace("rgb(","rgba(").replace(")",", 0.5)"));function me(s){return Ri[s%Ri.length]}function Dn(s){return Pn[s%Pn.length]}function Ws(s,t){return s.borderColor=me(t),s.backgroundColor=Dn(t),++t}function js(s,t){return s.backgroundColor=s.data.map(()=>me(t++)),t}function Vs(s,t){return s.backgroundColor=s.data.map(()=>Dn(t++)),t}function di(s){let t=0;return(e,i)=>{const n=s.getDatasetMeta(i).controller;n instanceof Zt?t=js(e,t):n instanceof re?t=Vs(e,t):n&&(t=Ws(e,t))}}function On(s){let t;for(t in s)if(s[t].borderColor||s[t].backgroundColor)return!0;return!1}function Hs(s){return s&&(s.borderColor||s.backgroundColor)}var Ns={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(s,t,e){if(!e.enabled)return;const{data:{datasets:i},options:n}=s.config,{elements:o}=n;if(!e.forceOverride&&(On(i)||Hs(n)||o&&On(o)))return;const a=di(s);i.forEach(a)}};function Ys(s,t,e,i,n){const o=n.samples||i;if(o>=e)return s.slice(t,t+e);const a=[],l=(e-2)/(o-2);let h=0;const u=t+e-1;let p=t,b,_,y,M,S;for(a[h++]=s[p],b=0;by&&(y=M,_=s[O],S=O);a[h++]=_,p=S}return a[h++]=s[u],a}function Me(s,t,e,i){let n=0,o=0,a,l,h,u,p,b,_,y,M,S;const D=[],P=t+e-1,O=s[t].x,L=s[P].x-O;for(a=t;aS&&(S=u,_=a),n=(o*n+l.x)/++o;else{const F=a-1;if(!(0,d.k)(b)&&!(0,d.k)(_)){const I=Math.min(b,_),B=Math.max(b,_);I!==y&&I!==F&&D.push({...s[I],x:n}),B!==y&&B!==F&&D.push({...s[B],x:n})}a>0&&F!==y&&D.push(s[F]),D.push(l),p=A,o=0,M=S=u,b=_=y=a}}return D}function Cn(s){if(s._decimated){const t=s._data;delete s._decimated,delete s._data,Object.defineProperty(s,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function An(s){s.data.datasets.forEach(t=>{Cn(t)})}function $s(s,t){const e=t.length;let i=0,n;const{iScale:o}=s,{min:a,max:l,minDefined:h,maxDefined:u}=o.getUserBounds();return h&&(i=(0,d.S)((0,d.B)(t,o.axis,a).lo,0,e-1)),u?n=(0,d.S)((0,d.B)(t,o.axis,l).hi+1,i,e)-i:n=e-i,{start:i,count:n}}var Us={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(s,t,e)=>{if(!e.enabled){An(s);return}const i=s.width;s.data.datasets.forEach((n,o)=>{const{_data:a,indexAxis:l}=n,h=s.getDatasetMeta(o),u=a||n.data;if((0,d.a)([l,s.options.indexAxis])==="y"||!h.controller.supportsDecimation)return;const p=s.scales[h.xAxisID];if(p.type!=="linear"&&p.type!=="time"||s.options.parsing)return;let{start:b,count:_}=$s(h,u);const y=e.threshold||4*i;if(_<=y){Cn(n);return}(0,d.k)(a)&&(n._data=u,delete n.data,Object.defineProperty(n,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(S){this._data=S}}));let M;switch(e.algorithm){case"lttb":M=Ys(u,b,_,i,e);break;case"min-max":M=Me(u,b,_,i);break;default:throw new Error(`Unsupported decimation algorithm '${e.algorithm}'`)}n._decimated=M})},destroy(s){An(s)}};function Xs(s,t,e){const i=s.segments,n=s.points,o=t.points,a=[];for(const l of i){let{start:h,end:u}=l;u=ui(h,u,n);const p=Fi(e,n[h],n[u],l.loop);if(!t.segments){a.push({source:l,target:p,start:n[h],end:n[u]});continue}const b=(0,d.an)(t,p);for(const _ of b){const y=Fi(e,o[_.start],o[_.end],_.loop),M=(0,d.ax)(l,n,y);for(const S of M)a.push({source:S,target:_,start:{[e]:Ii(p,y,"start",Math.max)},end:{[e]:Ii(p,y,"end",Math.min)}})}}return a}function Fi(s,t,e,i){if(i)return;let n=t[s],o=e[s];return s==="angle"&&(n=(0,d.ay)(n),o=(0,d.ay)(o)),{property:s,start:n,end:o}}function Ks(s,t){const{x:e=null,y:i=null}=s||{},n=t.points,o=[];return t.segments.forEach(({start:a,end:l})=>{l=ui(a,l,n);const h=n[a],u=n[l];i!==null?(o.push({x:h.x,y:i}),o.push({x:u.x,y:i})):e!==null&&(o.push({x:e,y:h.y}),o.push({x:e,y:u.y}))}),o}function ui(s,t,e){for(;t>s;t--){const i=e[t];if(!isNaN(i.x)&&!isNaN(i.y))break}return t}function Ii(s,t,e,i){return s&&t?i(s[e],t[e]):s?s[e]:t?t[e]:0}function Tn(s,t){let e=[],i=!1;return(0,d.b)(s)?(i=!0,e=s):e=Ks(s,t),e.length?new le({points:e,options:{tension:0},_loop:i,_fullLoop:i}):null}function zi(s){return s&&s.fill!==!1}function Gs(s,t,e){let n=s[t].fill;const o=[t];let a;if(!e)return n;for(;n!==!1&&o.indexOf(n)===-1;){if(!(0,d.g)(n))return n;if(a=s[n],!a)return!1;if(a.visible)return n;o.push(n),n=a.fill}return!1}function Qs(s,t,e){const i=Js(s);if((0,d.i)(i))return isNaN(i.value)?!1:i;let n=parseFloat(i);return(0,d.g)(n)&&Math.floor(n)===n?qs(i[0],t,n,e):["origin","start","end","stack","shape"].indexOf(i)>=0&&i}function qs(s,t,e,i){return(s==="-"||s==="+")&&(e=t+e),e===t||e<0||e>=i?!1:e}function Zs(s,t){let e=null;return s==="start"?e=t.bottom:s==="end"?e=t.top:(0,d.i)(s)?e=t.getPixelForValue(s.value):t.getBasePixel&&(e=t.getBasePixel()),e}function Ln(s,t,e){let i;return s==="start"?i=e:s==="end"?i=t.options.reverse?t.min:t.max:(0,d.i)(s)?i=s.value:i=t.getBaseValue(),i}function Js(s){const t=s.options,e=t.fill;let i=(0,d.v)(e&&e.target,e);return i===void 0&&(i=!!t.backgroundColor),i===!1||i===null?!1:i===!0?"origin":i}function En(s){const{scale:t,index:e,line:i}=s,n=[],o=i.segments,a=i.points,l=to(t,e);l.push(Tn({x:null,y:t.bottom},i));for(let h=0;h=0;--a){const l=n[a].$filler;l&&(l.line.updateControlPoints(o,l.axis),i&&l.fill&&w(s.ctx,l,o))}},beforeDatasetsDraw(s,t,e){if(e.drawTime!=="beforeDatasetsDraw")return;const i=s.getSortedVisibleDatasetMetas();for(let n=i.length-1;n>=0;--n){const o=i[n].$filler;zi(o)&&w(s.ctx,o,s.chartArea)}},beforeDatasetDraw(s,t,e){const i=t.meta.$filler;!zi(i)||e.drawTime!=="beforeDatasetDraw"||w(s.ctx,i,s.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const U=(s,t)=>{let{boxHeight:e=t,boxWidth:i=t}=s;return s.usePointStyle&&(e=Math.min(e,t),i=s.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:e,itemHeight:Math.max(t,e)}},V=(s,t)=>s!==null&&t!==null&&s.datasetIndex===t.datasetIndex&&s.index===t.index;class Ot extends ee{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=(0,d.Q)(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter(i=>t.filter(i,this.chart.data))),t.sort&&(e=e.sort((i,n)=>t.sort(i,n,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,n=(0,d.a0)(i.font),o=n.size,a=this._computeTitleHeight(),{boxWidth:l,itemHeight:h}=U(i,o);let u,p;e.font=n.string,this.isHorizontal()?(u=this.maxWidth,p=this._fitRows(a,o,l,h)+10):(p=this.maxHeight,u=this._fitCols(a,n,l,h)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(p,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,n){const{ctx:o,maxWidth:a,options:{labels:{padding:l}}}=this,h=this.legendHitBoxes=[],u=this.lineWidths=[0],p=n+l;let b=t;o.textAlign="left",o.textBaseline="middle";let _=-1,y=-p;return this.legendItems.forEach((M,S)=>{const D=i+e/2+o.measureText(M.text).width;(S===0||u[u.length-1]+D+2*l>a)&&(b+=p,u[u.length-(S>0?0:1)]=0,y+=p,_++),h[S]={left:0,top:y,row:_,width:D,height:n},u[u.length-1]+=D+l}),b}_fitCols(t,e,i,n){const{ctx:o,maxHeight:a,options:{labels:{padding:l}}}=this,h=this.legendHitBoxes=[],u=this.columnSizes=[],p=a-t;let b=l,_=0,y=0,M=0,S=0;return this.legendItems.forEach((D,P)=>{const{itemWidth:O,itemHeight:E}=Fe(i,e,o,D,n);P>0&&y+E+2*l>p&&(b+=_+l,u.push({width:_,height:y}),M+=_+l,S++,_=y=0),h[P]={left:M,top:y,col:S,width:O,height:E},_=Math.max(_,O),y+=E+l}),b+=_,u.push({width:_,height:y}),b}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:n},rtl:o}}=this,a=(0,d.az)(o,this.left,this.width);if(this.isHorizontal()){let l=0,h=(0,d.a2)(i,this.left+n,this.right-this.lineWidths[l]);for(const u of e)l!==u.row&&(l=u.row,h=(0,d.a2)(i,this.left+n,this.right-this.lineWidths[l])),u.top+=this.top+t+n,u.left=a.leftForLtr(a.x(h),u.width),h+=u.width+n}else{let l=0,h=(0,d.a2)(i,this.top+t+n,this.bottom-this.columnSizes[l].height);for(const u of e)u.col!==l&&(l=u.col,h=(0,d.a2)(i,this.top+t+n,this.bottom-this.columnSizes[l].height)),u.top=h,u.left+=this.left+n,u.left=a.leftForLtr(a.x(u.left),u.width),h+=u.height+n}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;(0,d.Y)(t,this),this._draw(),(0,d.$)(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:n}=this,{align:o,labels:a}=t,l=d.d.color,h=(0,d.az)(t.rtl,this.left,this.width),u=(0,d.a0)(a.font),{padding:p}=a,b=u.size,_=b/2;let y;this.drawTitle(),n.textAlign=h.textAlign("left"),n.textBaseline="middle",n.lineWidth=.5,n.font=u.string;const{boxWidth:M,boxHeight:S,itemHeight:D}=U(a,b),P=function(F,I,B){if(isNaN(M)||M<=0||isNaN(S)||S<0)return;n.save();const $=(0,d.v)(B.lineWidth,1);if(n.fillStyle=(0,d.v)(B.fillStyle,l),n.lineCap=(0,d.v)(B.lineCap,"butt"),n.lineDashOffset=(0,d.v)(B.lineDashOffset,0),n.lineJoin=(0,d.v)(B.lineJoin,"miter"),n.lineWidth=$,n.strokeStyle=(0,d.v)(B.strokeStyle,l),n.setLineDash((0,d.v)(B.lineDash,[])),a.usePointStyle){const Z={radius:S*Math.SQRT2/2,pointStyle:B.pointStyle,rotation:B.rotation,borderWidth:$},J=h.xPlus(F,M/2),it=I+_;(0,d.aD)(n,Z,J,it,a.pointStyleWidth&&M)}else{const Z=I+Math.max((b-S)/2,0),J=h.leftForLtr(F,M),it=(0,d.aw)(B.borderRadius);n.beginPath(),Object.values(it).some(Ct=>Ct!==0)?(0,d.au)(n,{x:J,y:Z,w:M,h:S,radius:it}):n.rect(J,Z,M,S),n.fill(),$!==0&&n.stroke()}n.restore()},O=function(F,I,B){(0,d.Z)(n,B.text,F,I+D/2,u,{strikethrough:B.hidden,textAlign:h.textAlign(B.textAlign)})},E=this.isHorizontal(),L=this._computeTitleHeight();E?y={x:(0,d.a2)(o,this.left+p,this.right-i[0]),y:this.top+p+L,line:0}:y={x:this.left+p,y:(0,d.a2)(o,this.top+L+p,this.bottom-e[0].height),line:0},(0,d.aA)(this.ctx,t.textDirection);const A=D+p;this.legendItems.forEach((F,I)=>{n.strokeStyle=F.fontColor,n.fillStyle=F.fontColor;const B=n.measureText(F.text).width,$=h.textAlign(F.textAlign||(F.textAlign=a.textAlign)),Z=M+_+B;let J=y.x,it=y.y;h.setWidth(this.width),E?I>0&&J+Z+p>this.right&&(it=y.y+=A,y.line++,J=y.x=(0,d.a2)(o,this.left+p,this.right-i[y.line])):I>0&&it+A>this.bottom&&(J=y.x=J+e[y.line].width+p,y.line++,it=y.y=(0,d.a2)(o,this.top+L+p,this.bottom-e[y.line].height));const Ct=h.x(J);if(P(Ct,it,F),J=(0,d.aB)($,J+M+_,E?J+Z:this.right,t.rtl),O(h.x(J),it,F),E)y.x+=Z+p;else if(typeof F.text!="string"){const ie=u.lineHeight;y.y+=Rn(F,ie)+p}else y.y+=A}),(0,d.aC)(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=(0,d.a0)(e.font),n=(0,d.E)(e.padding);if(!e.display)return;const o=(0,d.az)(t.rtl,this.left,this.width),a=this.ctx,l=e.position,h=i.size/2,u=n.top+h;let p,b=this.left,_=this.width;if(this.isHorizontal())_=Math.max(...this.lineWidths),p=this.top+u,b=(0,d.a2)(t.align,b,this.right-_);else{const M=this.columnSizes.reduce((S,D)=>Math.max(S,D.height),0);p=u+(0,d.a2)(t.align,this.top,this.bottom-M-t.labels.padding-this._computeTitleHeight())}const y=(0,d.a2)(l,b,b+_);a.textAlign=o.textAlign((0,d.a1)(l)),a.textBaseline="middle",a.strokeStyle=e.color,a.fillStyle=e.color,a.font=i.string,(0,d.Z)(a,e.text,y,p,i)}_computeTitleHeight(){const t=this.options.title,e=(0,d.a0)(t.font),i=(0,d.E)(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,n,o;if((0,d.aj)(t,this.left,this.right)&&(0,d.aj)(e,this.top,this.bottom)){for(o=this.legendHitBoxes,i=0;io.length>a.length?o:a)),t+e.size/2+i.measureText(n).width}function eo(s,t,e){let i=s;return typeof t.text!="string"&&(i=Rn(t,e)),i}function Rn(s,t){const e=s.text?s.text.length:0;return t*e}function io(s,t){return!!((s==="mousemove"||s==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(s==="click"||s==="mouseup"))}var Fn={id:"legend",_element:Ot,start(s,t,e){const i=s.legend=new Ot({ctx:s.ctx,options:e,chart:s});gt.configure(s,i,e),gt.addBox(s,i)},stop(s){gt.removeBox(s,s.legend),delete s.legend},beforeUpdate(s,t,e){const i=s.legend;gt.configure(s,i,e),i.options=e},afterUpdate(s){const t=s.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(s,t){t.replay||s.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(s,t,e){const i=t.datasetIndex,n=e.chart;n.isDatasetVisible(i)?(n.hide(i),t.hidden=!0):(n.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:s=>s.chart.options.color,boxWidth:40,padding:10,generateLabels(s){const t=s.data.datasets,{labels:{usePointStyle:e,pointStyle:i,textAlign:n,color:o,useBorderRadius:a,borderRadius:l}}=s.legend.options;return s._getSortedDatasetMetas().map(h=>{const u=h.controller.getStyle(e?0:void 0),p=(0,d.E)(u.borderWidth);return{text:t[h.index].label,fillStyle:u.backgroundColor,fontColor:o,hidden:!h.visible,lineCap:u.borderCapStyle,lineDash:u.borderDash,lineDashOffset:u.borderDashOffset,lineJoin:u.borderJoinStyle,lineWidth:(p.width+p.height)/4,strokeStyle:u.borderColor,pointStyle:i||u.pointStyle,rotation:u.rotation,textAlign:n||u.textAlign,borderRadius:a&&(l||u.borderRadius),datasetIndex:h.index}},this)}},title:{color:s=>s.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:s=>!s.startsWith("on"),labels:{_scriptable:s=>!["generateLabels","filter","sort"].includes(s)}}};class be extends ee{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=e;const n=(0,d.b)(i.text)?i.text.length:1;this._padding=(0,d.E)(i.padding);const o=n*(0,d.a0)(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:e,left:i,bottom:n,right:o,options:a}=this,l=a.align;let h=0,u,p,b;return this.isHorizontal()?(p=(0,d.a2)(l,i,o),b=e+t,u=o-i):(a.position==="left"?(p=i+t,b=(0,d.a2)(l,n,e),h=d.P*-.5):(p=o-t,b=(0,d.a2)(l,e,n),h=d.P*.5),u=n-e),{titleX:p,titleY:b,maxWidth:u,rotation:h}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=(0,d.a0)(e.font),o=i.lineHeight/2+this._padding.top,{titleX:a,titleY:l,maxWidth:h,rotation:u}=this._drawArgs(o);(0,d.Z)(t,e.text,0,0,i,{color:e.color,maxWidth:h,rotation:u,textAlign:(0,d.a1)(e.align),textBaseline:"middle",translation:[a,l]})}}function In(s,t){const e=new be({ctx:s.ctx,options:t,chart:s});gt.configure(s,e,t),gt.addBox(s,e),s.titleBlock=e}var co={id:"title",_element:be,start(s,t,e){In(s,e)},stop(s){const t=s.titleBlock;gt.removeBox(s,t),delete s.titleBlock},beforeUpdate(s,t,e){const i=s.titleBlock;gt.configure(s,i,e),i.options=e},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const zn=new WeakMap;var Co={id:"subtitle",start(s,t,e){const i=new be({ctx:s.ctx,options:e,chart:s});gt.configure(s,i,e),gt.addBox(s,i),zn.set(s,i)},stop(s){gt.removeBox(s,zn.get(s)),zn.delete(s)},beforeUpdate(s,t,e){const i=zn.get(s);gt.configure(s,i,e),i.options=e},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Bi={average(s){if(!s.length)return!1;let t,e,i=new Set,n=0,o=0;for(t=0,e=s.length;tl+h)/i.size,y:n/o}},nearest(s,t){if(!s.length)return!1;let e=t.x,i=t.y,n=Number.POSITIVE_INFINITY,o,a,l;for(o=0,a=s.length;o-1?s.split(` +`):s}function Ao(s,t){const{element:e,datasetIndex:i,index:n}=t,o=s.getDatasetMeta(i).controller,{label:a,value:l}=o.getLabelAndValue(n);return{chart:s,label:a,parsed:o.getParsed(n),raw:s.data.datasets[i].data[n],formattedValue:l,dataset:o.getDataset(),dataIndex:n,datasetIndex:i,element:e}}function ho(s,t){const e=s.chart.ctx,{body:i,footer:n,title:o}=s,{boxWidth:a,boxHeight:l}=t,h=(0,d.a0)(t.bodyFont),u=(0,d.a0)(t.titleFont),p=(0,d.a0)(t.footerFont),b=o.length,_=n.length,y=i.length,M=(0,d.E)(t.padding);let S=M.height,D=0,P=i.reduce((L,A)=>L+A.before.length+A.lines.length+A.after.length,0);if(P+=s.beforeBody.length+s.afterBody.length,b&&(S+=b*u.lineHeight+(b-1)*t.titleSpacing+t.titleMarginBottom),P){const L=t.displayColors?Math.max(l,h.lineHeight):h.lineHeight;S+=y*L+(P-y)*h.lineHeight+(P-1)*t.bodySpacing}_&&(S+=t.footerMarginTop+_*p.lineHeight+(_-1)*t.footerSpacing);let O=0;const E=function(L){D=Math.max(D,e.measureText(L).width+O)};return e.save(),e.font=u.string,(0,d.F)(s.title,E),e.font=h.string,(0,d.F)(s.beforeBody.concat(s.afterBody),E),O=t.displayColors?a+2+t.boxPadding:0,(0,d.F)(i,L=>{(0,d.F)(L.before,E),(0,d.F)(L.lines,E),(0,d.F)(L.after,E)}),O=0,e.font=p.string,(0,d.F)(s.footer,E),e.restore(),D+=M.width,{width:D,height:S}}function To(s,t){const{y:e,height:i}=t;return es.height-i/2?"bottom":"center"}function Lo(s,t,e,i){const{x:n,width:o}=i,a=e.caretSize+e.caretPadding;if(s==="left"&&n+o+a>t.width||s==="right"&&n-o-a<0)return!0}function Eo(s,t,e,i){const{x:n,width:o}=e,{width:a,chartArea:{left:l,right:h}}=s;let u="center";return i==="center"?u=n<=(l+h)/2?"left":"right":n<=o/2?u="left":n>=a-o/2&&(u="right"),Lo(u,s,t,e)&&(u="center"),u}function uo(s,t,e){const i=e.yAlign||t.yAlign||To(s,e);return{xAlign:e.xAlign||t.xAlign||Eo(s,t,e,i),yAlign:i}}function Ro(s,t){let{x:e,width:i}=s;return t==="right"?e-=i:t==="center"&&(e-=i/2),e}function Fo(s,t,e){let{y:i,height:n}=s;return t==="top"?i+=e:t==="bottom"?i-=n+e:i-=n/2,i}function fo(s,t,e,i){const{caretSize:n,caretPadding:o,cornerRadius:a}=s,{xAlign:l,yAlign:h}=e,u=n+o,{topLeft:p,topRight:b,bottomLeft:_,bottomRight:y}=(0,d.aw)(a);let M=Ro(t,l);const S=Fo(t,h,u);return h==="center"?l==="left"?M+=u:l==="right"&&(M-=u):l==="left"?M-=Math.max(p,_)+n:l==="right"&&(M+=Math.max(b,y)+n),{x:(0,d.S)(M,0,i.width-t.width),y:(0,d.S)(S,0,i.height-t.height)}}function Bn(s,t,e){const i=(0,d.E)(e.padding);return t==="center"?s.x+s.width/2:t==="right"?s.x+s.width-i.right:s.x+i.left}function go(s){return _e([],ke(s))}function Io(s,t,e){return(0,d.j)(s,{tooltip:t,tooltipItems:e,type:"tooltip"})}function po(s,t){const e=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return e?s.override(e):s}const mo={beforeTitle:d.aF,title(s){if(s.length>0){const t=s[0],e=t.chart.data.labels,i=e?e.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex"u"?mo[t].call(e,i):n}class no extends ee{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,i=this.options.setContext(this.getContext()),n=i.enabled&&e.options.animation&&i.animations,o=new at(this.chart,n);return n._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=Io(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,e){const{callbacks:i}=e,n=Ut(i,"beforeTitle",this,t),o=Ut(i,"title",this,t),a=Ut(i,"afterTitle",this,t);let l=[];return l=_e(l,ke(n)),l=_e(l,ke(o)),l=_e(l,ke(a)),l}getBeforeBody(t,e){return go(Ut(e.callbacks,"beforeBody",this,t))}getBody(t,e){const{callbacks:i}=e,n=[];return(0,d.F)(t,o=>{const a={before:[],lines:[],after:[]},l=po(i,o);_e(a.before,ke(Ut(l,"beforeLabel",this,o))),_e(a.lines,Ut(l,"label",this,o)),_e(a.after,ke(Ut(l,"afterLabel",this,o))),n.push(a)}),n}getAfterBody(t,e){return go(Ut(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:i}=e,n=Ut(i,"beforeFooter",this,t),o=Ut(i,"footer",this,t),a=Ut(i,"afterFooter",this,t);let l=[];return l=_e(l,ke(n)),l=_e(l,ke(o)),l=_e(l,ke(a)),l}_createItems(t){const e=this._active,i=this.chart.data,n=[],o=[],a=[];let l=[],h,u;for(h=0,u=e.length;ht.filter(p,b,_,i))),t.itemSort&&(l=l.sort((p,b)=>t.itemSort(p,b,i))),(0,d.F)(l,p=>{const b=po(t.callbacks,p);n.push(Ut(b,"labelColor",this,p)),o.push(Ut(b,"labelPointStyle",this,p)),a.push(Ut(b,"labelTextColor",this,p))}),this.labelColors=n,this.labelPointStyles=o,this.labelTextColors=a,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),n=this._active;let o,a=[];if(!n.length)this.opacity!==0&&(o={opacity:0});else{const l=Bi[i.position].call(this,n,this._eventPosition);a=this._createItems(i),this.title=this.getTitle(a,i),this.beforeBody=this.getBeforeBody(a,i),this.body=this.getBody(a,i),this.afterBody=this.getAfterBody(a,i),this.footer=this.getFooter(a,i);const h=this._size=ho(this,i),u=Object.assign({},l,h),p=uo(this.chart,i,u),b=fo(i,u,p,this.chart);this.xAlign=p.xAlign,this.yAlign=p.yAlign,o={opacity:1,x:b.x,y:b.y,width:h.width,height:h.height,caretX:l.x,caretY:l.y}}this._tooltipItems=a,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,n){const o=this.getCaretPosition(t,i,n);e.lineTo(o.x1,o.y1),e.lineTo(o.x2,o.y2),e.lineTo(o.x3,o.y3)}getCaretPosition(t,e,i){const{xAlign:n,yAlign:o}=this,{caretSize:a,cornerRadius:l}=i,{topLeft:h,topRight:u,bottomLeft:p,bottomRight:b}=(0,d.aw)(l),{x:_,y}=t,{width:M,height:S}=e;let D,P,O,E,L,A;return o==="center"?(L=y+S/2,n==="left"?(D=_,P=D-a,E=L+a,A=L-a):(D=_+M,P=D+a,E=L-a,A=L+a),O=D):(n==="left"?P=_+Math.max(h,p)+a:n==="right"?P=_+M-Math.max(u,b)-a:P=this.caretX,o==="top"?(E=y,L=E-a,D=P-a,O=P+a):(E=y+S,L=E+a,D=P+a,O=P-a),A=E),{x1:D,x2:P,x3:O,y1:E,y2:L,y3:A}}drawTitle(t,e,i){const n=this.title,o=n.length;let a,l,h;if(o){const u=(0,d.az)(i.rtl,this.x,this.width);for(t.x=Bn(this,i.titleAlign,i),e.textAlign=u.textAlign(i.titleAlign),e.textBaseline="middle",a=(0,d.a0)(i.titleFont),l=i.titleSpacing,e.fillStyle=i.titleColor,e.font=a.string,h=0;hO!==0)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,(0,d.au)(t,{x:S,y:M,w:u,h,radius:P}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),(0,d.au)(t,{x:D,y:M+1,w:u-2,h:h-2,radius:P}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(S,M,u,h),t.strokeRect(S,M,u,h),t.fillStyle=a.backgroundColor,t.fillRect(D,M+1,u-2,h-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:n}=this,{bodySpacing:o,bodyAlign:a,displayColors:l,boxHeight:h,boxWidth:u,boxPadding:p}=i,b=(0,d.a0)(i.bodyFont);let _=b.lineHeight,y=0;const M=(0,d.az)(i.rtl,this.x,this.width),S=function(B){e.fillText(B,M.x(t.x+y),t.y+_/2),t.y+=_+o},D=M.textAlign(a);let P,O,E,L,A,F,I;for(e.textAlign=a,e.textBaseline="middle",e.font=b.string,t.x=Bn(this,D,i),e.fillStyle=i.bodyColor,(0,d.F)(this.beforeBody,S),y=l&&D!=="right"?a==="center"?u/2+p:u+2+p:0,L=0,F=n.length;L0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,i=this.$animations,n=i&&i.x,o=i&&i.y;if(n||o){const a=Bi[t.position].call(this,this._active,this._eventPosition);if(!a)return;const l=this._size=ho(this,t),h=Object.assign({},a,this._size),u=uo(e,t,h),p=fo(t,h,u,e);(n._to!==p.x||o._to!==p.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=l.width,this.height=l.height,this.caretX=a.x,this.caretY=a.y,this._resolveAnimations().update(this,p))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const n={width:this.width,height:this.height},o={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const a=(0,d.E)(e.padding),l=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&l&&(t.save(),t.globalAlpha=i,this.drawBackground(o,t,n,e),(0,d.aA)(t,e.textDirection),o.y+=a.top,this.drawTitle(o,t,e),this.drawBody(o,t,e),this.drawFooter(o,t,e),(0,d.aC)(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,n=t.map(({datasetIndex:l,index:h})=>{const u=this.chart.getDatasetMeta(l);if(!u)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:u.data[h],index:h}}),o=!(0,d.ah)(i,n),a=this._positionChanged(n,e);(o||a)&&(this._active=n,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const n=this.options,o=this._active||[],a=this._getActiveElements(t,o,e,i),l=this._positionChanged(a,t),h=e||!(0,d.ah)(a,o)||l;return h&&(this._active=a,(n.enabled||n.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),h}_getActiveElements(t,e,i,n){const o=this.options;if(t.type==="mouseout")return[];if(!n)return e.filter(l=>this.chart.data.datasets[l.datasetIndex]&&this.chart.getDatasetMeta(l.datasetIndex).controller.getParsed(l.index)!==void 0);const a=this.chart.getElementsAtEventForMode(t,o.mode,o,i);return o.reverse&&a.reverse(),a}_positionChanged(t,e){const{caretX:i,caretY:n,options:o}=this,a=Bi[o.position].call(this,t,e);return a!==!1&&(i!==a.x||n!==a.y)}}R(no,"positioners",Bi);var bo={id:"tooltip",_element:no,positioners:Bi,afterInit(s,t,e){e&&(s.tooltip=new no({chart:s,options:e}))},beforeUpdate(s,t,e){s.tooltip&&s.tooltip.initialize(e)},reset(s,t,e){s.tooltip&&s.tooltip.initialize(e)},afterDraw(s){const t=s.tooltip;if(t&&t._willRender()){const e={tooltip:t};if(s.notifyPlugins("beforeTooltipDraw",{...e,cancelable:!0})===!1)return;t.draw(s.ctx),s.notifyPlugins("afterTooltipDraw",e)}},afterEvent(s,t){if(s.tooltip){const e=t.replay;s.tooltip.handleEvent(t.event,e,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(s,t)=>t.bodyFont.size,boxWidth:(s,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:mo},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:s=>s!=="filter"&&s!=="itemSort"&&s!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},zo=Object.freeze({__proto__:null,Colors:Ns,Decimation:Us,Filler:pt,Legend:Fn,SubTitle:Co,Title:co,Tooltip:bo});const Bo=(s,t,e,i)=>(typeof t=="string"?(e=s.push(t)-1,i.unshift({index:e,label:t})):isNaN(t)&&(e=null),e);function Wo(s,t,e,i){const n=s.indexOf(t);if(n===-1)return Bo(s,t,e,i);const o=s.lastIndexOf(t);return n!==o?e:n}const jo=(s,t)=>s===null?null:(0,d.S)(Math.round(s),0,t);function _o(s){const t=this.getLabels();return s>=0&&se.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}R(so,"id","category"),R(so,"defaults",{ticks:{callback:_o}});function Vo(s,t){const e=[],{bounds:n,step:o,min:a,max:l,precision:h,count:u,maxTicks:p,maxDigits:b,includeBounds:_}=s,y=o||1,M=p-1,{min:S,max:D}=t,P=!(0,d.k)(a),O=!(0,d.k)(l),E=!(0,d.k)(u),L=(D-S)/(b+1);let A=(0,d.aH)((D-S)/M/y)*y,F,I,B,$;if(A<1e-14&&!P&&!O)return[{value:S},{value:D}];$=Math.ceil(D/A)-Math.floor(S/A),$>M&&(A=(0,d.aH)($*A/M/y)*y),(0,d.k)(h)||(F=Math.pow(10,h),A=Math.ceil(A*F)/F),n==="ticks"?(I=Math.floor(S/A)*A,B=Math.ceil(D/A)*A):(I=S,B=D),P&&O&&o&&(0,d.aI)((l-a)/o,A/1e3)?($=Math.round(Math.min((l-a)/A,p)),A=(l-a)/$,I=a,B=l):E?(I=P?a:I,B=O?l:B,$=u-1,A=(B-I)/$):($=(B-I)/A,(0,d.aJ)($,Math.round($),A/1e3)?$=Math.round($):$=Math.ceil($));const Z=Math.max((0,d.aK)(A),(0,d.aK)(I));F=Math.pow(10,(0,d.k)(h)?Z:h),I=Math.round(I*F)/F,B=Math.round(B*F)/F;let J=0;for(P&&(_&&I!==a?(e.push({value:a}),Il)break;e.push({value:it})}return O&&_&&B!==l?e.length&&(0,d.aJ)(e[e.length-1].value,l,xo(l,L,s))?e[e.length-1].value=l:e.push({value:l}):(!O||B===l)&&e.push({value:B}),e}function xo(s,t,{horizontal:e,minRotation:i}){const n=(0,d.t)(i),o=(e?Math.sin(n):Math.cos(n))||.001,a=.75*t*(""+s).length;return Math.min(t/o,a)}class Wn extends ae{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return(0,d.k)(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:e,maxDefined:i}=this.getUserBounds();let{min:n,max:o}=this;const a=h=>n=e?n:h,l=h=>o=i?o:h;if(t){const h=(0,d.s)(n),u=(0,d.s)(o);h<0&&u<0?l(0):h>0&&u>0&&a(0)}if(n===o){let h=o===0?1:Math.abs(o*.05);l(o+h),t||a(n-h)}this.min=n,this.max=o}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:e,stepSize:i}=t,n;return i?(n=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e=e||11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const n={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:e.includeBounds!==!1},o=this._range||this,a=Vo(n,o);return t.bounds==="ticks"&&(0,d.aG)(a,this,"value"),t.reverse?(a.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),a}configure(){const t=this.ticks;let e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const n=(i-e)/Math.max(t.length-1,1)/2;e-=n,i+=n}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return(0,d.o)(t,this.chart.options.locale,this.options.ticks.format)}}class jn extends Wn{determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=(0,d.g)(t)?t:0,this.max=(0,d.g)(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,i=(0,d.t)(this.options.ticks.minRotation),n=(t?Math.sin(i):Math.cos(i))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,o.lineHeight/n))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}R(jn,"id","linear"),R(jn,"defaults",{ticks:{callback:d.aL.formatters.numeric}});const Wi=s=>Math.floor((0,d.aM)(s)),Ue=(s,t)=>Math.pow(10,Wi(s)+t);function yo(s){return s/Math.pow(10,Wi(s))===1}function vo(s,t,e){const i=Math.pow(10,e),n=Math.floor(s/i);return Math.ceil(t/i)-n}function Ho(s,t){const e=t-s;let i=Wi(e);for(;vo(s,t,i)>10;)i++;for(;vo(s,t,i)<10;)i--;return Math.min(i,Wi(s))}function No(s,{min:t,max:e}){t=(0,d.O)(s.min,t);const i=[],n=Wi(t);let o=Ho(t,e),a=o<0?Math.pow(10,Math.abs(o)):1;const l=Math.pow(10,o),h=n>o?Math.pow(10,n):0,u=Math.round((t-h)*a)/a,p=Math.floor((t-h)/l/10)*l*10;let b=Math.floor((u-p)/Math.pow(10,o)),_=(0,d.O)(s.min,Math.round((h+p+b*Math.pow(10,o))*a)/a);for(;_=10?b=b<15?15:20:b++,b>=20&&(o++,b=2,a=o>=0?1:a),_=Math.round((h+p+b*Math.pow(10,o))*a)/a;const y=(0,d.O)(s.max,_);return i.push({value:y,major:yo(y),significand:b}),i}class oo extends ae{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const i=Wn.prototype.parse.apply(this,[t,e]);if(i===0){this._zero=!0;return}return(0,d.g)(i)&&i>0?i:null}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=(0,d.g)(t)?Math.max(0,t):null,this.max=(0,d.g)(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!(0,d.g)(this._userMin)&&(this.min=t===Ue(this.min,0)?Ue(this.min,-1):Ue(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,n=this.max;const o=l=>i=t?i:l,a=l=>n=e?n:l;i===n&&(i<=0?(o(1),a(10)):(o(Ue(i,-1)),a(Ue(n,1)))),i<=0&&o(Ue(n,-1)),n<=0&&a(Ue(i,1)),this.min=i,this.max=n}buildTicks(){const t=this.options,e={min:this._userMin,max:this._userMax},i=No(e,this);return t.bounds==="ticks"&&(0,d.aG)(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":(0,d.o)(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=(0,d.aM)(t),this._valueRange=(0,d.aM)(this.max)-(0,d.aM)(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:((0,d.aM)(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}R(oo,"id","logarithmic"),R(oo,"defaults",{ticks:{callback:d.aL.formatters.logarithmic,major:{enabled:!0}}});function ro(s){const t=s.ticks;if(t.display&&s.display){const e=(0,d.E)(t.backdropPadding);return(0,d.v)(t.font&&t.font.size,d.d.font.size)+e.height}return 0}function Yo(s,t,e){return e=(0,d.b)(e)?e:[e],{w:(0,d.aN)(s,t.string,e),h:e.length*t.lineHeight}}function Mo(s,t,e,i,n){return s===i||s===n?{start:t-e/2,end:t+e/2}:sn?{start:t-e,end:t}:{start:t,end:t+e}}function $o(s){const t={l:s.left+s._padding.left,r:s.right-s._padding.right,t:s.top+s._padding.top,b:s.bottom-s._padding.bottom},e=Object.assign({},t),i=[],n=[],o=s._pointLabels.length,a=s.options.pointLabels,l=a.centerPointLabels?d.P/o:0;for(let h=0;ht.r&&(l=(i.end-t.r)/o,s.r=Math.max(s.r,t.r+l)),n.startt.b&&(h=(n.end-t.b)/a,s.b=Math.max(s.b,t.b+h))}function Xo(s,t,e){const i=s.drawingArea,{extra:n,additionalAngle:o,padding:a,size:l}=e,h=s.getPointPosition(t,i+n+a,o),u=Math.round((0,d.U)((0,d.ay)(h.angle+d.H))),p=Zo(h.y,l.h,u),b=Qo(u),_=qo(h.x,l.w,b);return{visible:!0,x:h.x,y:p,textAlign:b,left:_,top:p,right:_+l.w,bottom:p+l.h}}function Ko(s,t){if(!t)return!0;const{left:e,top:i,right:n,bottom:o}=s;return!((0,d.C)({x:e,y:i},t)||(0,d.C)({x:e,y:o},t)||(0,d.C)({x:n,y:i},t)||(0,d.C)({x:n,y:o},t))}function Go(s,t,e){const i=[],n=s._pointLabels.length,o=s.options,{centerPointLabels:a,display:l}=o.pointLabels,h={extra:ro(o)/2,additionalAngle:a?d.P/n:0};let u;for(let p=0;p270||e<90)&&(s-=t),s}function Jo(s,t,e){const{left:i,top:n,right:o,bottom:a}=e,{backdropColor:l}=t;if(!(0,d.k)(l)){const h=(0,d.aw)(t.borderRadius),u=(0,d.E)(t.backdropPadding);s.fillStyle=l;const p=i-u.left,b=n-u.top,_=o-i+u.width,y=a-n+u.height;Object.values(h).some(M=>M!==0)?(s.beginPath(),(0,d.au)(s,{x:p,y:b,w:_,h:y,radius:h}),s.fill()):s.fillRect(p,b,_,y)}}function tr(s,t){const{ctx:e,options:{pointLabels:i}}=s;for(let n=t-1;n>=0;n--){const o=s._pointLabelItems[n];if(!o.visible)continue;const a=i.setContext(s.getPointLabelContext(n));Jo(e,a,o);const l=(0,d.a0)(a.font),{x:h,y:u,textAlign:p}=o;(0,d.Z)(e,s._pointLabels[n],h,u+l.lineHeight/2,l,{color:a.color,textAlign:p,textBaseline:"middle"})}}function ko(s,t,e,i){const{ctx:n}=s;if(e)n.arc(s.xCenter,s.yCenter,t,0,d.T);else{let o=s.getPointPosition(0,t);n.moveTo(o.x,o.y);for(let a=1;a{const n=(0,d.Q)(this.options.pointLabels.callback,[e,i],this);return n||n===0?n:""}).filter((e,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?$o(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,n){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-n)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,n))}getIndexAngle(t){const e=d.T/(this._pointLabels.length||1),i=this.options.startAngle||0;return(0,d.ay)(t*e+(0,d.t)(i))}getDistanceFromCenterForValue(t){if((0,d.k)(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if((0,d.k)(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t{if(b!==0||b===0&&this.min<0){h=this.getDistanceFromCenterForValue(p.value);const _=this.getContext(b),y=n.setContext(_),M=o.setContext(_);er(this,y,h,a,M)}}),i.display){for(t.save(),l=a-1;l>=0;l--){const p=i.setContext(this.getPointLabelContext(l)),{color:b,lineWidth:_}=p;!_||!b||(t.lineWidth=_,t.strokeStyle=b,t.setLineDash(p.borderDash),t.lineDashOffset=p.borderDashOffset,h=this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),u=this.getPointPosition(l,h),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const n=this.getIndexAngle(0);let o,a;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(n),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((l,h)=>{if(h===0&&this.min>=0&&!e.reverse)return;const u=i.setContext(this.getContext(h)),p=(0,d.a0)(u.font);if(o=this.getDistanceFromCenterForValue(this.ticks[h].value),u.showLabelBackdrop){t.font=p.string,a=t.measureText(l.label).width,t.fillStyle=u.backdropColor;const b=(0,d.E)(u.backdropPadding);t.fillRect(-a/2-b.left,-o-p.size/2-b.top,a+b.width,p.size+b.height)}(0,d.Z)(t,l.label,0,-o,p,{color:u.color,strokeColor:u.textStrokeColor,strokeWidth:u.textStrokeWidth})}),t.restore()}drawTitle(){}}R(ji,"id","radialLinear"),R(ji,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:d.aL.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),R(ji,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),R(ji,"descriptors",{angleLines:{_fallback:"grid"}});const Vn={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Xt=Object.keys(Vn);function wo(s,t){return s-t}function So(s,t){if((0,d.k)(t))return null;const e=s._adapter,{parser:i,round:n,isoWeekday:o}=s._parseOpts;let a=t;return typeof i=="function"&&(a=i(a)),(0,d.g)(a)||(a=typeof i=="string"?e.parse(a,i):e.parse(a)),a===null?null:(n&&(a=n==="week"&&((0,d.x)(o)||o===!0)?e.startOf(a,"isoWeek",o):e.startOf(a,n)),+a)}function Po(s,t,e,i){const n=Xt.length;for(let o=Xt.indexOf(s);o=Xt.indexOf(e);o--){const a=Xt[o];if(Vn[a].common&&s._adapter.diff(n,i,a)>=t-1)return a}return Xt[e?Xt.indexOf(e):0]}function sr(s){for(let t=Xt.indexOf(s)+1,e=Xt.length;t=t?e[i]:e[n];s[o]=!0}}function or(s,t,e,i){const n=s._adapter,o=+n.startOf(t[0].value,i),a=t[t.length-1].value;let l,h;for(l=o;l<=a;l=+n.add(l,1,i))h=e[l],h>=0&&(t[h].major=!0);return t}function Oo(s,t,e){const i=[],n={},o=t.length;let a,l;for(a=0;a+t.value))}initOffsets(t=[]){let e=0,i=0,n,o;this.options.offset&&t.length&&(n=this.getDecimalForValue(t[0]),t.length===1?e=1-n:e=(this.getDecimalForValue(t[1])-n)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?i=o:i=(o-this.getDecimalForValue(t[t.length-2]))/2);const a=t.length<3?.5:.25;e=(0,d.S)(e,0,a),i=(0,d.S)(i,0,a),this._offsets={start:e,end:i,factor:1/(e+1+i)}}_generate(){const t=this._adapter,e=this.min,i=this.max,n=this.options,o=n.time,a=o.unit||Po(o.minUnit,e,i,this._getLabelCapacity(e)),l=(0,d.v)(n.ticks.stepSize,1),h=a==="week"?o.isoWeekday:!1,u=(0,d.x)(h)||h===!0,p={};let b=e,_,y;if(u&&(b=+t.startOf(b,"isoWeek",h)),b=+t.startOf(b,u?"day":a),t.diff(i,e,a)>1e5*l)throw new Error(e+" and "+i+" are too far apart with stepSize of "+l+" "+a);const M=n.ticks.source==="data"&&this.getDataTimestamps();for(_=b,y=0;_+S)}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}format(t,e){const n=this.options.time.displayFormats,o=this._unit,a=e||n[o];return this._adapter.format(t,a)}_tickFormatFunction(t,e,i,n){const o=this.options,a=o.ticks.callback;if(a)return(0,d.Q)(a,[t,e,i],this);const l=o.time.displayFormats,h=this._unit,u=this._majorUnit,p=h&&l[h],b=u&&l[u],_=i[e],y=u&&b&&_&&_.major;return this._adapter.format(t,n||(y?b:p))}generateTickLabels(t){let e,i,n;for(e=0,i=t.length;e0?l:1}getDataTimestamps(){let t=this._cache.data||[],e,i;if(t.length)return t;const n=this.getMatchingVisibleMetas();if(this._normalized&&n.length)return this._cache.data=n[0].controller.getAllParsedValues(this);for(e=0,i=n.length;e=s[i].pos&&t<=s[n].pos&&({lo:i,hi:n}=(0,d.B)(s,"pos",t)),{pos:o,time:l}=s[i],{pos:a,time:h}=s[n]):(t>=s[i].time&&t<=s[n].time&&({lo:i,hi:n}=(0,d.B)(s,"time",t)),{time:o,pos:l}=s[i],{time:a,pos:h}=s[n]);const u=a-o;return u?l+(h-l)*(t-o)/u:l}class ao extends fi{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=Hn(e,this.min),this._tableRange=Hn(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,n=[],o=[];let a,l,h,u,p;for(a=0,l=t.length;a=e&&u<=i&&n.push(u);if(n.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(a=0,l=n.length;an-o)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),i=this.getLabelTimestamps();return e.length&&i.length?t=this.normalize(e.concat(i)):t=e.length?e:i,t=this._cache.all=t,t}getDecimalForValue(t){return(Hn(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return Hn(this._table,i*this._tableRange+this._minPos,!0)}}R(ao,"id","timeseries"),R(ao,"defaults",fi.defaults);var rr=Object.freeze({__proto__:null,CategoryScale:so,LinearScale:jn,LogarithmicScale:oo,RadialLinearScale:ji,TimeScale:fi,TimeSeriesScale:ao});const cr=[Yn,hi,zo,rr]},"./node_modules/chart.js/dist/chunks/helpers.segment.js":function(vt,nt,G){"use strict";G.d(nt,{$:function(){return He},A:function(){return os},B:function(){return We},C:function(){return oi},D:function(){return ns},E:function(){return Cs},F:function(){return Ie},G:function(){return On},H:function(){return te},I:function(){return ci},J:function(){return Ys},K:function(){return Ns},L:function(){return cs},M:function(){return Sn},N:function(){return Zn},O:function(){return Yn},P:function(){return kt},Q:function(){return $n},R:function(){return fe},S:function(){return Ze},T:function(){return Jt},U:function(){return qe},V:function(){return Pi},W:function(){return ss},X:function(){return cn},Y:function(){return ri},Z:function(){return Ps},_:function(){return ls},a:function(){return As},a0:function(){return ai},a1:function(){return Zi},a2:function(){return Ji},a3:function(){return ii},a4:function(){return xe},a5:function(){return yi},a6:function(){return an},a7:function(){return Be},a8:function(){return Ne},a9:function(){return Ai},aA:function(){return Fi},aB:function(){return tn},aC:function(){return Ks},aD:function(){return Di},aE:function(){return ye},aF:function(){return Zt},aG:function(){return ts},aH:function(){return Xi},aI:function(){return Jn},aJ:function(){return Mi},aK:function(){return is},aL:function(){return rn},aM:function(){return Qe},aN:function(){return ys},aO:function(){return ee},aP:function(){return ki},aa:function(){return mn},ab:function(){return _i},ac:function(){return Pe},ad:function(){return hs},ae:function(){return Hs},af:function(){return hn},ag:function(){return $i},ah:function(){return Un},ai:function(){return Ui},aj:function(){return Je},ak:function(){return Te},al:function(){return Bs},am:function(){return Zs},an:function(){return Gs},ao:function(){return Cn},ap:function(){return An},aq:function(){return Me},ar:function(){return Ms},as:function(){return dn},at:function(){return vs},au:function(){return un},av:function(){return Oi},aw:function(){return Os},ax:function(){return zi},ay:function(){return se},az:function(){return Xs},b:function(){return Ft},c:function(){return fs},d:function(){return si},e:function(){return ti},f:function(){return xi},g:function(){return De},h:function(){return Qn},i:function(){return yt},j:function(){return Ci},k:function(){return re},l:function(){return rs},m:function(){return mi},n:function(){return bi},o:function(){return sn},p:function(){return Qi},q:function(){return ds},r:function(){return je},s:function(){return Ae},t:function(){return es},u:function(){return as},v:function(){return It},w:function(){return us},x:function(){return Ki},y:function(){return Fs},z:function(){return js}});function d(r){return r+.5|0}const W=(r,c,f)=>Math.max(Math.min(r,f),c);function X(r){return W(d(r*2.55),0,255)}function Q(r){return W(d(r/2.55),0,100)}function ut(r){return W(d(r*255),0,255)}function j(r){return W(d(r/2.55)/100,0,1)}function at(r){return W(d(r*100),0,100)}const K={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},lt=[..."0123456789ABCDEF"],et=r=>lt[r&15],ft=r=>lt[(r&240)>>4]+lt[r&15],z=r=>(r&240)>>4===(r&15),q=r=>z(r.r)&&z(r.g)&&z(r.b)&&z(r.a);function ct(r){var c=r.length,f;return r[0]==="#"&&(c===4||c===5?f={r:255&K[r[1]]*17,g:255&K[r[2]]*17,b:255&K[r[3]]*17,a:c===5?K[r[4]]*17:255}:(c===7||c===9)&&(f={r:K[r[1]]<<4|K[r[2]],g:K[r[3]]<<4|K[r[4]],b:K[r[5]]<<4|K[r[6]],a:c===9?K[r[7]]<<4|K[r[8]]:255})),f}const ht=(r,c)=>r<255?c(r):"";function Pt(r){var c=q(r)?et:ft;return r?"#"+c(r.r)+c(r.g)+c(r.b)+ht(r.a,c):void 0}const Bt=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Kt(r,c,f){const g=c*Math.min(f,1-f),m=(x,v=(x+r/30)%12)=>f-g*Math.max(Math.min(v-3,9-v,1),-1);return[m(0),m(8),m(4)]}function Gt(r,c,f){const g=(m,x=(m+r/60)%6)=>f-f*c*Math.max(Math.min(x,4-x,1),0);return[g(5),g(3),g(1)]}function Wt(r,c,f){const g=Kt(r,1,.5);let m;for(c+f>1&&(m=1/(c+f),c*=m,f*=m),m=0;m<3;m++)g[m]*=1-c-f,g[m]+=c;return g}function At(r,c,f,g,m){return r===m?(c-f)/g+(c.5?T/(2-x-v):T/(x+v),w=At(f,g,m,T,x),w=w*60+.5),[w|0,C||0,k]}function jt(r,c,f,g){return(Array.isArray(c)?r(c[0],c[1],c[2]):r(c,f,g)).map(ut)}function Dt(r,c,f){return jt(Kt,r,c,f)}function xt(r,c,f){return jt(Wt,r,c,f)}function Vt(r,c,f){return jt(Gt,r,c,f)}function N(r){return(r%360+360)%360}function tt(r){const c=Bt.exec(r);let f=255,g;if(!c)return;c[5]!==g&&(f=c[6]?X(+c[5]):ut(+c[5]));const m=N(+c[2]),x=+c[3]/100,v=+c[4]/100;return c[1]==="hwb"?g=xt(m,x,v):c[1]==="hsv"?g=Vt(m,x,v):g=Dt(m,x,v),{r:g[0],g:g[1],b:g[2],a:f}}function st(r,c){var f=Tt(r);f[0]=N(f[0]+c),f=Dt(f),r.r=f[0],r.g=f[1],r.b=f[2]}function wt(r){if(!r)return;const c=Tt(r),f=c[0],g=at(c[1]),m=at(c[2]);return r.a<255?`hsla(${f}, ${g}%, ${m}%, ${j(r.a)})`:`hsl(${f}, ${g}%, ${m}%)`}const bt={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},ot={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function Lt(){const r={},c=Object.keys(ot),f=Object.keys(bt);let g,m,x,v,k;for(g=0;g>16&255,x>>8&255,x&255]}return r}let Ht;function we(r){Ht||(Ht=Lt(),Ht.transparent=[0,0,0,0]);const c=Ht[r.toLowerCase()];return c&&{r:c[0],g:c[1],b:c[2],a:c.length===4?c[3]:255}}const Et=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function ne(r){const c=Et.exec(r);let f=255,g,m,x;if(c){if(c[7]!==g){const v=+c[7];f=c[8]?X(v):W(v*255,0,255)}return g=+c[1],m=+c[3],x=+c[5],g=255&(c[2]?X(g):W(g,0,255)),m=255&(c[4]?X(m):W(m,0,255)),x=255&(c[6]?X(x):W(x,0,255)),{r:g,g:m,b:x,a:f}}}function he(r){return r&&(r.a<255?`rgba(${r.r}, ${r.g}, ${r.b}, ${j(r.a)})`:`rgb(${r.r}, ${r.g}, ${r.b})`)}const Qt=r=>r<=.0031308?r*12.92:Math.pow(r,1/2.4)*1.055-.055,Nt=r=>r<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4);function qt(r,c,f){const g=Nt(j(r.r)),m=Nt(j(r.g)),x=Nt(j(r.b));return{r:ut(Qt(g+f*(Nt(j(c.r))-g))),g:ut(Qt(m+f*(Nt(j(c.g))-m))),b:ut(Qt(x+f*(Nt(j(c.b))-x))),a:r.a+f*(c.a-r.a)}}function St(r,c,f){if(r){let g=Tt(r);g[c]=Math.max(0,Math.min(g[c]+g[c]*f,c===0?360:1)),g=Dt(g),r.r=g[0],r.g=g[1],r.b=g[2]}}function $t(r,c){return r&&Object.assign(c||{},r)}function Rt(r){var c={r:0,g:0,b:0,a:255};return Array.isArray(r)?r.length>=3&&(c={r:r[0],g:r[1],b:r[2],a:255},r.length>3&&(c.a=ut(r[3]))):(c=$t(r,{r:0,g:0,b:0,a:1}),c.a=ut(c.a)),c}function Yt(r){return r.charAt(0)==="r"?ne(r):tt(r)}class Mt{constructor(c){if(c instanceof Mt)return c;const f=typeof c;let g;f==="object"?g=Rt(c):f==="string"&&(g=ct(c)||we(c)||Yt(c)),this._rgb=g,this._valid=!!g}get valid(){return this._valid}get rgb(){var c=$t(this._rgb);return c&&(c.a=j(c.a)),c}set rgb(c){this._rgb=Rt(c)}rgbString(){return this._valid?he(this._rgb):void 0}hexString(){return this._valid?Pt(this._rgb):void 0}hslString(){return this._valid?wt(this._rgb):void 0}mix(c,f){if(c){const g=this.rgb,m=c.rgb;let x;const v=f===x?.5:f,k=2*v-1,w=g.a-m.a,C=((k*w===-1?k:(k+w)/(1+k*w))+1)/2;x=1-C,g.r=255&C*g.r+x*m.r+.5,g.g=255&C*g.g+x*m.g+.5,g.b=255&C*g.b+x*m.b+.5,g.a=v*g.a+(1-v)*m.a,this.rgb=g}return this}interpolate(c,f){return c&&(this._rgb=qt(this._rgb,c._rgb,f)),this}clone(){return new Mt(this.rgb)}alpha(c){return this._rgb.a=ut(c),this}clearer(c){const f=this._rgb;return f.a*=1-c,this}greyscale(){const c=this._rgb,f=d(c.r*.3+c.g*.59+c.b*.11);return c.r=c.g=c.b=f,this}opaquer(c){const f=this._rgb;return f.a*=1+c,this}negate(){const c=this._rgb;return c.r=255-c.r,c.g=255-c.g,c.b=255-c.b,this}lighten(c){return St(this._rgb,2,c),this}darken(c){return St(this._rgb,2,-c),this}saturate(c){return St(this._rgb,1,c),this}desaturate(c){return St(this._rgb,1,-c),this}rotate(c){return st(this._rgb,c),this}}function Se(r){return new Mt(r)}function Zt(){}const Pe=(()=>{let r=0;return()=>r++})();function re(r){return r===null||typeof r>"u"}function Ft(r){if(Array.isArray&&Array.isArray(r))return!0;const c=Object.prototype.toString.call(r);return c.slice(0,7)==="[object"&&c.slice(-6)==="Array]"}function yt(r){return r!==null&&Object.prototype.toString.call(r)==="[object Object]"}function De(r){return(typeof r=="number"||r instanceof Number)&&isFinite(+r)}function Yn(r,c){return De(r)?r:c}function It(r,c){return typeof r>"u"?c:r}const mi=(r,c)=>typeof r=="string"&&r.endsWith("%")?parseFloat(r)/100:+r/c,bi=(r,c)=>typeof r=="string"&&r.endsWith("%")?parseFloat(r)/100*c:+r;function $n(r,c,f){if(r&&typeof r.call=="function")return r.apply(f,c)}function Ie(r,c,f,g){let m,x,v;if(Ft(r))if(x=r.length,g)for(m=x-1;m>=0;m--)c.call(f,r[m],m);else for(m=0;mr,x:r=>r.x,y:r=>r.y};function Yi(r){const c=r.split("."),f=[];let g="";for(const m of c)g+=m,g.endsWith("\\")?g=g.slice(0,-1)+".":(f.push(g),g="");return f}function ze(r){const c=Yi(r);return f=>{for(const g of c){if(g==="")break;f=f&&f[g]}return f}}function xi(r,c){return(Ce[c]||(Ce[c]=ze(c)))(r)}function yi(r){return r.charAt(0).toUpperCase()+r.slice(1)}const Qn=r=>typeof r<"u",Be=r=>typeof r=="function",$i=(r,c)=>{if(r.size!==c.size)return!1;for(const f of r)if(!c.has(f))return!1;return!0};function Ui(r){return r.type==="mouseup"||r.type==="click"||r.type==="contextmenu"}const kt=Math.PI,Jt=2*kt,qn=Jt+kt,de=Number.POSITIVE_INFINITY,Ge=kt/180,te=kt/2,gt=kt/4,vi=kt*2/3,Qe=Math.log10,Ae=Math.sign;function Mi(r,c,f){return Math.abs(r-c)m-x).pop(),c}function Ki(r){return!isNaN(parseFloat(r))&&isFinite(r)}function Jn(r,c){const f=Math.round(r);return f-c<=r&&f+c>=r}function ts(r,c,f){let g,m,x;for(g=0,m=r.length;gw&&C=Math.min(c,f)-g&&r<=Math.max(c,f)+g}function ki(r,c,f){f=f||(v=>r[v]1;)x=m+g>>1,f(x)?m=x:g=x;return{lo:m,hi:g}}const We=(r,c,f,g)=>ki(r,f,g?m=>{const x=r[m][c];return xr[m][c]ki(r,f,g=>r[g][c]>=f);function ee(r,c,f){let g=0,m=r.length;for(;gg&&r[m-1]>f;)m--;return g>0||m{const g="_onData"+yi(f),m=r[f];Object.defineProperty(r,f,{configurable:!0,enumerable:!1,value(...x){const v=m.apply(this,x);return r._chartjs.listeners.forEach(k=>{typeof k[g]=="function"&&k[g](...x)}),v}})})}function as(r,c){const f=r._chartjs;if(!f)return;const g=f.listeners,m=g.indexOf(c);m!==-1&&g.splice(m,1),!(g.length>0)&&(qi.forEach(x=>{delete r[x]}),delete r._chartjs)}function ls(r){const c=new Set(r);return c.size===r.length?r:Array.from(c)}function lo(r,c,f){return c+" "+r+"px "+f}const je=function(){return typeof window>"u"?function(r){return r()}:window.requestAnimationFrame}();function cs(r,c){let f=[],g=!1;return function(...m){f=m,g||(g=!0,je.call(window,()=>{g=!1,r.apply(c,f)}))}}function hs(r,c){let f;return function(...g){return c?(clearTimeout(f),f=setTimeout(r,c,g)):r.apply(this,g),c}}const Zi=r=>r==="start"?"left":r==="end"?"right":"center",Ji=(r,c,f)=>r==="start"?c:r==="end"?f:(c+f)/2,tn=(r,c,f,g)=>r===(g?"left":"right")?f:r==="center"?(c+f)/2:c;function ds(r,c,f){const g=c.length;let m=0,x=g;if(r._sorted){const{iScale:v,_parsed:k}=r,w=v.axis,{min:C,max:T,minDefined:H,maxDefined:Y}=v.getUserBounds();H&&(m=Ze(Math.min(We(k,w,C).lo,f?g:We(c,w,v.getPixelForValue(C)).lo),0,g-1)),Y?x=Ze(Math.max(We(k,v.axis,T,!0).hi+1,f?0:We(c,w,v.getPixelForValue(T),!0).hi+1),m,g)-m:x=g-m}return{start:m,count:x}}function us(r){const{xScale:c,yScale:f,_scaleRanges:g}=r,m={xmin:c.min,xmax:c.max,ymin:f.min,ymax:f.max};if(!g)return r._scaleRanges=m,!0;const x=g.xmin!==c.min||g.xmax!==c.max||g.ymin!==f.min||g.ymax!==f.max;return Object.assign(g,m),x}const ue=r=>r===0||r===1,wi=(r,c,f)=>-(Math.pow(2,10*(r-=1))*Math.sin((r-c)*Jt/f)),en=(r,c,f)=>Math.pow(2,-10*r)*Math.sin((r-c)*Jt/f)+1,ti={linear:r=>r,easeInQuad:r=>r*r,easeOutQuad:r=>-r*(r-2),easeInOutQuad:r=>(r/=.5)<1?.5*r*r:-.5*(--r*(r-2)-1),easeInCubic:r=>r*r*r,easeOutCubic:r=>(r-=1)*r*r+1,easeInOutCubic:r=>(r/=.5)<1?.5*r*r*r:.5*((r-=2)*r*r+2),easeInQuart:r=>r*r*r*r,easeOutQuart:r=>-((r-=1)*r*r*r-1),easeInOutQuart:r=>(r/=.5)<1?.5*r*r*r*r:-.5*((r-=2)*r*r*r-2),easeInQuint:r=>r*r*r*r*r,easeOutQuint:r=>(r-=1)*r*r*r*r+1,easeInOutQuint:r=>(r/=.5)<1?.5*r*r*r*r*r:.5*((r-=2)*r*r*r*r+2),easeInSine:r=>-Math.cos(r*te)+1,easeOutSine:r=>Math.sin(r*te),easeInOutSine:r=>-.5*(Math.cos(kt*r)-1),easeInExpo:r=>r===0?0:Math.pow(2,10*(r-1)),easeOutExpo:r=>r===1?1:-Math.pow(2,-10*r)+1,easeInOutExpo:r=>ue(r)?r:r<.5?.5*Math.pow(2,10*(r*2-1)):.5*(-Math.pow(2,-10*(r*2-1))+2),easeInCirc:r=>r>=1?r:-(Math.sqrt(1-r*r)-1),easeOutCirc:r=>Math.sqrt(1-(r-=1)*r),easeInOutCirc:r=>(r/=.5)<1?-.5*(Math.sqrt(1-r*r)-1):.5*(Math.sqrt(1-(r-=2)*r)+1),easeInElastic:r=>ue(r)?r:wi(r,.075,.3),easeOutElastic:r=>ue(r)?r:en(r,.075,.3),easeInOutElastic(r){return ue(r)?r:r<.5?.5*wi(r*2,.1125,.45):.5+.5*en(r*2-1,.1125,.45)},easeInBack(r){return r*r*((1.70158+1)*r-1.70158)},easeOutBack(r){return(r-=1)*r*((1.70158+1)*r+1.70158)+1},easeInOutBack(r){let c=1.70158;return(r/=.5)<1?.5*(r*r*(((c*=1.525)+1)*r-c)):.5*((r-=2)*r*(((c*=1.525)+1)*r+c)+2)},easeInBounce:r=>1-ti.easeOutBounce(1-r),easeOutBounce(r){return r<1/2.75?7.5625*r*r:r<2/2.75?7.5625*(r-=1.5/2.75)*r+.75:r<2.5/2.75?7.5625*(r-=2.25/2.75)*r+.9375:7.5625*(r-=2.625/2.75)*r+.984375},easeInOutBounce:r=>r<.5?ti.easeInBounce(r*2)*.5:ti.easeOutBounce(r*2-1)*.5+.5};function Si(r){if(r&&typeof r=="object"){const c=r.toString();return c==="[object CanvasPattern]"||c==="[object CanvasGradient]"}return!1}function fs(r){return Si(r)?r:new Mt(r)}function ae(r){return Si(r)?r:new Mt(r).saturate(.5).darken(.1).hexString()}const ei=["x","y","borderWidth","radius","tension"],gs=["color","borderColor","backgroundColor"];function ps(r){r.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),r.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:c=>c!=="onProgress"&&c!=="onComplete"&&c!=="fn"}),r.set("animations",{colors:{type:"color",properties:gs},numbers:{type:"number",properties:ei}}),r.describe("animations",{_fallback:"animation"}),r.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:c=>c|0}}}})}function ms(r){r.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const nn=new Map;function oe(r,c){c=c||{};const f=r+JSON.stringify(c);let g=nn.get(f);return g||(g=new Intl.NumberFormat(r,c),nn.set(f,g)),g}function sn(r,c,f){return oe(c,f).format(r)}const on={values(r){return Ft(r)?r:""+r},numeric(r,c,f){if(r===0)return"0";const g=this.chart.options.locale;let m,x=r;if(f.length>1){const C=Math.max(Math.abs(f[0].value),Math.abs(f[f.length-1].value));(C<1e-4||C>1e15)&&(m="scientific"),x=bs(r,f)}const v=Qe(Math.abs(x)),k=isNaN(v)?1:Math.max(Math.min(-1*Math.floor(v),20),0),w={notation:m,minimumFractionDigits:k,maximumFractionDigits:k};return Object.assign(w,this.options.ticks.format),sn(r,g,w)},logarithmic(r,c,f){if(r===0)return"0";const g=f[c].significand||r/Math.pow(10,Math.floor(Qe(r)));return[1,2,3,5,10,15].includes(g)||c>.8*f.length?on.numeric.call(this,r,c,f):""}};function bs(r,c){let f=c.length>3?c[2].value-c[1].value:c[1].value-c[0].value;return Math.abs(f)>=1&&r!==Math.floor(r)&&(f=r-Math.floor(r)),f}var rn={formatters:on};function _s(r){r.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(c,f)=>f.lineWidth,tickColor:(c,f)=>f.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:rn.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),r.route("scale.ticks","color","","color"),r.route("scale.grid","color","","borderColor"),r.route("scale.border","color","","borderColor"),r.route("scale.title","color","","color"),r.describe("scale",{_fallback:!1,_scriptable:c=>!c.startsWith("before")&&!c.startsWith("after")&&c!=="callback"&&c!=="parser",_indexable:c=>c!=="borderDash"&&c!=="tickBorderDash"&&c!=="dash"}),r.describe("scales",{_fallback:"scale"}),r.describe("scale.ticks",{_scriptable:c=>c!=="backdropPadding"&&c!=="callback",_indexable:c=>c!=="backdropPadding"})}const ii=Object.create(null),an=Object.create(null);function Ve(r,c){if(!c)return r;const f=c.split(".");for(let g=0,m=f.length;gg.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(g,m)=>ae(m.backgroundColor),this.hoverBorderColor=(g,m)=>ae(m.borderColor),this.hoverColor=(g,m)=>ae(m.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(c),this.apply(f)}set(c,f){return ni(this,c,f)}get(c){return Ve(this,c)}describe(c,f){return ni(an,c,f)}override(c,f){return ni(ii,c,f)}route(c,f,g,m){const x=Ve(this,c),v=Ve(this,g),k="_"+f;Object.defineProperties(x,{[k]:{value:x[f],writable:!0},[f]:{enumerable:!0,get(){const w=this[k],C=v[m];return yt(w)?Object.assign({},C,w):It(w,C)},set(w){this[k]=w}}})}apply(c){c.forEach(f=>f(this))}}var si=new xs({_scriptable:r=>!r.startsWith("on"),_indexable:r=>r!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[ps,ms,_s]);function ln(r){return!r||re(r.size)||re(r.family)?null:(r.style?r.style+" ":"")+(r.weight?r.weight+" ":"")+r.size+"px "+r.family}function Pi(r,c,f,g,m){let x=c[m];return x||(x=c[m]=r.measureText(m).width,f.push(m)),x>g&&(g=x),g}function ys(r,c,f,g){g=g||{};let m=g.data=g.data||{},x=g.garbageCollect=g.garbageCollect||[];g.font!==c&&(m=g.data={},x=g.garbageCollect=[],g.font=c),r.save(),r.font=c;let v=0;const k=f.length;let w,C,T,H,Y;for(w=0;wf.length){for(w=0;w0&&r.stroke()}}function oi(r,c,f){return f=f||.5,!c||r&&r.x>c.left-f&&r.xc.top-f&&r.y0&&x.strokeColor!=="";let w,C;for(r.save(),r.font=m.string,ks(r,x),w=0;w+r||0;function Te(r,c){const f={},g=yt(c),m=g?Object.keys(c):c,x=yt(r)?g?v=>It(r[v],r[c[v]]):v=>r[v]:()=>r;for(const v of m)f[v]=pn(x(v));return f}function Oi(r){return Te(r,{top:"y",right:"x",bottom:"y",left:"x"})}function Os(r){return Te(r,["topLeft","topRight","bottomLeft","bottomRight"])}function Cs(r){const c=Oi(r);return c.width=c.left+c.right,c.height=c.top+c.bottom,c}function ai(r,c){r=r||{},c=c||si.font;let f=It(r.size,c.size);typeof f=="string"&&(f=parseInt(f,10));let g=It(r.style,c.style);g&&!(""+g).match(gn)&&(console.warn('Invalid font style specified: "'+g+'"'),g=void 0);const m={family:It(r.family,c.family),lineHeight:Ds(It(r.lineHeight,c.lineHeight),f),size:f,style:g,weight:It(r.weight,c.weight),string:""};return m.string=ln(m),m}function As(r,c,f,g){let m=!0,x,v,k;for(x=0,v=r.length;xf&&k===0?0:k+w;return{min:v(g,-Math.abs(x)),max:v(m,x)}}function Ci(r,c){return Object.assign(Object.create(r),c)}function Ai(r,c=[""],f,g,m=()=>r[0]){const x=f||r;typeof g>"u"&&(g=Mn("_fallback",r));const v={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:r,_rootScopes:x,_fallback:g,_getTarget:m,override:k=>Ai([k,...r],c,x,g)};return new Proxy(v,{deleteProperty(k,w){return delete k[w],delete k._keys,delete r[0][w],!0},get(k,w){return bn(k,w,()=>Es(w,c,r,k))},getOwnPropertyDescriptor(k,w){return Reflect.getOwnPropertyDescriptor(k._scopes[0],w)},getPrototypeOf(){return Reflect.getPrototypeOf(r[0])},has(k,w){return kn(k).includes(w)},ownKeys(k){return kn(k)},set(k,w,C){const T=k._storage||(k._storage=m());return k[w]=T[w]=C,delete k._keys,!0}})}function Ne(r,c,f,g){const m={_cacheable:!1,_proxy:r,_context:c,_subProxy:f,_stack:new Set,_descriptors:mn(r,g),setContext:x=>Ne(r,x,f,g),override:x=>Ne(r.override(x),c,f,g)};return new Proxy(m,{deleteProperty(x,v){return delete x[v],delete r[v],!0},get(x,v,k){return bn(x,v,()=>Ts(x,v,k))},getOwnPropertyDescriptor(x,v){return x._descriptors.allKeys?Reflect.has(r,v)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(r,v)},getPrototypeOf(){return Reflect.getPrototypeOf(r)},has(x,v){return Reflect.has(r,v)},ownKeys(){return Reflect.ownKeys(r)},set(x,v,k){return r[v]=k,delete x[v],!0}})}function mn(r,c={scriptable:!0,indexable:!0}){const{_scriptable:f=c.scriptable,_indexable:g=c.indexable,_allKeys:m=c.allKeys}=r;return{allKeys:m,scriptable:f,indexable:g,isScriptable:Be(f)?f:()=>f,isIndexable:Be(g)?g:()=>g}}const Le=(r,c)=>r?r+yi(c):c,Ee=(r,c)=>yt(c)&&r!=="adapters"&&(Object.getPrototypeOf(c)===null||c.constructor===Object);function bn(r,c,f){if(Object.prototype.hasOwnProperty.call(r,c))return r[c];const g=f();return r[c]=g,g}function Ts(r,c,f){const{_proxy:g,_context:m,_subProxy:x,_descriptors:v}=r;let k=g[c];return Be(k)&&v.isScriptable(c)&&(k=Ye(c,k,r,f)),Ft(k)&&k.length&&(k=_n(c,k,r,v.isIndexable)),Ee(c,k)&&(k=Ne(k,m,x&&x[c],v)),k}function Ye(r,c,f,g){const{_proxy:m,_context:x,_subProxy:v,_stack:k}=f;if(k.has(r))throw new Error("Recursion detected: "+Array.from(k).join("->")+"->"+r);k.add(r);let w=c(x,v||g);return k.delete(r),Ee(r,w)&&(w=Ti(m._scopes,m,r,w)),w}function _n(r,c,f,g){const{_proxy:m,_context:x,_subProxy:v,_descriptors:k}=f;if(typeof x.index<"u"&&g(r))return c[x.index%c.length];if(yt(c[0])){const w=c,C=m._scopes.filter(T=>T!==w);c=[];for(const T of w){const H=Ti(C,m,r,T);c.push(Ne(H,x,v&&v[r],k))}}return c}function xn(r,c,f){return Be(r)?r(c,f):r}const Ls=(r,c)=>r===!0?c:typeof r=="string"?xi(c,r):void 0;function yn(r,c,f,g,m){for(const x of c){const v=Ls(f,x);if(v){r.add(v);const k=xn(v._fallback,f,m);if(typeof k<"u"&&k!==f&&k!==g)return k}else if(v===!1&&typeof g<"u"&&f!==g)return null}return!1}function Ti(r,c,f,g){const m=c._rootScopes,x=xn(c._fallback,f,g),v=[...r,...m],k=new Set;k.add(g);let w=vn(k,v,f,x||f,g);return w===null||typeof x<"u"&&x!==f&&(w=vn(k,v,x,w,g),w===null)?!1:Ai(Array.from(k),[""],m,x,()=>Li(c,f,g))}function vn(r,c,f,g,m){for(;f;)f=yn(r,c,f,g,m);return f}function Li(r,c,f){const g=r._getTarget();c in g||(g[c]={});const m=g[c];return Ft(m)&&yt(f)?f:m||{}}function Es(r,c,f,g){let m;for(const x of c)if(m=Mn(Le(x,r),f),typeof m<"u")return Ee(r,m)?Ti(f,g,r,m):m}function Mn(r,c){for(const f of c){if(!f)continue;const g=f[r];if(typeof g<"u")return g}}function kn(r){let c=r._keys;return c||(c=r._keys=Rs(r._scopes)),c}function Rs(r){const c=new Set;for(const f of r)for(const g of Object.keys(f).filter(m=>!m.startsWith("_")))c.add(g);return Array.from(c)}function Fs(r,c,f,g){const{iScale:m}=r,{key:x="r"}=this._parsing,v=new Array(g);let k,w,C,T;for(k=0,w=g;kcr==="x"?"y":"x";function wn(r,c,f,g){const m=r.skip?c:r,x=c,v=f.skip?c:f,k=ye(x,m),w=ye(v,x);let C=k/(k+w),T=w/(k+w);C=isNaN(C)?0:C,T=isNaN(T)?0:T;const H=g*C,Y=g*T;return{previous:{x:x.x-H*(v.x-m.x),y:x.y-H*(v.y-m.y)},next:{x:x.x+Y*(v.x-m.x),y:x.y+Y*(v.y-m.y)}}}function ge(r,c,f){const g=r.length;let m,x,v,k,w,C=ve(r,0);for(let T=0;T!C.skip)),c.cubicInterpolationMode==="monotone")zs(r,m);else{let C=g?r[r.length-1]:r[0];for(x=0,v=r.length;xr.ownerDocument.defaultView.getComputedStyle(r,null);function Ri(r,c){return hi(r).getPropertyValue(c)}const Pn=["top","right","bottom","left"];function me(r,c,f){const g={};f=f?"-"+f:"";for(let m=0;m<4;m++){const x=Pn[m];g[x]=parseFloat(r[c+"-"+x+f])||0}return g.width=g.left+g.right,g.height=g.top+g.bottom,g}const Dn=(r,c,f)=>(r>0||c>0)&&(!f||!f.shadowRoot);function Ws(r,c){const f=r.touches,g=f&&f.length?f[0]:r,{offsetX:m,offsetY:x}=g;let v=!1,k,w;if(Dn(m,x,r.target))k=m,w=x;else{const C=c.getBoundingClientRect();k=g.clientX-C.left,w=g.clientY-C.top,v=!0}return{x:k,y:w,box:v}}function js(r,c){if("native"in r)return r;const{canvas:f,currentDevicePixelRatio:g}=c,m=hi(f),x=m.boxSizing==="border-box",v=me(m,"padding"),k=me(m,"border","width"),{x:w,y:C,box:T}=Ws(r,f),H=v.left+(T&&k.left),Y=v.top+(T&&k.top);let{width:rt,height:pt}=c;return x&&(rt-=v.width+k.width,pt-=v.height+k.height),{x:Math.round((w-H)/rt*f.width/g),y:Math.round((C-Y)/pt*f.height/g)}}function Vs(r,c,f){let g,m;if(c===void 0||f===void 0){const x=ci(r);if(!x)c=r.clientWidth,f=r.clientHeight;else{const v=x.getBoundingClientRect(),k=hi(x),w=me(k,"border","width"),C=me(k,"padding");c=v.width-C.width-w.width,f=v.height-C.height-w.height,g=pe(k.maxWidth,x,"clientWidth"),m=pe(k.maxHeight,x,"clientHeight")}}return{width:c,height:f,maxWidth:g||de,maxHeight:m||de}}const di=r=>Math.round(r*10)/10;function On(r,c,f,g){const m=hi(r),x=me(m,"margin"),v=pe(m.maxWidth,r,"clientWidth")||de,k=pe(m.maxHeight,r,"clientHeight")||de,w=Vs(r,c,f);let{width:C,height:T}=w;if(m.boxSizing==="content-box"){const Y=me(m,"border","width"),rt=me(m,"padding");C-=rt.width+Y.width,T-=rt.height+Y.height}return C=Math.max(0,C-x.width),T=Math.max(0,g?C/g:T-x.height),C=di(Math.min(C,v,w.maxWidth)),T=di(Math.min(T,k,w.maxHeight)),C&&!T&&(T=di(C/2)),(c!==void 0||f!==void 0)&&g&&w.height&&T>w.height&&(T=w.height,C=di(Math.floor(T*g))),{width:C,height:T}}function Hs(r,c,f){const g=c||1,m=Math.floor(r.height*g),x=Math.floor(r.width*g);r.height=Math.floor(r.height),r.width=Math.floor(r.width);const v=r.canvas;return v.style&&(f||!v.style.height&&!v.style.width)&&(v.style.height=`${r.height}px`,v.style.width=`${r.width}px`),r.currentDevicePixelRatio!==g||v.height!==m||v.width!==x?(r.currentDevicePixelRatio=g,v.height=m,v.width=x,r.ctx.setTransform(g,0,0,g,0,0),!0):!1}const Ns=function(){let r=!1;try{const c={get passive(){return r=!0,!1}};Sn()&&(window.addEventListener("test",null,c),window.removeEventListener("test",null,c))}catch{}return r}();function Ys(r,c){const f=Ri(r,c),g=f&&f.match(/^(\d+)(\.\d+)?px$/);return g?+g[1]:void 0}function Me(r,c,f,g){return{x:r.x+f*(c.x-r.x),y:r.y+f*(c.y-r.y)}}function Cn(r,c,f,g){return{x:r.x+f*(c.x-r.x),y:g==="middle"?f<.5?r.y:c.y:g==="after"?f<1?r.y:c.y:f>0?c.y:r.y}}function An(r,c,f,g){const m={x:r.cp2x,y:r.cp2y},x={x:c.cp1x,y:c.cp1y},v=Me(r,m,f),k=Me(m,x,f),w=Me(x,c,f),C=Me(v,k,f),T=Me(k,w,f);return Me(C,T,f)}const $s=function(r,c){return{x(f){return r+r+c-f},setWidth(f){c=f},textAlign(f){return f==="center"?f:f==="right"?"left":"right"},xPlus(f,g){return f-g},leftForLtr(f,g){return f-g}}},Us=function(){return{x(r){return r},setWidth(r){},textAlign(r){return r},xPlus(r,c){return r+c},leftForLtr(r,c){return r}}};function Xs(r,c,f){return r?$s(c,f):Us()}function Fi(r,c){let f,g;(c==="ltr"||c==="rtl")&&(f=r.canvas.style,g=[f.getPropertyValue("direction"),f.getPropertyPriority("direction")],f.setProperty("direction",c,"important"),r.prevTextDirection=g)}function Ks(r,c){c!==void 0&&(delete r.prevTextDirection,r.canvas.style.setProperty("direction",c[0],c[1]))}function ui(r){return r==="angle"?{between:Qi,compare:Gi,normalize:se}:{between:Je,compare:(c,f)=>c-f,normalize:c=>c}}function Ii({start:r,end:c,count:f,loop:g,style:m}){return{start:r%f,end:c%f,loop:g&&(c-r+1)%f===0,style:m}}function Tn(r,c,f){const{property:g,start:m,end:x}=f,{between:v,normalize:k}=ui(g),w=c.length;let{start:C,end:T,loop:H}=r,Y,rt;if(H){for(C+=w,T+=w,Y=0,rt=w;Yw(m,$e,Ot)&&k(m,$e)!==0,Rn=()=>k(x,Ot)===0||w(x,$e,Ot),io=()=>U||eo(),Fn=()=>!U||Rn();for(let be=T,In=T;be<=H;++be)Fe=c[be%v],!Fe.skip&&(Ot=C(Fe[g]),Ot!==$e&&(U=w(Ot,m,x),V===null&&io()&&(V=k(Ot,m)===0?be:In),V!==null&&Fn()&&(pt.push(Ii({start:V,end:be,loop:Y,count:v,style:rt})),V=null),In=be,$e=Ot));return V!==null&&pt.push(Ii({start:V,end:H,loop:Y,count:v,style:rt})),pt}function Gs(r,c){const f=[],g=r.segments;for(let m=0;mm&&r[x%c].skip;)x--;return x%=c,{start:m,end:x}}function qs(r,c,f,g){const m=r.length,x=[];let v=c,k=r[c],w;for(w=c+1;w<=f;++w){const C=r[w%m];C.skip||C.stop?k.skip||(g=!1,x.push({start:c%m,end:(w-1)%m,loop:g}),c=v=C.stop?w:null):(v=w,k.skip&&(c=w)),k=C}return v!==null&&x.push({start:c%m,end:v%m,loop:g}),x}function Zs(r,c){const f=r.points,g=r.options.spanGaps,m=f.length;if(!m)return[];const x=!!r._loop,{start:v,end:k}=Qs(f,m,x,g);if(g===!0)return Ln(r,[{start:v,end:k,loop:x}],f,c);const w=k0&&z<7?z:1;return W(et).isoWeekday(q).startOf("day").valueOf()}return W(et).startOf(ft).valueOf()},endOf:function(et,ft){return W(et).endOf(ft).valueOf()}})},"./node_modules/vue-chartjs/dist/index.js":function(vt,nt,G){"use strict";G.d(nt,{N1:function(){return At},yP:function(){return Gt}});var d=G("./node_modules/chart.js/dist/chart.js"),W=G("./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js"),X=G("./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js");const Q={data:{type:Object,required:!0},options:{type:Object,default:()=>({})},plugins:{type:Array,default:()=>[]},datasetIdKey:{type:String,default:"label"},updateMode:{type:String,default:void 0}},j={type:{type:String,required:!0},destroyDelay:{type:Number,default:0},...Q,...{ariaLabel:{type:String},ariaDescribedby:{type:String}}},at=W.rE[0]==="2"?(N,tt)=>Object.assign(N,{attrs:tt}):(N,tt)=>Object.assign(N,tt);function K(N){return(0,X.ju)(N)?(0,X.ux)(N):N}function lt(N){let tt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:N;return(0,X.ju)(tt)?new Proxy(N,{}):N}function et(N,tt){const st=N.options;st&&tt&&Object.assign(st,tt)}function ft(N,tt){N.labels=tt}function z(N,tt,st){const wt=[];N.datasets=tt.map(bt=>{const ot=N.datasets.find(Lt=>Lt[st]===bt[st]);return!ot||!bt.data||wt.includes(ot)?{...bt}:(wt.push(ot),Object.assign(ot,bt),ot)})}function q(N,tt){const st={labels:[],datasets:[]};return ft(st,N.labels),z(st,N.datasets,tt),st}function ct(N,tt){return N.getElementsAtEventForMode(tt,"dataset",{intersect:!0},!1)}function ht(N,tt){return N.getElementsAtEventForMode(tt,"nearest",{intersect:!0},!1)}function Pt(N,tt){return N.getElementsAtEventForMode(tt,"index",{intersect:!0},!1)}const Bt=(0,W.pM)({props:j,setup(N,tt){let{expose:st,slots:wt}=tt;const bt=(0,X.KR)(null),ot=(0,X.IJ)(null);st({chart:ot});const Lt=()=>{if(!bt.value)return;const{type:Et,data:ne,options:he,plugins:Qt,datasetIdKey:Nt}=N,qt=q(ne,Nt),St=lt(qt,ne);ot.value=new d.t1(bt.value,{type:Et,data:St,options:{...he},plugins:Qt})},Ht=()=>{const Et=(0,X.ux)(ot.value);Et&&(N.destroyDelay>0?setTimeout(()=>{Et.destroy(),ot.value=null},N.destroyDelay):(Et.destroy(),ot.value=null))},we=Et=>{Et.update(N.updateMode)};return(0,W.sV)(Lt),(0,W.hi)(Ht),(0,W.wB)([()=>N.options,()=>N.data],(Et,ne)=>{let[he,Qt]=Et,[Nt,qt]=ne;const St=(0,X.ux)(ot.value);if(!St)return;let $t=!1;if(he){const Rt=K(he),Yt=K(Nt);Rt&&Rt!==Yt&&(et(St,Rt),$t=!0)}if(Qt){const Rt=K(Qt.labels),Yt=K(qt.labels),Mt=K(Qt.datasets),Se=K(qt.datasets);Rt!==Yt&&(ft(St.config.data,Rt),$t=!0),Mt&&Mt!==Se&&(z(St.config.data,Mt,N.datasetIdKey),$t=!0)}$t&&(0,W.dY)(()=>{we(St)})},{deep:!0}),()=>(0,W.h)("canvas",{role:"img",ariaLabel:N.ariaLabel,ariaDescribedby:N.ariaDescribedby,ref:bt},[(0,W.h)("p",{},[wt.default?wt.default():""])])}});function Kt(N,tt){return d.t1.register(tt),(0,W.pM)({props:Q,setup(st,wt){let{expose:bt}=wt;const ot=(0,X.IJ)(null),Lt=Ht=>{ot.value=Ht?.chart};return bt({chart:ot}),()=>(0,W.h)(Bt,at({ref:Lt},{type:N,...st}))}})}const Gt=Kt("bar",d.A6),Wt=null,At=Kt("line",d.ZT),Tt=null,jt=null,Dt=null,xt=null,Vt=null}}]); diff --git a/data/gitea/public/assets/js/contributors-graph.f652150c.js b/data/gitea/public/assets/js/contributors-graph.f652150c.js new file mode 100644 index 0000000..d1961a4 --- /dev/null +++ b/data/gitea/public/assets/js/contributors-graph.f652150c.js @@ -0,0 +1,3 @@ +(self.webpackChunk=self.webpackChunk||[]).push([["contributors-graph"],{"./node_modules/hammerjs/hammer.js":function(pe,Qt,C){var f;(function(x,ve,ze,P){"use strict";var Gt=["","webkit","Moz","MS","ms","o"],ge=ve.createElement("div"),Te="function",it=Math.round,G=Math.abs,At=Date.now;function Mt(e,n,s){return setTimeout(Nt(e,s),n)}function ot(e,n,s){return Array.isArray(e)?(X(e,s[n],s),!0):!1}function X(e,n,s){var a;if(e)if(e.forEach)e.forEach(n,s);else if(e.length!==P)for(a=0;a\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",E=x.console&&(x.console.warn||x.console.log);return E&&E.call(x.console,a,d),e.apply(this,arguments)}}var z;typeof Object.assign!="function"?z=function(n){if(n===P||n===null)throw new TypeError("Cannot convert undefined or null to object");for(var s=Object(n),a=1;a-1}function xt(e){return e.trim().split(/\s+/g)}function st(e,n,s){if(e.indexOf&&!s)return e.indexOf(n);for(var a=0;aL[n]}):a=a.sort()),a}function bt(e,n){for(var s,a,h=n[0].toUpperCase()+n.slice(1),d=0;d1&&!s.firstMultiple?s.firstMultiple=jt(n):h===1&&(s.firstMultiple=!1);var d=s.firstInput,E=s.firstMultiple,I=E?E.center:d.center,M=n.center=$(a);n.timeStamp=At(),n.deltaTime=n.timeStamp-d.timeStamp,n.angle=ft(I,M),n.distance=It(I,M),Ft(s,n),n.offsetDirection=Ht(n.deltaX,n.deltaY);var L=Xt(n.deltaTime,n.deltaX,n.deltaY);n.overallVelocityX=L.x,n.overallVelocityY=L.y,n.overallVelocity=G(L.x)>G(L.y)?L.x:L.y,n.scale=E?be(E.pointers,a):1,n.rotation=E?ie(E.pointers,a):0,n.maxPointers=s.prevInput?n.pointers.length>s.prevInput.maxPointers?n.pointers.length:s.prevInput.maxPointers:n.pointers.length,_e(s,n);var Q=e.element;Jt(n.srcEvent.target,Q)&&(Q=n.srcEvent.target),n.target=Q}function Ft(e,n){var s=n.center,a=e.offsetDelta||{},h=e.prevDelta||{},d=e.prevInput||{};(n.eventType===y||d.eventType===b)&&(h=e.prevDelta={x:d.deltaX||0,y:d.deltaY||0},a=e.offsetDelta={x:s.x,y:s.y}),n.deltaX=h.x+(s.x-a.x),n.deltaY=h.y+(s.y-a.y)}function _e(e,n){var s=e.lastInterval||n,a=n.timeStamp-s.timeStamp,h,d,E,I;if(n.eventType!=O&&(a>Rt||s.velocity===P)){var M=n.deltaX-s.deltaX,L=n.deltaY-s.deltaY,Q=Xt(a,M,L);d=Q.x,E=Q.y,h=G(Q.x)>G(Q.y)?Q.x:Q.y,I=Ht(M,L),e.lastInterval=n}else h=s.velocity,d=s.velocityX,E=s.velocityY,I=s.direction;n.velocity=h,n.velocityX=d,n.velocityY=E,n.direction=I}function jt(e){for(var n=[],s=0;s=G(n)?e<0?U:ct:n<0?ht:rt}function It(e,n,s){s||(s=ee);var a=n[s[0]]-e[s[0]],h=n[s[1]]-e[s[1]];return Math.sqrt(a*a+h*h)}function ft(e,n,s){s||(s=ee);var a=n[s[0]]-e[s[0]],h=n[s[1]]-e[s[1]];return Math.atan2(h,a)*180/Math.PI}function ie(e,n){return ft(n[1],n[0],Ct)+ft(e[1],e[0],Ct)}function be(e,n){return It(n[0],n[1],Ct)/It(e[0],e[1],Ct)}var Se={mousedown:y,mousemove:K,mouseup:b},Ce="mousedown",Ie="mousemove mouseup";function dt(){this.evEl=Ce,this.evWin=Ie,this.pressed=!1,w.apply(this,arguments)}N(dt,w,{handler:function(n){var s=Se[n.type];s&y&&n.button===0&&(this.pressed=!0),s&K&&n.which!==1&&(s=b),this.pressed&&(s&b&&(this.pressed=!1),this.callback(this.manager,s,{pointers:[n],changedPointers:[n],pointerType:kt,srcEvent:n}))}});var oe={pointerdown:y,pointermove:K,pointerup:b,pointercancel:O,pointerout:O},se={2:q,3:xe,4:kt,5:$t},re="pointerdown",A="pointermove pointerup pointercancel";x.MSPointerEvent&&!x.PointerEvent&&(re="MSPointerDown",A="MSPointerMove MSPointerUp MSPointerCancel");function tt(){this.evEl=re,this.evWin=A,w.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}N(tt,w,{handler:function(n){var s=this.store,a=!1,h=n.type.toLowerCase().replace("ms",""),d=oe[h],E=se[n.pointerType]||n.pointerType,I=E==q,M=st(s,n.pointerId,"pointerId");d&y&&(n.button===0||I)?M<0&&(s.push(n),M=s.length-1):d&(b|O)&&(a=!0),!(M<0)&&(s[M]=n,this.callback(this.manager,d,{pointers:s,changedPointers:[n],pointerType:E,srcEvent:n}),a&&s.splice(M,1))}});var Pe={touchstart:y,touchmove:K,touchend:b,touchcancel:O},Oe="touchstart",ae="touchstart touchmove touchend touchcancel";function le(){this.evTarget=Oe,this.evWin=ae,this.started=!1,w.apply(this,arguments)}N(le,w,{handler:function(n){var s=Pe[n.type];if(s===y&&(this.started=!0),!!this.started){var a=ue.call(this,n,s);s&(b|O)&&a[0].length-a[1].length===0&&(this.started=!1),this.callback(this.manager,s,{pointers:a[0],changedPointers:a[1],pointerType:q,srcEvent:n})}}});function ue(e,n){var s=_t(e.touches),a=_t(e.changedTouches);return n&(b|O)&&(s=k(s.concat(a),"identifier",!0)),[s,a]}var Ae={touchstart:y,touchmove:K,touchend:b,touchcancel:O},Me="touchstart touchmove touchend touchcancel";function Pt(){this.evTarget=Me,this.targetIds={},w.apply(this,arguments)}N(Pt,w,{handler:function(n){var s=Ae[n.type],a=Ne.call(this,n,s);a&&this.callback(this.manager,s,{pointers:a[0],changedPointers:a[1],pointerType:q,srcEvent:n})}});function Ne(e,n){var s=_t(e.touches),a=this.targetIds;if(n&(y|K)&&s.length===1)return a[s[0].identifier]=!0,[s,s];var h,d,E=_t(e.changedTouches),I=[],M=this.target;if(d=s.filter(function(L){return Jt(L.target,M)}),n===y)for(h=0;h-1&&a.splice(d,1)};setTimeout(h,we)}}function De(e){for(var n=e.srcEvent.clientX,s=e.srcEvent.clientY,a=0;a-1&&this.requireFail.splice(n,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){var n=this,s=this.state;function a(h){n.manager.emit(h,e)}s=Z&&a(n.options.event+Re(s))},tryEmit:function(e){if(this.canEmit())return this.emit(e);this.state=j},canEmit:function(){for(var e=0;en.threshold&&h&n.direction},attrTest:function(e){return i.prototype.attrTest.call(this,e)&&(this.state&D||!(this.state&D)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var n=me(e.direction);n&&(e.additionalEvent=this.options.event+n),this._super.emit.call(this,e)}});function r(){i.apply(this,arguments)}N(r,i,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[et]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||this.state&D)},emit:function(e){if(e.scale!==1){var n=e.scale<1?"in":"out";e.additionalEvent=this.options.event+n}this._super.emit.call(this,e)}});function l(){Y.apply(this,arguments),this._timer=null,this._input=null}N(l,Y,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[de]},process:function(e){var n=this.options,s=e.pointers.length===n.pointers,a=e.distancen.time;if(this._input=e,!a||!s||e.eventType&(b|O)&&!h)this.reset();else if(e.eventType&y)this.reset(),this._timer=Mt(function(){this.state=H,this.tryEmit()},n.time,this);else if(e.eventType&b)return H;return j},reset:function(){clearTimeout(this._timer)},emit:function(e){this.state===H&&(e&&e.eventType&b?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=At(),this.manager.emit(this.options.event,this._input)))}});function u(){i.apply(this,arguments)}N(u,i,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[et]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||this.state&D)}});function c(){i.apply(this,arguments)}N(c,i,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:F|J,pointers:1},getTouchAction:function(){return o.prototype.getTouchAction.call(this)},attrTest:function(e){var n=this.options.direction,s;return n&(F|J)?s=e.overallVelocity:n&F?s=e.overallVelocityX:n&J&&(s=e.overallVelocityY),this._super.attrTest.call(this,e)&&n&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers==this.options.pointers&&G(s)>this.options.velocity&&e.eventType&b},emit:function(e){var n=me(e.offsetDirection);n&&this.manager.emit(this.options.event+n,e),this.manager.emit(this.options.event,e)}});function m(){Y.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}N(m,Y,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[mt]},process:function(e){var n=this.options,s=e.pointers.length===n.pointers,a=e.distance(_pushScopeId("data-v-47958124"),t=t(),_popScopeId(),t),ze={class:"ui header tw-flex tw-items-center tw-justify-between"},P=["datetime"],Gt=["datetime"],ge={class:"ui dropdown jump",id:"repo-contributors"},Te={class:"ui basic compact button"},it={class:"not-mobile"},G={class:"menu"},At={class:"tw-flex ui segment main-graph"},Mt={key:0,class:"gt-tc tw-m-auto"},ot={key:0},X={key:1,class:"text red"},Bt={class:"contributor-grid"},z={class:"ui top attached header tw-flex tw-flex-1"},qt={class:"ui right"},ye=["href"],N=["src"],Nt={class:"tw-ml-2"},wt=["href"],Kt={key:1,class:"contributor-name"},yt={class:"tw-text-12 tw-flex tw-gap-1"},Et={key:0},Jt={key:1,class:"text green"},B={key:2,class:"text red"},xt={class:"ui attached segment"};function st(t,i,o,r,l,u){const c=(0,f.g2)("svg-icon"),m=(0,f.g2)("SvgIcon"),v=(0,f.g2)("ChartLine");return(0,f.uX)(),(0,f.CE)("div",null,[(0,f.Lk)("div",ze,[(0,f.Lk)("div",null,[t.xAxisMin>0?((0,f.uX)(),(0,f.CE)("relative-time",{key:0,format:"datetime",year:"numeric",month:"short",day:"numeric",weekday:"",datetime:new Date(t.xAxisMin)},(0,x.v_)(new Date(t.xAxisMin)),9,P)):(0,f.Q3)("v-if",!0),(0,f.eW)(" "+(0,x.v_)(t.isLoading?o.locale.loadingTitle:t.errorText?o.locale.loadingTitleFailed:"-")+" ",1),t.xAxisMax>0?((0,f.uX)(),(0,f.CE)("relative-time",{key:1,format:"datetime",year:"numeric",month:"short",day:"numeric",weekday:"",datetime:new Date(t.xAxisMax)},(0,x.v_)(new Date(t.xAxisMax)),9,Gt)):(0,f.Q3)("v-if",!0)]),(0,f.Lk)("div",null,[(0,f.Q3)(" Contribution type "),(0,f.Lk)("div",ge,[(0,f.Lk)("div",Te,[(0,f.Lk)("span",it,(0,x.v_)(o.locale.filterLabel),1),(0,f.eW)(),(0,f.Lk)("strong",null,(0,x.v_)(o.locale.contributionType[t.type]),1),(0,f.bF)(c,{name:"octicon-triangle-down",size:14})]),(0,f.Lk)("div",G,[(0,f.Lk)("div",{class:(0,x.C4)(["item",{selected:t.type==="commits"}]),"data-value":"commits"},(0,x.v_)(o.locale.contributionType.commits),3),(0,f.Lk)("div",{class:(0,x.C4)(["item",{selected:t.type==="additions"}]),"data-value":"additions"},(0,x.v_)(o.locale.contributionType.additions),3),(0,f.Lk)("div",{class:(0,x.C4)(["item",{selected:t.type==="deletions"}]),"data-value":"deletions"},(0,x.v_)(o.locale.contributionType.deletions),3)])])])]),(0,f.Lk)("div",At,[t.isLoading||t.errorText!==""?((0,f.uX)(),(0,f.CE)("div",Mt,[t.isLoading?((0,f.uX)(),(0,f.CE)("div",ot,[(0,f.bF)(m,{name:"octicon-sync",class:"tw-mr-2 job-status-rotate"}),(0,f.eW)(" "+(0,x.v_)(o.locale.loadingInfo),1)])):((0,f.uX)(),(0,f.CE)("div",X,[(0,f.bF)(m,{name:"octicon-x-circle-fill"}),(0,f.eW)(" "+(0,x.v_)(t.errorText),1)]))])):(0,f.Q3)("v-if",!0),Object.keys(t.totalStats).length!==0?(0,f.bU)([t.totalStats.weeks,t.type],()=>((0,f.uX)(),(0,f.Wv)(v,{key:1,data:u.toGraphData(t.totalStats.weeks),options:u.getOptions("main")},null,8,["data","options"])),i,0):(0,f.Q3)("v-if",!0)]),(0,f.Lk)("div",Bt,[((0,f.uX)(!0),(0,f.CE)(f.FK,null,(0,f.pI)(t.sortedContributors,(p,g,S,_)=>{const R=[t.sortedContributors,t.type];if(_&&_.key===g&&(0,f.Bs)(_,R))return _;const W=((0,f.uX)(),(0,f.CE)("div",{key:g},[(0,f.Lk)("div",z,[(0,f.Lk)("b",qt,"#"+(0,x.v_)(g+1),1),(0,f.Lk)("a",{href:p.home_link},[(0,f.Lk)("img",{class:"ui avatar tw-align-middle",height:"40",width:"40",src:p.avatar_link},null,8,N)],8,ye),(0,f.Lk)("div",Nt,[p.home_link!==""?((0,f.uX)(),(0,f.CE)("a",{key:0,href:p.home_link},[(0,f.Lk)("h4",null,(0,x.v_)(p.name),1)],8,wt)):((0,f.uX)(),(0,f.CE)("h4",Kt,(0,x.v_)(p.name),1)),(0,f.Lk)("p",yt,[p.total_commits?((0,f.uX)(),(0,f.CE)("strong",Et,(0,x.v_)(p.total_commits.toLocaleString())+" "+(0,x.v_)(o.locale.contributionType.commits),1)):(0,f.Q3)("v-if",!0),p.total_additions?((0,f.uX)(),(0,f.CE)("strong",Jt,(0,x.v_)(p.total_additions.toLocaleString())+"++ ",1)):(0,f.Q3)("v-if",!0),p.total_deletions?((0,f.uX)(),(0,f.CE)("strong",B,(0,x.v_)(p.total_deletions.toLocaleString())+"--",1)):(0,f.Q3)("v-if",!0)])])]),(0,f.Lk)("div",xt,[(0,f.Lk)("div",null,[(0,f.bF)(v,{data:u.toGraphData(p.weeks),options:u.getOptions("contributor")},null,8,["data","options"])])])]));return W.memo=R,W},i,1),128))])])}var _t=C("./web_src/js/svg.js"),k=C("./node_modules/chart.js/dist/chart.js"),bt=C("./web_src/js/modules/fetch.js"),Ee=C("./node_modules/hammerjs/hammer.js"),lt=C.n(Ee),T=C("./node_modules/chart.js/dist/chunks/helpers.segment.js");const ut=t=>t&&t.enabled&&t.modifierKey,Lt=(t,i)=>t&&i[t+"Key"],Dt=(t,i)=>t&&!i[t+"Key"];function V(t,i,o){return t===void 0?!0:typeof t=="string"?t.indexOf(i)!==-1:typeof t=="function"?t({chart:o}).indexOf(i)!==-1:!1}function q(t,i){return typeof t=="function"&&(t=t({chart:i})),typeof t=="string"?{x:t.indexOf("x")!==-1,y:t.indexOf("y")!==-1}:{x:!1,y:!1}}function xe(t,i){let o;return function(){return clearTimeout(o),o=setTimeout(t,i),i}}function kt({x:t,y:i},o){const r=o.scales,l=Object.keys(r);for(let u=0;u=c.top&&i<=c.bottom&&t>=c.left&&t<=c.right)return c}return null}function $t(t,i,o){const{mode:r="xy",scaleMode:l,overScaleMode:u}=t||{},c=kt(i,o),m=q(r,o),v=q(l,o);if(u){const g=q(u,o);for(const S of["x","y"])g[S]&&(v[S]=m[S],m[S]=!1)}if(c&&v[c.axis])return[c];const p=[];return(0,T.F)(o.scales,function(g){m[g.axis]&&p.push(g)}),p}const Rt=new WeakMap;function y(t){let i=Rt.get(t);return i||(i={originalScaleLimits:{},updatedScaleLimits:{},handlers:{},panDelta:{}},Rt.set(t,i)),i}function K(t){Rt.delete(t)}function b(t,i,o){const r=t.max-t.min,l=r*(i-1),u=t.isHorizontal()?o.x:o.y,c=Math.max(0,Math.min(1,(t.getValueForPixel(u)-t.min)/r||0)),m=1-c;return{min:l*c,max:l*m}}function O(t,i,o,r,l){let u=o[r];if(u==="original"){const c=t.originalScaleLimits[i.id][r];u=(0,T.v)(c.options,c.scale)}return(0,T.v)(u,l)}function St(t,i,o){const r=t.getValueForPixel(i),l=t.getValueForPixel(o);return{min:Math.min(r,l),max:Math.max(r,l)}}function U(t,{min:i,max:o},r,l=!1){const u=y(t.chart),{id:c,axis:m,options:v}=t,p=r&&(r[c]||r[m])||{},{minRange:g=0}=p,S=O(u,t,p,"min",-1/0),_=O(u,t,p,"max",1/0),R=l?Math.max(o-i,g):t.max-t.min,W=(R-o+i)/2;return i-=W,o+=W,i_&&(o=_,i=Math.max(_-R,S)),v.min=i,v.max=o,u.updatedScaleLimits[t.id]={min:i,max:o},t.parse(i)!==t.min||t.parse(o)!==t.max}function ct(t,i,o,r){const l=b(t,i,o),u={min:t.min+l.min,max:t.max-l.max};return U(t,u,r,!0)}function ht(t,i,o,r){U(t,St(t,i,o),r,!0)}const rt=t=>t===0||isNaN(t)?0:t<0?Math.min(Math.round(t),-1):Math.max(Math.round(t),1);function F(t){const o=t.getLabels().length-1;t.min>0&&(t.min-=1),t.maxv&&(u=Math.max(0,u-p),c=m===1?u:u+m,g=u===0),U(t,{min:u,max:c},o)||g}const Ct={second:500,minute:30*1e3,hour:30*60*1e3,day:12*60*60*1e3,week:3.5*24*60*60*1e3,month:15*24*60*60*1e3,quarter:60*24*60*60*1e3,year:182*24*60*60*1e3};function w(t,i,o,r=!1){const{min:l,max:u,options:c}=t,m=c.time&&c.time.round,v=Ct[m]||0,p=t.getValueForPixel(t.getPixelForValue(l+v)-i),g=t.getValueForPixel(t.getPixelForValue(u+v)-i),{min:S=-1/0,max:_=1/0}=r&&o&&o[t.axis]||{};return isNaN(p)||isNaN(g)||p_?!0:U(t,{min:p,max:g},o,r)}function ne(t,i,o){return w(t,i,o,!0)}const zt={category:J,default:ct},Ut={default:ht},Ft={category:ee,default:w,logarithmic:ne,timeseries:ne};function _e(t,i,o){const{id:r,options:{min:l,max:u}}=t;if(!i[r]||!o[r])return!0;const c=o[r];return c.min!==l||c.max!==u}function jt(t,i){(0,T.F)(t,(o,r)=>{i[r]||delete t[r]})}function $(t,i){const{scales:o}=t,{originalScaleLimits:r,updatedScaleLimits:l}=i;return(0,T.F)(o,function(u){_e(u,r,l)&&(r[u.id]={min:{scale:u.min,options:u.options.min},max:{scale:u.max,options:u.options.max}})}),jt(r,o),jt(l,o),r}function Xt(t,i,o,r){const l=zt[t.type]||zt.default;(0,T.Q)(l,[t,i,o,r])}function Ht(t,i,o,r,l){const u=Ut[t.type]||Ut.default;(0,T.Q)(u,[t,i,o,r,l])}function It(t){const i=t.chartArea;return{x:(i.left+i.right)/2,y:(i.top+i.bottom)/2}}function ft(t,i,o="none"){const{x:r=1,y:l=1,focalPoint:u=It(t)}=typeof i=="number"?{x:i,y:i}:i,c=y(t),{options:{limits:m,zoom:v}}=c;$(t,c);const p=r!==1,g=l!==1,S=$t(v,u,t);(0,T.F)(S||t.scales,function(_){_.isHorizontal()&&p?Xt(_,r,u,m):!_.isHorizontal()&&g&&Xt(_,l,u,m)}),t.update(o),(0,T.Q)(v.onZoom,[{chart:t}])}function ie(t,i,o,r="none"){const l=y(t),{options:{limits:u,zoom:c}}=l,{mode:m="xy"}=c;$(t,l);const v=V(m,"x",t),p=V(m,"y",t);(0,T.F)(t.scales,function(g){g.isHorizontal()&&v?Ht(g,i.x,o.x,u):!g.isHorizontal()&&p&&Ht(g,i.y,o.y,u)}),t.update(r),(0,T.Q)(c.onZoom,[{chart:t}])}function be(t,i,o,r="none"){$(t,y(t));const l=t.scales[i];U(l,o,void 0,!0),t.update(r)}function Se(t,i="default"){const o=y(t),r=$(t,o);(0,T.F)(t.scales,function(l){const u=l.options;r[l.id]?(u.min=r[l.id].min.options,u.max=r[l.id].max.options):(delete u.min,delete u.max)}),t.update(i),(0,T.Q)(o.options.zoom.onZoomComplete,[{chart:t}])}function Ce(t,i){const o=t.originalScaleLimits[i];if(!o)return;const{min:r,max:l}=o;return(0,T.v)(l.options,l.scale)-(0,T.v)(r.options,r.scale)}function Ie(t){const i=y(t);let o=1,r=1;return(0,T.F)(t.scales,function(l){const u=Ce(i,l.id);if(u){const c=Math.round(u/(l.max-l.min)*100)/100;o=Math.min(o,c),r=Math.max(r,c)}}),o<1?o:r}function dt(t,i,o,r){const{panDelta:l}=r,u=l[t.id]||0;(0,T.s)(u)===(0,T.s)(i)&&(i+=u);const c=Ft[t.type]||Ft.default;(0,T.Q)(c,[t,i,o])?l[t.id]=0:l[t.id]=i}function oe(t,i,o,r="none"){const{x:l=0,y:u=0}=typeof i=="number"?{x:i,y:i}:i,c=y(t),{options:{pan:m,limits:v}}=c,{onPan:p}=m||{};$(t,c);const g=l!==0,S=u!==0;(0,T.F)(o||t.scales,function(_){_.isHorizontal()&&g?dt(_,l,v,c):!_.isHorizontal()&&S&&dt(_,u,v,c)}),t.update(r),(0,T.Q)(p,[{chart:t}])}function se(t){const i=y(t);$(t,i);const o={};for(const r of Object.keys(t.scales)){const{min:l,max:u}=i.originalScaleLimits[r]||{min:{},max:{}};o[r]={min:l.scale,max:u.scale}}return o}function re(t){const i=se(t);for(const o of Object.keys(t.scales)){const{min:r,max:l}=i[o];if(r!==void 0&&t.scales[o].min!==r||l!==void 0&&t.scales[o].max!==l)return!0}return!1}function A(t,i){const{handlers:o}=y(t),r=o[i];r&&r.target&&(r.target.removeEventListener(i,r),delete o[i])}function tt(t,i,o,r){const{handlers:l,options:u}=y(t),c=l[o];c&&c.target===i||(A(t,o),l[o]=m=>r(t,m,u),l[o].target=i,i.addEventListener(o,l[o]))}function Pe(t,i){const o=y(t);o.dragStart&&(o.dragging=!0,o.dragEnd=i,t.update("none"))}function Oe(t,i){const o=y(t);!o.dragStart||i.key!=="Escape"||(A(t,"keydown"),o.dragging=!1,o.dragStart=o.dragEnd=null,t.update("none"))}function ae(t,i,o){const{onZoomStart:r,onZoomRejected:l}=o;if(r){const u=(0,T.z)(i,t);if((0,T.Q)(r,[{chart:t,event:i,point:u}])===!1)return(0,T.Q)(l,[{chart:t,event:i}]),!1}}function le(t,i){const o=y(t),{pan:r,zoom:l={}}=o.options;if(i.button!==0||Lt(ut(r),i)||Dt(ut(l.drag),i))return(0,T.Q)(l.onZoomRejected,[{chart:t,event:i}]);ae(t,i,l)!==!1&&(o.dragStart=i,tt(t,t.canvas,"mousemove",Pe),tt(t,window.document,"keydown",Oe))}function ue(t,i,o,r){const l=V(i,"x",t),u=V(i,"y",t);let{top:c,left:m,right:v,bottom:p,width:g,height:S}=t.chartArea;const _=(0,T.z)(o,t),R=(0,T.z)(r,t);l&&(m=Math.min(_.x,R.x),v=Math.max(_.x,R.x)),u&&(c=Math.min(_.y,R.y),p=Math.max(_.y,R.y));const W=v-m,e=p-c;return{left:m,top:c,right:v,bottom:p,width:W,height:e,zoomX:l&&W?1+(g-W)/g:1,zoomY:u&&e?1+(S-e)/S:1}}function Ae(t,i){const o=y(t);if(!o.dragStart)return;A(t,"mousemove");const{mode:r,onZoomComplete:l,drag:{threshold:u=0}}=o.options.zoom,c=ue(t,r,o.dragStart,i),m=V(r,"x",t)?c.width:0,v=V(r,"y",t)?c.height:0,p=Math.sqrt(m*m+v*v);if(o.dragStart=o.dragEnd=null,p<=u){o.dragging=!1,t.update("none");return}ie(t,{x:c.left,y:c.top},{x:c.right,y:c.bottom},"zoom"),setTimeout(()=>o.dragging=!1,500),(0,T.Q)(l,[{chart:t}])}function Me(t,i,o){if(Dt(ut(o.wheel),i)){(0,T.Q)(o.onZoomRejected,[{chart:t,event:i}]);return}if(ae(t,i,o)!==!1&&(i.cancelable&&i.preventDefault(),i.deltaY!==void 0))return!0}function Pt(t,i){const{handlers:{onZoomComplete:o},options:{zoom:r}}=y(t);if(!Me(t,i,r))return;const l=i.target.getBoundingClientRect(),u=1+(i.deltaY>=0?-r.wheel.speed:r.wheel.speed),c={x:u,y:u,focalPoint:{x:i.clientX-l.left,y:i.clientY-l.top}};ft(t,c),o&&o()}function Ne(t,i,o,r){o&&(y(t).handlers[i]=xe(()=>(0,T.Q)(o,[{chart:t}]),r))}function we(t,i){const o=t.canvas,{wheel:r,drag:l,onZoomComplete:u}=i.zoom;r.enabled?(tt(t,o,"wheel",Pt),Ne(t,"onZoomComplete",u,250)):A(t,"wheel"),l.enabled?(tt(t,o,"mousedown",le),tt(t,o.ownerDocument,"mouseup",Ae)):(A(t,"mousedown"),A(t,"mousemove"),A(t,"mouseup"),A(t,"keydown"))}function ce(t){A(t,"mousedown"),A(t,"mousemove"),A(t,"mouseup"),A(t,"wheel"),A(t,"click"),A(t,"keydown")}function Yt(t,i){return function(o,r){const{pan:l,zoom:u={}}=i.options;if(!l||!l.enabled)return!1;const c=r&&r.srcEvent;return c&&!i.panning&&r.pointerType==="mouse"&&(Dt(ut(l),c)||Lt(ut(u.drag),c))?((0,T.Q)(l.onPanRejected,[{chart:t,event:r}]),!1):!0}}function Le(t,i){const o=Math.abs(t.clientX-i.clientX),r=Math.abs(t.clientY-i.clientY),l=o/r;let u,c;return l>.3&&l<1.7?u=c=!0:o>r?u=!0:c=!0,{x:u,y:c}}function Wt(t,i,o){if(i.scale){const{center:r,pointers:l}=o,u=1/i.scale*o.scale,c=o.target.getBoundingClientRect(),m=Le(l[0],l[1]),v=i.options.zoom.mode,p={x:m.x&&V(v,"x",t)?u:1,y:m.y&&V(v,"y",t)?u:1,focalPoint:{x:r.x-c.left,y:r.y-c.top}};ft(t,p),i.scale=o.scale}}function De(t,i){i.options.zoom.pinch.enabled&&(i.scale=1)}function he(t,i,o){i.scale&&(Wt(t,i,o),i.scale=null,(0,T.Q)(i.options.zoom.onZoomComplete,[{chart:t}]))}function Vt(t,i,o){const r=i.delta;r&&(i.panning=!0,oe(t,{x:o.deltaX-r.x,y:o.deltaY-r.y},i.panScales),i.delta={x:o.deltaX,y:o.deltaY})}function fe(t,i,o){const{enabled:r,onPanStart:l,onPanRejected:u}=i.options.pan;if(!r)return;const c=o.target.getBoundingClientRect(),m={x:o.center.x-c.left,y:o.center.y-c.top};if((0,T.Q)(l,[{chart:t,event:o,point:m}])===!1)return(0,T.Q)(u,[{chart:t,event:o}]);i.panScales=$t(i.options.pan,m,t),i.delta={x:0,y:0},clearTimeout(i.panEndTimeout),Vt(t,i,o)}function de(t,i){i.delta=null,i.panning&&(i.panEndTimeout=setTimeout(()=>i.panning=!1,500),(0,T.Q)(i.options.pan.onPanComplete,[{chart:t}]))}const mt=new WeakMap;function et(t,i){const o=y(t),r=t.canvas,{pan:l,zoom:u}=i,c=new(lt()).Manager(r);u&&u.pinch.enabled&&(c.add(new(lt()).Pinch),c.on("pinchstart",()=>De(t,o)),c.on("pinch",m=>Wt(t,o,m)),c.on("pinchend",m=>he(t,o,m))),l&&l.enabled&&(c.add(new(lt()).Pan({threshold:l.threshold,enable:Yt(t,o)})),c.on("panstart",m=>fe(t,o,m)),c.on("panmove",m=>Vt(t,o,m)),c.on("panend",()=>de(t,o))),mt.set(t,c)}function pt(t){const i=mt.get(t);i&&(i.remove("pinchstart"),i.remove("pinch"),i.remove("pinchend"),i.remove("panstart"),i.remove("pan"),i.remove("panend"),i.destroy(),mt.delete(t))}var vt="2.0.1";function nt(t,i,o){const r=o.zoom.drag,{dragStart:l,dragEnd:u}=y(t);if(r.drawTime!==i||!u)return;const{left:c,top:m,width:v,height:p}=ue(t,o.zoom.mode,l,u),g=t.ctx;g.save(),g.beginPath(),g.fillStyle=r.backgroundColor||"rgba(225,225,225,0.3)",g.fillRect(c,m,v,p),r.borderWidth>0&&(g.lineWidth=r.borderWidth,g.strokeStyle=r.borderColor||"rgba(225,225,225)",g.strokeRect(c,m,v,p)),g.restore()}var Zt={id:"zoom",version:vt,defaults:{pan:{enabled:!1,mode:"xy",threshold:10,modifierKey:null},zoom:{wheel:{enabled:!1,speed:.1,modifierKey:null},drag:{enabled:!1,drawTime:"beforeDatasetsDraw",modifierKey:null},pinch:{enabled:!1},mode:"xy"}},start:function(t,i,o){const r=y(t);r.options=o,Object.prototype.hasOwnProperty.call(o.zoom,"enabled")&&console.warn("The option `zoom.enabled` is no longer supported. Please use `zoom.wheel.enabled`, `zoom.drag.enabled`, or `zoom.pinch.enabled`."),(Object.prototype.hasOwnProperty.call(o.zoom,"overScaleMode")||Object.prototype.hasOwnProperty.call(o.pan,"overScaleMode"))&&console.warn("The option `overScaleMode` is deprecated. Please use `scaleMode` instead (and update `mode` as desired)."),lt()&&et(t,o),t.pan=(l,u,c)=>oe(t,l,u,c),t.zoom=(l,u)=>ft(t,l,u),t.zoomRect=(l,u,c)=>ie(t,l,u,c),t.zoomScale=(l,u,c)=>be(t,l,u,c),t.resetZoom=l=>Se(t,l),t.getZoomLevel=()=>Ie(t),t.getInitialScaleBounds=()=>se(t),t.isZoomedOrPanned=()=>re(t)},beforeEvent(t){const i=y(t);if(i.panning||i.dragging)return!1},beforeUpdate:function(t,i,o){const r=y(t);r.options=o,we(t,o)},beforeDatasetsDraw(t,i,o){nt(t,"beforeDatasetsDraw",o)},afterDatasetsDraw(t,i,o){nt(t,"afterDatasetsDraw",o)},beforeDraw(t,i,o){nt(t,"beforeDraw",o)},afterDraw(t,i,o){nt(t,"afterDraw",o)},stop:function(t){ce(t),lt()&&pt(t),K(t)},panFunctions:Ft,zoomFunctions:zt,zoomRectFunctions:Ut},ke=C("./node_modules/vue-chartjs/dist/index.js"),Ot=C("./web_src/js/utils/time.js"),at=C("./web_src/js/utils/color.js"),D=C("./web_src/js/utils.js"),gt=C("./node_modules/chartjs-adapter-dayjs-4/dist/chartjs-adapter-dayjs-4.esm.js"),Z=C("./node_modules/jquery/dist/jquery.js"),H=C.n(Z);const Tt={id:"customEventListener",afterEvent:(t,i,o)=>{i.event.type==="dblclick"&&o.chartType==="main"&&!i.replay&&(t.resetZoom(),o.instance.updateOtherCharts(i.event,!0))}};k.t1.defaults.color=at.K.text,k.t1.defaults.borderColor=at.K.border,k.t1.register(k.UA,k.kc,k.E8,k.hE,k.FN,k.No,k.dN,Zt,Tt);var j={components:{ChartLine:ke.N1,SvgIcon:_t.Ah},props:{locale:{type:Object,required:!0},repoLink:{type:String,required:!0}},data:()=>({isLoading:!1,errorText:"",totalStats:{},sortedContributors:{},type:"commits",contributorsStats:[],xAxisStart:null,xAxisEnd:null,xAxisMin:null,xAxisMax:null}),mounted(){this.fetchGraphData(),H()("#repo-contributors").dropdown({onChange:t=>{this.xAxisMin=this.xAxisStart,this.xAxisMax=this.xAxisEnd,this.type=t,this.sortContributors()}})},methods:{sortContributors(){const t=this.filterContributorWeeksByDateRange(),i=`total_${this.type}`;this.sortedContributors=Object.values(t).filter(o=>o[i]!==0).sort((o,r)=>o[i]>r[i]?-1:o[i]===r[i]?0:1).slice(0,100)},async fetchGraphData(){this.isLoading=!0;try{let t;do t=await(0,bt.fG)(`${this.repoLink}/activity/contributors/data`),t.status===202&&await(0,D.yy)(1e3);while(t.status===202);if(t.ok){const i=await t.json(),{total:o,...r}=i;o.weeks=Object.fromEntries(Object.entries(o.weeks).sort());const l=Object.values(o.weeks);this.xAxisStart=l[0].week,this.xAxisEnd=(0,Ot.Z1)(new Date);const u=(0,Ot.Ex)(this.xAxisStart,this.xAxisEnd);o.weeks=(0,Ot.a$)(u,o.weeks),this.xAxisMin=this.xAxisStart,this.xAxisMax=this.xAxisEnd,this.contributorsStats={};for(const[c,m]of Object.entries(r))m.weeks=(0,Ot.a$)(u,m.weeks),this.contributorsStats[c]=m;this.sortContributors(),this.totalStats=o,this.errorText=""}else this.errorText=t.statusText}catch(t){this.errorText=t.message}finally{this.isLoading=!1}},filterContributorWeeksByDateRange(){const t={},i=this.contributorsStats;for(const o of Object.keys(i)){const r=i[o];r.total_commits=0,r.total_additions=0,r.total_deletions=0,r.max_contribution_type=0;const l=r.weeks.filter(u=>u.week>=this.xAxisMin-6048e5&&u.week<=this.xAxisMax+6048e5?(r.total_commits+=u.commits,r.total_additions+=u.additions,r.total_deletions+=u.deletions,u[this.type]>r.max_contribution_type&&(r.max_contribution_type=u[this.type]),!0):!1);r.max_contribution_type+=1,t[o]={...r,weeks:l}}return t},maxMainGraph(){const t=Math.max(...this.totalStats.weeks.map(r=>r[this.type])),[i,o]=t.toExponential().split("e").map(Number);return i%1===0?t:(1-i%1)*10**o+t},maxContributorGraph(){const t=Math.max(...this.sortedContributors.map(r=>r.max_contribution_type)),[i,o]=t.toExponential().split("e").map(Number);return i%1===0?t:(1-i%1)*10**o+t},toGraphData(t){return{datasets:[{data:t.map(i=>({x:i.week,y:i[this.type]})),pointRadius:0,pointHitRadius:0,fill:"start",backgroundColor:at.K[this.type],borderWidth:0,tension:.3}]}},updateOtherCharts(t,i){const o=t.chart.options.scales.x.min,r=t.chart.options.scales.x.max;i?(this.xAxisMin=this.xAxisStart,this.xAxisMax=this.xAxisEnd,this.sortContributors()):o&&(this.xAxisMin=o,this.xAxisMax=r,this.sortContributors())},getOptions(t){return{responsive:!0,maintainAspectRatio:!1,animation:!1,events:["mousemove","mouseout","click","touchstart","touchmove","dblclick"],plugins:{title:{display:t==="main",text:"drag: zoom, shift+drag: pan, double click: reset zoom",position:"top",align:"center"},customEventListener:{chartType:t,instance:this},zoom:{pan:{enabled:!0,modifierKey:"shift",mode:"x",threshold:20,onPanComplete:this.updateOtherCharts},limits:{x:{min:"original",max:"original",minRange:2*7*24*60*60*1e3}},zoom:{drag:{enabled:t==="main"},pinch:{enabled:t==="main"},mode:"x",onZoomComplete:this.updateOtherCharts}}},scales:{x:{min:this.xAxisMin,max:this.xAxisMax,type:"time",grid:{display:!1},time:{minUnit:"month"},ticks:{maxRotation:0,maxTicksLimit:t==="main"?12:6}},y:{min:0,max:t==="main"?this.maxMainGraph():this.maxContributorGraph(),ticks:{maxTicksLimit:t==="main"?6:4}}}}}}},Y=C("./node_modules/vue-loader/dist/exportHelper.js"),me=(0,Y.A)(j,[["render",st],["__scopeId","data-v-47958124"]])}}]); diff --git a/data/gitea/public/assets/js/dropzone.6ba4ca5d.js b/data/gitea/public/assets/js/dropzone.6ba4ca5d.js new file mode 100644 index 0000000..3aa82f1 --- /dev/null +++ b/data/gitea/public/assets/js/dropzone.6ba4ca5d.js @@ -0,0 +1,24 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([["dropzone"],{"./node_modules/dropzone/dist/dropzone.css":function(C,f,g){g.r(f)},"./node_modules/dropzone/dist/dropzone.mjs":function(C,f,g){g.r(f),g.d(f,{Dropzone:function(){return r},default:function(){return r}});var v=F;function F(){var n=[].slice.call(arguments),e=!1;typeof n[0]=="boolean"&&(e=n.shift());var i=n[0];if(y(i))throw new Error("extendee must be an object");for(var t=n.slice(1),s=t.length,l=0;l +
    +
    +
    +
    +
    +
    + +
    +
    +
    + + + +
    +
    + + + +
    + +`;var L={url:null,method:"post",withCredentials:!1,timeout:null,parallelUploads:2,uploadMultiple:!1,chunking:!1,forceChunking:!1,chunkSize:2097152,parallelChunkUploads:!1,retryChunks:!1,retryChunksLimit:3,maxFilesize:256,paramName:"file",createImageThumbnails:!0,maxThumbnailFilesize:10,thumbnailWidth:120,thumbnailHeight:120,thumbnailMethod:"crop",resizeWidth:null,resizeHeight:null,resizeMimeType:null,resizeQuality:.8,resizeMethod:"contain",filesizeBase:1e3,maxFiles:null,headers:null,defaultHeaders:!0,clickable:!0,ignoreHiddenFiles:!0,acceptedFiles:null,acceptedMimeTypes:null,autoProcessQueue:!0,autoQueue:!0,addRemoveLinks:!1,previewsContainer:null,disablePreviews:!1,hiddenInputContainer:"body",capture:null,renameFilename:null,renameFile:null,forceFallback:!1,dictDefaultMessage:"Drop files here to upload",dictFallbackMessage:"Your browser does not support drag'n'drop file uploads.",dictFallbackText:"Please use the fallback form below to upload your files like in the olden days.",dictFileTooBig:"File is too big ({{filesize}}MiB). Max filesize: {{maxFilesize}}MiB.",dictInvalidFileType:"You can't upload files of this type.",dictResponseError:"Server responded with {{statusCode}} code.",dictCancelUpload:"Cancel upload",dictUploadCanceled:"Upload canceled.",dictCancelUploadConfirmation:"Are you sure you want to cancel this upload?",dictRemoveFile:"Remove file",dictRemoveFileConfirmation:null,dictMaxFilesExceeded:"You can not upload any more files.",dictFileSizeUnits:{tb:"TB",gb:"GB",mb:"MB",kb:"KB",b:"b"},init(){},params(n,e,i){if(i)return{dzuuid:i.file.upload.uuid,dzchunkindex:i.index,dztotalfilesize:i.file.size,dzchunksize:this.options.chunkSize,dztotalchunkcount:i.file.upload.totalChunkCount,dzchunkbyteoffset:i.index*this.options.chunkSize}},accept(n,e){return e()},chunksUploaded:function(n,e){e()},binaryBody:!1,fallback(){let n;this.element.className=`${this.element.className} dz-browser-not-supported`;for(let i of this.element.getElementsByTagName("div"))if(/(^| )dz-message($| )/.test(i.className)){n=i,i.className="dz-message";break}n||(n=r.createElement('
    '),this.element.appendChild(n));let e=n.getElementsByTagName("span")[0];return e&&(e.textContent!=null?e.textContent=this.options.dictFallbackMessage:e.innerText!=null&&(e.innerText=this.options.dictFallbackMessage)),this.element.appendChild(this.getFallbackForm())},resize(n,e,i,t){let s={srcX:0,srcY:0,srcWidth:n.width,srcHeight:n.height},l=n.width/n.height;e==null&&i==null?(e=s.srcWidth,i=s.srcHeight):e==null?e=i*l:i==null&&(i=e/l),e=Math.min(e,s.srcWidth),i=Math.min(i,s.srcHeight);let o=e/i;if(s.srcWidth>e||s.srcHeight>i)if(t==="crop")l>o?(s.srcHeight=n.height,s.srcWidth=s.srcHeight*o):(s.srcWidth=n.width,s.srcHeight=s.srcWidth/o);else if(t==="contain")l>o?i=e/l:e=i*l;else throw new Error(`Unknown resizeMethod '${t}'`);return s.srcX=(n.width-s.srcWidth)/2,s.srcY=(n.height-s.srcHeight)/2,s.trgWidth=e,s.trgHeight=i,s},transformFile(n,e){return(this.options.resizeWidth||this.options.resizeHeight)&&n.type.match(/image.*/)?this.resizeImage(n,this.options.resizeWidth,this.options.resizeHeight,this.options.resizeMethod,e):e(n)},previewTemplate:z(w),drop(n){return this.element.classList.remove("dz-drag-hover")},dragstart(n){},dragend(n){return this.element.classList.remove("dz-drag-hover")},dragenter(n){return this.element.classList.add("dz-drag-hover")},dragover(n){return this.element.classList.add("dz-drag-hover")},dragleave(n){return this.element.classList.remove("dz-drag-hover")},paste(n){},reset(){return this.element.classList.remove("dz-started")},addedfile(n){if(this.element===this.previewsContainer&&this.element.classList.add("dz-started"),this.previewsContainer&&!this.options.disablePreviews){n.previewElement=r.createElement(this.options.previewTemplate.trim()),n.previewTemplate=n.previewElement,this.previewsContainer.appendChild(n.previewElement);for(var e of n.previewElement.querySelectorAll("[data-dz-name]"))e.textContent=n.name;for(e of n.previewElement.querySelectorAll("[data-dz-size]"))e.innerHTML=this.filesize(n.size);this.options.addRemoveLinks&&(n._removeLink=r.createElement(`${this.options.dictRemoveFile}`),n.previewElement.appendChild(n._removeLink));let i=t=>(t.preventDefault(),t.stopPropagation(),n.status===r.UPLOADING?r.confirm(this.options.dictCancelUploadConfirmation,()=>this.removeFile(n)):this.options.dictRemoveFileConfirmation?r.confirm(this.options.dictRemoveFileConfirmation,()=>this.removeFile(n)):this.removeFile(n));for(let t of n.previewElement.querySelectorAll("[data-dz-remove]"))t.addEventListener("click",i)}},removedfile(n){return n.previewElement!=null&&n.previewElement.parentNode!=null&&n.previewElement.parentNode.removeChild(n.previewElement),this._updateMaxFilesReachedClass()},thumbnail(n,e){if(n.previewElement){n.previewElement.classList.remove("dz-file-preview");for(let i of n.previewElement.querySelectorAll("[data-dz-thumbnail]"))i.alt=n.name,i.src=e;return setTimeout(()=>n.previewElement.classList.add("dz-image-preview"),1)}},error(n,e){if(n.previewElement){n.previewElement.classList.add("dz-error"),typeof e!="string"&&e.error&&(e=e.error);for(let i of n.previewElement.querySelectorAll("[data-dz-errormessage]"))i.textContent=e}},errormultiple(){},processing(n){if(n.previewElement&&(n.previewElement.classList.add("dz-processing"),n._removeLink))return n._removeLink.innerHTML=this.options.dictCancelUpload},processingmultiple(){},uploadprogress(n,e,i){if(n.previewElement)for(let t of n.previewElement.querySelectorAll("[data-dz-uploadprogress]"))t.nodeName==="PROGRESS"?t.value=e:t.style.width=`${e}%`},totaluploadprogress(){},sending(){},sendingmultiple(){},success(n){if(n.previewElement)return n.previewElement.classList.add("dz-success")},successmultiple(){},canceled(n){return this.emit("error",n,this.options.dictUploadCanceled)},canceledmultiple(){},complete(n){if(n._removeLink&&(n._removeLink.innerHTML=this.options.dictRemoveFile),n.previewElement)return n.previewElement.classList.add("dz-complete")},completemultiple(){},maxfilesexceeded(){},maxfilesreached(){},queuecomplete(){},addedfiles(){}};class r extends E{static initClass(){this.prototype.Emitter=E,this.prototype.events=["drop","dragstart","dragend","dragenter","dragover","dragleave","addedfile","addedfiles","removedfile","thumbnail","error","errormultiple","processing","processingmultiple","uploadprogress","totaluploadprogress","sending","sendingmultiple","success","successmultiple","canceled","canceledmultiple","complete","completemultiple","reset","maxfilesexceeded","maxfilesreached","queuecomplete"],this.prototype._thumbnailQueue=[],this.prototype._processingThumbnail=!1}getAcceptedFiles(){return this.files.filter(e=>e.accepted).map(e=>e)}getRejectedFiles(){return this.files.filter(e=>!e.accepted).map(e=>e)}getFilesWithStatus(e){return this.files.filter(i=>i.status===e).map(i=>i)}getQueuedFiles(){return this.getFilesWithStatus(r.QUEUED)}getUploadingFiles(){return this.getFilesWithStatus(r.UPLOADING)}getAddedFiles(){return this.getFilesWithStatus(r.ADDED)}getActiveFiles(){return this.files.filter(e=>e.status===r.UPLOADING||e.status===r.QUEUED).map(e=>e)}init(){if(this.element.tagName==="form"&&this.element.setAttribute("enctype","multipart/form-data"),this.element.classList.contains("dropzone")&&!this.element.querySelector(".dz-message")&&this.element.appendChild(r.createElement(`
    `)),this.clickableElements.length){let t=()=>{this.hiddenFileInput&&this.hiddenFileInput.parentNode.removeChild(this.hiddenFileInput),this.hiddenFileInput=document.createElement("input"),this.hiddenFileInput.setAttribute("type","file"),(this.options.maxFiles===null||this.options.maxFiles>1)&&this.hiddenFileInput.setAttribute("multiple","multiple"),this.hiddenFileInput.className="dz-hidden-input",this.options.acceptedFiles!==null&&this.hiddenFileInput.setAttribute("accept",this.options.acceptedFiles),this.options.capture!==null&&this.hiddenFileInput.setAttribute("capture",this.options.capture),this.hiddenFileInput.setAttribute("tabindex","-1"),this.hiddenFileInput.style.visibility="hidden",this.hiddenFileInput.style.position="absolute",this.hiddenFileInput.style.top="0",this.hiddenFileInput.style.left="0",this.hiddenFileInput.style.height="0",this.hiddenFileInput.style.width="0",r.getElement(this.options.hiddenInputContainer,"hiddenInputContainer").appendChild(this.hiddenFileInput),this.hiddenFileInput.addEventListener("change",()=>{let{files:s}=this.hiddenFileInput;if(s.length)for(let l of s)this.addFile(l);this.emit("addedfiles",s),t()})};t()}this.URL=window.URL!==null?window.URL:window.webkitURL;for(let t of this.events)this.on(t,this.options[t]);this.on("uploadprogress",()=>this.updateTotalUploadProgress()),this.on("removedfile",()=>this.updateTotalUploadProgress()),this.on("canceled",t=>this.emit("complete",t)),this.on("complete",t=>{if(this.getAddedFiles().length===0&&this.getUploadingFiles().length===0&&this.getQueuedFiles().length===0)return setTimeout(()=>this.emit("queuecomplete"),0)});const e=function(t){if(t.dataTransfer.types){for(var s=0;sthis.emit("dragstart",t),dragenter:t=>(i(t),this.emit("dragenter",t)),dragover:t=>{let s;try{s=t.dataTransfer.effectAllowed}catch{}return t.dataTransfer.dropEffect=s==="move"||s==="linkMove"?"move":"copy",i(t),this.emit("dragover",t)},dragleave:t=>this.emit("dragleave",t),drop:t=>(i(t),this.drop(t)),dragend:t=>this.emit("dragend",t)}}],this.clickableElements.forEach(t=>this.listeners.push({element:t,events:{click:s=>((t!==this.element||s.target===this.element||r.elementInside(s.target,this.element.querySelector(".dz-message")))&&this.hiddenFileInput.click(),!0)}})),this.enable(),this.options.init.call(this)}destroy(){return this.disable(),this.removeAllFiles(!0),this.hiddenFileInput!=null&&this.hiddenFileInput.parentNode&&(this.hiddenFileInput.parentNode.removeChild(this.hiddenFileInput),this.hiddenFileInput=null),delete this.element.dropzone,r.instances.splice(r.instances.indexOf(this),1)}updateTotalUploadProgress(){let e,i=0,t=0;if(this.getActiveFiles().length){for(let l of this.getActiveFiles())i+=l.upload.bytesSent,t+=l.upload.total;e=100*i/t}else e=100;return this.emit("totaluploadprogress",e,t,i)}_getParamName(e){return typeof this.options.paramName=="function"?this.options.paramName(e):`${this.options.paramName}${this.options.uploadMultiple?`[${e}]`:""}`}_renameFile(e){return typeof this.options.renameFile!="function"?e.name:this.options.renameFile(e)}getFallbackForm(){let e,i;if(e=this.getExistingFallback())return e;let t='
    ';this.options.dictFallbackText&&(t+=`

    ${this.options.dictFallbackText}

    `),t+=`
    `;let s=r.createElement(t);return this.element.tagName!=="FORM"?(i=r.createElement(`
    `),i.appendChild(s)):(this.element.setAttribute("enctype","multipart/form-data"),this.element.setAttribute("method",this.options.method)),i??s}getExistingFallback(){let e=function(t){for(let s of t)if(/(^| )fallback($| )/.test(s.className))return s};for(let t of["div","form"]){var i;if(i=e(this.element.getElementsByTagName(t)))return i}}setupEventListeners(){return this.listeners.map(e=>(()=>{let i=[];for(let t in e.events){let s=e.events[t];i.push(e.element.addEventListener(t,s,!1))}return i})())}removeEventListeners(){return this.listeners.map(e=>(()=>{let i=[];for(let t in e.events){let s=e.events[t];i.push(e.element.removeEventListener(t,s,!1))}return i})())}disable(){return this.clickableElements.forEach(e=>e.classList.remove("dz-clickable")),this.removeEventListeners(),this.disabled=!0,this.files.map(e=>this.cancelUpload(e))}enable(){return delete this.disabled,this.clickableElements.forEach(e=>e.classList.add("dz-clickable")),this.setupEventListeners()}filesize(e){let i=0,t="b";if(e>0){let s=["tb","gb","mb","kb","b"];for(let l=0;l=a){i=e/Math.pow(this.options.filesizeBase,4-l),t=o;break}}i=Math.round(10*i)/10}return`${i} ${this.options.dictFileSizeUnits[t]}`}_updateMaxFilesReachedClass(){return this.options.maxFiles!=null&&this.getAcceptedFiles().length>=this.options.maxFiles?(this.getAcceptedFiles().length===this.options.maxFiles&&this.emit("maxfilesreached",this.files),this.element.classList.add("dz-max-files-reached")):this.element.classList.remove("dz-max-files-reached")}drop(e){if(!e.dataTransfer)return;this.emit("drop",e);let i=[];for(let t=0;tt.items)==null)return;this.emit("paste",e);let{items:i}=e.clipboardData;if(i.length)return this._addFilesFromItems(i)}handleFiles(e){for(let i of e)this.addFile(i)}_addFilesFromItems(e){return(()=>{let i=[];for(let s of e){var t;s.webkitGetAsEntry!=null&&(t=s.webkitGetAsEntry())?t.isFile?i.push(this.addFile(s.getAsFile())):t.isDirectory?i.push(this._addFilesFromDirectory(t,t.name)):i.push(void 0):s.getAsFile!=null&&(s.kind==null||s.kind==="file")?i.push(this.addFile(s.getAsFile())):i.push(void 0)}return i})()}_addFilesFromDirectory(e,i){let t=e.createReader(),s=o=>M(console,"log",a=>a.log(o));var l=()=>t.readEntries(o=>{if(o.length>0){for(let a of o)a.isFile?a.file(u=>{if(!(this.options.ignoreHiddenFiles&&u.name.substring(0,1)==="."))return u.fullPath=`${i}/${u.name}`,this.addFile(u)}):a.isDirectory&&this._addFilesFromDirectory(a,`${i}/${a.name}`);l()}return null},s);return l()}accept(e,i){this.options.maxFilesize&&e.size>this.options.maxFilesize*1048576?i(this.options.dictFileTooBig.replace("{{filesize}}",Math.round(e.size/1024/10.24)/100).replace("{{maxFilesize}}",this.options.maxFilesize)):r.isValidFile(e,this.options.acceptedFiles)?this.options.maxFiles!=null&&this.getAcceptedFiles().length>=this.options.maxFiles?(i(this.options.dictMaxFilesExceeded.replace("{{maxFiles}}",this.options.maxFiles)),this.emit("maxfilesexceeded",e)):this.options.accept.call(this,e,i):i(this.options.dictInvalidFileType)}addFile(e){e.upload={uuid:r.uuidv4(),progress:0,total:e.size,bytesSent:0,filename:this._renameFile(e)},this.files.push(e),e.status=r.ADDED,this.emit("addedfile",e),this._enqueueThumbnail(e),this.accept(e,i=>{i?(e.accepted=!1,this._errorProcessing([e],i)):(e.accepted=!0,this.options.autoQueue&&this.enqueueFile(e)),this._updateMaxFilesReachedClass()})}enqueueFiles(e){for(let i of e)this.enqueueFile(i);return null}enqueueFile(e){if(e.status===r.ADDED&&e.accepted===!0){if(e.status=r.QUEUED,this.options.autoProcessQueue)return setTimeout(()=>this.processQueue(),0)}else throw new Error("This file can't be queued because it has already been processed or was rejected.")}_enqueueThumbnail(e){if(this.options.createImageThumbnails&&e.type.match(/image.*/)&&e.size<=this.options.maxThumbnailFilesize*1048576)return this._thumbnailQueue.push(e),setTimeout(()=>this._processThumbnailQueue(),0)}_processThumbnailQueue(){if(this._processingThumbnail||this._thumbnailQueue.length===0)return;this._processingThumbnail=!0;let e=this._thumbnailQueue.shift();return this.createThumbnail(e,this.options.thumbnailWidth,this.options.thumbnailHeight,this.options.thumbnailMethod,!0,i=>(this.emit("thumbnail",e,i),this._processingThumbnail=!1,this._processThumbnailQueue()))}removeFile(e){if(e.status===r.UPLOADING&&this.cancelUpload(e),this.files=S(this.files,e),this.emit("removedfile",e),this.files.length===0)return this.emit("reset")}removeAllFiles(e){e==null&&(e=!1);for(let i of this.files.slice())(i.status!==r.UPLOADING||e)&&this.removeFile(i);return null}resizeImage(e,i,t,s,l){return this.createThumbnail(e,i,t,s,!0,(o,a)=>{if(a==null)return l(e);{let{resizeMimeType:u}=this.options;u==null&&(u=e.type);let d=a.toDataURL(u,this.options.resizeQuality);return(u==="image/jpeg"||u==="image/jpg")&&(d=k.restore(e.dataURL,d)),l(r.dataURItoBlob(d))}})}createThumbnail(e,i,t,s,l,o){let a=new FileReader;a.onload=()=>{if(e.dataURL=a.result,e.type==="image/svg+xml"){o?.(a.result);return}this.createThumbnailFromUrl(e,i,t,s,l,o)},a.readAsDataURL(e)}displayExistingFile(e,i,t,s,l=!0){if(this.emit("addedfile",e),this.emit("complete",e),!l)this.emit("thumbnail",e,i),t&&t();else{let o=a=>{this.emit("thumbnail",e,a),t&&t()};e.dataURL=i,this.createThumbnailFromUrl(e,this.options.thumbnailWidth,this.options.thumbnailHeight,this.options.thumbnailMethod,this.options.fixOrientation,o,s)}}createThumbnailFromUrl(e,i,t,s,l,o,a){let u=document.createElement("img");return a&&(u.crossOrigin=a),l=getComputedStyle(document.body).imageOrientation=="from-image"?!1:l,u.onload=()=>{let d=h=>h(1);return typeof EXIF<"u"&&EXIF!==null&&l&&(d=h=>EXIF.getData(u,function(){return h(EXIF.getTag(this,"Orientation"))})),d(h=>{e.width=u.width,e.height=u.height;let p=this.options.resize.call(this,e,i,t,s),c=document.createElement("canvas"),m=c.getContext("2d");switch(c.width=p.trgWidth,c.height=p.trgHeight,h>4&&(c.width=p.trgHeight,c.height=p.trgWidth),h){case 2:m.translate(c.width,0),m.scale(-1,1);break;case 3:m.translate(c.width,c.height),m.rotate(Math.PI);break;case 4:m.translate(0,c.height),m.scale(1,-1);break;case 5:m.rotate(.5*Math.PI),m.scale(1,-1);break;case 6:m.rotate(.5*Math.PI),m.translate(0,-c.width);break;case 7:m.rotate(.5*Math.PI),m.translate(c.height,-c.width),m.scale(-1,1);break;case 8:m.rotate(-.5*Math.PI),m.translate(-c.height,0);break}A(m,u,p.srcX!=null?p.srcX:0,p.srcY!=null?p.srcY:0,p.srcWidth,p.srcHeight,p.trgX!=null?p.trgX:0,p.trgY!=null?p.trgY:0,p.trgWidth,p.trgHeight);let D=c.toDataURL("image/png");if(o!=null)return o(D,c)})},o!=null&&(u.onerror=o),u.src=e.dataURL}processQueue(){let{parallelUploads:e}=this.options,i=this.getUploadingFiles().length,t=i;if(i>=e)return;let s=this.getQueuedFiles();if(s.length>0){if(this.options.uploadMultiple)return this.processFiles(s.slice(0,e-i));for(;tt.xhr===e).map(t=>t)}cancelUpload(e){if(e.status===r.UPLOADING){let i=this._getFilesWithXhr(e.xhr);for(let t of i)t.status=r.CANCELED;typeof e.xhr<"u"&&e.xhr.abort();for(let t of i)this.emit("canceled",t);this.options.uploadMultiple&&this.emit("canceledmultiple",i)}else(e.status===r.ADDED||e.status===r.QUEUED)&&(e.status=r.CANCELED,this.emit("canceled",e),this.options.uploadMultiple&&this.emit("canceledmultiple",[e]));if(this.options.autoProcessQueue)return this.processQueue()}resolveOption(e,...i){return typeof e=="function"?e.apply(this,i):e}uploadFile(e){return this.uploadFiles([e])}uploadFiles(e){this._transformFiles(e,i=>{if(this.options.chunking){let t=i[0];e[0].upload.chunked=this.options.chunking&&(this.options.forceChunking||t.size>this.options.chunkSize),e[0].upload.totalChunkCount=Math.ceil(t.size/this.options.chunkSize)}if(e[0].upload.chunked){let t=e[0],s=i[0],l=0;t.upload.chunks=[];let o=()=>{let a=0;for(;t.upload.chunks[a]!==void 0;)a++;if(a>=t.upload.totalChunkCount)return;l++;let u=a*this.options.chunkSize,d=Math.min(u+this.options.chunkSize,s.size),h={name:this._getParamName(0),data:s.webkitSlice?s.webkitSlice(u,d):s.slice(u,d),filename:t.upload.filename,chunkIndex:a};t.upload.chunks[a]={file:t,index:a,dataBlock:h,status:r.UPLOADING,progress:0,retries:0},this._uploadData(e,[h])};if(t.upload.finishedChunkUpload=(a,u)=>{let d=!0;a.status=r.SUCCESS,a.dataBlock=null,a.response=a.xhr.responseText,a.responseHeaders=a.xhr.getAllResponseHeaders(),a.xhr=null;for(let h=0;h{this._finished(e,u,null)})},this.options.parallelChunkUploads)for(let a=0;a{this._finishedUploading(e,t,d)},t.ontimeout=()=>{this._handleUploadError(e,t,`Request timedout after ${this.options.timeout/1e3} seconds`)},t.onerror=()=>{this._handleUploadError(e,t)};let a=t.upload!=null?t.upload:t;a.onprogress=d=>this._updateFilesUploadProgress(e,t,d);let u=this.options.defaultHeaders?{Accept:"application/json","Cache-Control":"no-cache","X-Requested-With":"XMLHttpRequest"}:{};this.options.binaryBody&&(u["Content-Type"]=e[0].type),this.options.headers&&v(u,this.options.headers);for(let d in u){let h=u[d];h&&t.setRequestHeader(d,h)}if(this.options.binaryBody){for(let d of e)this.emit("sending",d,t);this.options.uploadMultiple&&this.emit("sendingmultiple",e,t),this.submitRequest(t,null,e)}else{let d=new FormData;if(this.options.params){let h=this.options.params;typeof h=="function"&&(h=h.call(this,e,t,e[0].upload.chunked?this._getChunk(e[0],t):null));for(let p in h){let c=h[p];if(Array.isArray(c))for(let m=0;m{t[l]=o,++s===e.length&&i(t)})}_addFormElementData(e){if(this.element.tagName==="FORM")for(let i of this.element.querySelectorAll("input, textarea, select, button")){let t=i.getAttribute("name"),s=i.getAttribute("type");if(s&&(s=s.toLowerCase()),!(typeof t>"u"||t===null))if(i.tagName==="SELECT"&&i.hasAttribute("multiple"))for(let l of i.options)l.selected&&e.append(t,l.value);else(!s||s!=="checkbox"&&s!=="radio"||i.checked)&&e.append(t,i.value)}}_updateFilesUploadProgress(e,i,t){if(e[0].upload.chunked){let s=e[0],l=this._getChunk(s,i);t?(l.progress=100*t.loaded/t.total,l.total=t.total,l.bytesSent=t.loaded):(l.progress=100,l.bytesSent=l.total),s.upload.progress=0,s.upload.total=0,s.upload.bytesSent=0;for(let o=0;othis.options.renameFilename.call(this,o.name,o)),typeof this.options.method=="string"&&(this.options.method=this.options.method.toUpperCase()),(t=this.getExistingFallback())&&t.parentNode&&t.parentNode.removeChild(t),this.options.previewsContainer!==!1&&(this.options.previewsContainer?this.previewsContainer=r.getElement(this.options.previewsContainer,"previewsContainer"):this.previewsContainer=this.element),this.options.clickable&&(this.options.clickable===!0?this.clickableElements=[this.element]:this.clickableElements=r.getElements(this.options.clickable,"clickable")),this.init()}}r.initClass(),r.options={},r.optionsForElement=function(n){if(n.getAttribute("id"))return r.options[T(n.getAttribute("id"))]},r.instances=[],r.forElement=function(n){if(typeof n=="string"&&(n=document.querySelector(n)),n?.dropzone==null)throw new Error("No Dropzone found for given element. This is probably because you're trying to access it before Dropzone had the time to initialize. Use the `init` option to setup any additional observers on your Dropzone.");return n.dropzone},r.discover=function(){let n;if(document.querySelectorAll)n=document.querySelectorAll(".dropzone");else{n=[];let e=i=>(()=>{let t=[];for(let s of i)/(^| )dropzone($| )/.test(s.className)?t.push(n.push(s)):t.push(void 0);return t})();e(document.getElementsByTagName("div")),e(document.getElementsByTagName("form"))}return(()=>{let e=[];for(let i of n)r.optionsForElement(i)!==!1?e.push(new r(i)):e.push(void 0);return e})()},r.blockedBrowsers=[/opera.*(Macintosh|Windows Phone).*version\/12/i],r.isBrowserSupported=function(){let n=!0;if(window.File&&window.FileReader&&window.FileList&&window.Blob&&window.FormData&&document.querySelector)if(!("classList"in document.createElement("a")))n=!1;else{r.blacklistedBrowsers!==void 0&&(r.blockedBrowsers=r.blacklistedBrowsers);for(let e of r.blockedBrowsers)if(e.test(navigator.userAgent)){n=!1;continue}}else n=!1;return n},r.dataURItoBlob=function(n){let e=atob(n.split(",")[1]),i=n.split(",")[0].split(":")[1].split(";")[0],t=new ArrayBuffer(e.length),s=new Uint8Array(t);for(let l=0,o=e.length,a=0<=o;a?l<=o:l>=o;a?l++:l--)s[l]=e.charCodeAt(l);return new Blob([t],{type:i})};const S=(n,e)=>n.filter(i=>i!==e).map(i=>i),T=n=>n.replace(/[\-_](\w)/g,e=>e.charAt(1).toUpperCase());r.createElement=function(n){let e=document.createElement("div");return e.innerHTML=n,e.childNodes[0]},r.elementInside=function(n,e){if(n===e)return!0;for(;n=n.parentNode;)if(n===e)return!0;return!1},r.getElement=function(n,e){let i;if(typeof n=="string"?i=document.querySelector(n):n.nodeType!=null&&(i=n),i==null)throw new Error(`Invalid \`${e}\` option provided. Please provide a CSS selector or a plain HTML element.`);return i},r.getElements=function(n,e){let i,t;if(n instanceof Array){t=[];try{for(i of n)t.push(this.getElement(i,e))}catch{t=null}}else if(typeof n=="string"){t=[];for(i of document.querySelectorAll(n))t.push(i)}else n.nodeType!=null&&(t=[n]);if(t==null||!t.length)throw new Error(`Invalid \`${e}\` option provided. Please provide a CSS selector, a plain HTML element or a list of those.`);return t},r.confirm=function(n,e,i){if(window.confirm(n))return e();if(i!=null)return i()},r.isValidFile=function(n,e){if(!e)return!0;e=e.split(",");let i=n.type,t=i.replace(/\/.*$/,"");for(let s of e)if(s=s.trim(),s.charAt(0)==="."){if(n.name.toLowerCase().indexOf(s.toLowerCase(),n.name.length-s.length)!==-1)return!0}else if(/\/\*$/.test(s)){if(t===s.replace(/\/.*$/,""))return!0}else if(i===s)return!0;return!1},typeof jQuery<"u"&&jQuery!==null&&(jQuery.fn.dropzone=function(n){return this.each(function(){return new r(this,n)})}),r.ADDED="added",r.QUEUED="queued",r.ACCEPTED=r.QUEUED,r.UPLOADING="uploading",r.PROCESSING=r.UPLOADING,r.CANCELED="canceled",r.ERROR="error",r.SUCCESS="success";let x=function(n){let e=n.naturalWidth,i=n.naturalHeight,t=document.createElement("canvas");t.width=1,t.height=i;let s=t.getContext("2d");s.drawImage(n,0,0);let{data:l}=s.getImageData(1,0,1,i),o=0,a=i,u=i;for(;u>o;)l[(u-1)*4+3]===0?a=u:o=u,u=a+o>>1;let d=u/i;return d===0?1:d};var A=function(n,e,i,t,s,l,o,a,u,d){let h=x(e);return n.drawImage(e,i,t,s,l,o,a,u,d/h)};class k{static initClass(){this.KEY_STR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}static encode64(e){let i="",t,s,l="",o,a,u,d="",h=0;for(;t=e[h++],s=e[h++],l=e[h++],o=t>>2,a=(t&3)<<4|s>>4,u=(s&15)<<2|l>>6,d=l&63,isNaN(s)?u=d=64:isNaN(l)&&(d=64),i=i+this.KEY_STR.charAt(o)+this.KEY_STR.charAt(a)+this.KEY_STR.charAt(u)+this.KEY_STR.charAt(d),t=s=l="",o=a=u=d="",he.length)break}return t}static decode64(e){let i="",t,s,l="",o,a,u,d="",h=0,p=[];for(/[^A-Za-z0-9\+\/\=]/g.exec(e)&&console.warn(`There were invalid base64 characters in the input text. +Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '=' +Expect errors in decoding.`),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");o=this.KEY_STR.indexOf(e.charAt(h++)),a=this.KEY_STR.indexOf(e.charAt(h++)),u=this.KEY_STR.indexOf(e.charAt(h++)),d=this.KEY_STR.indexOf(e.charAt(h++)),t=o<<2|a>>4,s=(a&15)<<4|u>>2,l=(u&3)<<6|d,p.push(t),u!==64&&p.push(s),d!==64&&p.push(l),t=s=l="",o=a=u=d="",h[> ]*|[*+-] \[[x ]\]\s|[*+-]\s|(\d+)([.)]))(\s*)/,B=/^(\s*)(>[> ]*|[*+-] \[[x ]\]|[*+-]|(\d+)[.)])(\s*)$/,R=/[*+-]\s/;W.commands.newlineAndIndentContinueMarkdownList=function(A){if(A.getOption("disableInput"))return W.Pass;for(var N=A.listSelections(),Y=[],V=0;V\s*$/.test(me),j=!/>\s*$/.test(me);(U||j)&&A.replaceRange("",{line:G.line,ch:0},{line:G.line,ch:G.ch+1}),Y[V]=` +`}else{var te=be[1],X=be[5],ue=!(R.test(be[2])||be[2].indexOf(">")>=0),ie=ue?parseInt(be[3],10)+1+be[4]:be[2].replace("x"," ");Y[V]=` +`+te+ie+X,ue&&L(A,G)}}A.replaceSelections(Y)};function L(A,N){var Y=N.line,V=0,G=0,P=Q.exec(A.getLine(Y)),oe=P[1];do{V+=1;var pe=Y+V,Ee=A.getLine(pe),me=Q.exec(Ee);if(me){var be=me[1],H=parseInt(P[3],10)+V-G,U=parseInt(me[3],10),j=U;if(oe===be&&!isNaN(U))H===U&&(j=U+1),H>U&&(j=H+1),A.replaceRange(Ee.replace(Q,be+j+me[4]+me[5]),{line:pe,ch:0},{line:pe,ch:Ee.length});else{if(oe.length>be.length||oe.lengthie);ge++){var Te=H.getLine(ue++);te=te==null?Te:te+` +`+Te}X=X*2,U.lastIndex=j.ch;var Z=U.exec(te);if(Z){var Ae=te.slice(0,Z.index).split(` +`),J=Z[0].split(` +`),Re=j.line+Ae.length-1,_=Ae[Ae.length-1].length;return{from:Q(Re,_),to:Q(Re+J.length-1,J.length==1?_+J[0].length:J[J.length-1].length),match:Z}}}}function Y(H,U,j){for(var te,X=0;X<=H.length;){U.lastIndex=X;var ue=U.exec(H);if(!ue)break;var ie=ue.index+ue[0].length;if(ie>H.length-j)break;(!te||ie>te.index+te[0].length)&&(te=ue),X=ue.index+1}return te}function V(H,U,j){U=R(U,"g");for(var te=j.line,X=j.ch,ue=H.firstLine();te>=ue;te--,X=-1){var ie=H.getLine(te),ge=Y(ie,U,X<0?0:ie.length-X);if(ge)return{from:Q(te,ge.index),to:Q(te,ge.index+ge[0].length),match:ge}}}function G(H,U,j){if(!L(U))return V(H,U,j);U=R(U,"gm");for(var te,X=1,ue=H.getLine(j.line).length-j.ch,ie=j.line,ge=H.firstLine();ie>=ge;){for(var Te=0;Te=ge;Te++){var Z=H.getLine(ie--);te=te==null?Z:Z+` +`+te}X*=2;var Ae=Y(te,U,ue);if(Ae){var J=te.slice(0,Ae.index).split(` +`),Re=Ae[0].split(` +`),_=ie+J.length,le=J[J.length-1].length;return{from:Q(_,le),to:Q(_+Re.length-1,Re.length==1?le+Re[0].length:Re[Re.length-1].length),match:Ae}}}}var P,oe;String.prototype.normalize?(P=function(H){return H.normalize("NFD").toLowerCase()},oe=function(H){return H.normalize("NFD")}):(P=function(H){return H.toLowerCase()},oe=function(H){return H});function pe(H,U,j,te){if(H.length==U.length)return j;for(var X=0,ue=j+Math.max(0,H.length-U.length);;){if(X==ue)return X;var ie=X+ue>>1,ge=te(H.slice(0,ie)).length;if(ge==j)return ie;ge>j?ue=ie:X=ie+1}}function Ee(H,U,j,te){if(!U.length)return null;var X=te?P:oe,ue=X(U).split(/\r|\n\r?/);e:for(var ie=j.line,ge=j.ch,Te=H.lastLine()+1-ue.length;ie<=Te;ie++,ge=0){var Z=H.getLine(ie).slice(ge),Ae=X(Z);if(ue.length==1){var J=Ae.indexOf(ue[0]);if(J==-1)continue e;var j=pe(Z,Ae,J,X)+ge;return{from:Q(ie,pe(Z,Ae,J,X)+ge),to:Q(ie,pe(Z,Ae,J+ue[0].length,X)+ge)}}else{var Re=Ae.length-ue[0].length;if(Ae.slice(Re)!=ue[0])continue e;for(var _=1;_=Te;ie--,ge=-1){var Z=H.getLine(ie);ge>-1&&(Z=Z.slice(0,ge));var Ae=X(Z);if(ue.length==1){var J=Ae.lastIndexOf(ue[0]);if(J==-1)continue e;return{from:Q(ie,pe(Z,Ae,J,X)),to:Q(ie,pe(Z,Ae,J+ue[0].length,X))}}else{var Re=ue[ue.length-1];if(Ae.slice(0,Re.length)!=Re)continue e;for(var _=1,j=ie-ue.length+1;_(this.doc.getLine(U.line)||"").length&&(U.ch=0,U.line++)),W.cmpPos(U,this.doc.clipPos(U))!=0))return this.atOccurrence=!1;var j=this.matches(H,U);if(this.afterEmptyMatch=j&&W.cmpPos(j.from,j.to)==0,j)return this.pos=j,this.atOccurrence=!0,this.pos.match||!0;var te=Q(H?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:te,to:te},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(H,U){if(this.atOccurrence){var j=W.splitLines(H);this.doc.replaceRange(j,this.pos.from,this.pos.to,U),this.pos.to=Q(this.pos.from.line+j.length-1,j[j.length-1].length+(j.length==1?this.pos.from.ch:0))}}},W.defineExtension("getSearchCursor",function(H,U,j){return new be(this.doc,H,U,j)}),W.defineDocExtension("getSearchCursor",function(H,U,j){return new be(this,H,U,j)}),W.defineExtension("selectMatches",function(H,U){for(var j=[],te=this.getSearchCursor(H,this.getCursor("from"),U);te.findNext()&&!(W.cmpPos(te.to(),this.getCursor("to"))>0);)j.push({anchor:te.from(),head:te.to()});j.length&&this.setSelections(j,0)})})},"./node_modules/codemirror/addon/selection/mark-selection.js":function(ct,_e,ye){(function(W){W(ye("./node_modules/codemirror/lib/codemirror.js"))})(function(W){"use strict";W.defineOption("styleSelectedText",!1,function(P,oe,pe){var Ee=pe&&pe!=W.Init;oe&&!Ee?(P.state.markedSelection=[],P.state.markedSelectionStyle=typeof oe=="string"?oe:"CodeMirror-selectedtext",V(P),P.on("cursorActivity",Q),P.on("change",B)):!oe&&Ee&&(P.off("cursorActivity",Q),P.off("change",B),Y(P),P.state.markedSelection=P.state.markedSelectionStyle=null)});function Q(P){P.state.markedSelection&&P.operation(function(){G(P)})}function B(P){P.state.markedSelection&&P.state.markedSelection.length&&P.operation(function(){Y(P)})}var R=8,L=W.Pos,A=W.cmpPos;function N(P,oe,pe,Ee){if(A(oe,pe)!=0)for(var me=P.state.markedSelection,be=P.state.markedSelectionStyle,H=oe.line;;){var U=H==oe.line?oe:L(H,0),j=H+R,te=j>=pe.line,X=te?pe:L(j,0),ue=P.markText(U,X,{className:be});if(Ee==null?me.push(ue):me.splice(Ee++,0,ue),te)break;H=j}}function Y(P){for(var oe=P.state.markedSelection,pe=0;pe1)return V(P);var oe=P.getCursor("start"),pe=P.getCursor("end"),Ee=P.state.markedSelection;if(!Ee.length)return N(P,oe,pe);var me=Ee[0].find(),be=Ee[Ee.length-1].find();if(!me||!be||pe.line-oe.line<=R||A(oe,be.to)>=0||A(pe,me.from)<=0)return V(P);for(;A(oe,me.from)>0;)Ee.shift().clear(),me=Ee[0].find();for(A(oe,me.from)<0&&(me.to.line-oe.line0&&(pe.line-be.from.line2),be=/Android/.test(_e),H=me||be||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(_e),U=me||/Mac/.test(ye),j=/\bCrOS\b/.test(_e),te=/win/i.test(ye),X=P&&_e.match(/Version\/(\d*\.\d*)/);X&&(X=Number(X[1])),X&&X>=15&&(P=!1,N=!0);var ue=U&&(Y||P&&(X==null||X<12.11)),ie=W||L&&A>=9;function ge(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}var Te=function(e,t){var i=e.className,r=ge(t).exec(i);if(r){var n=i.slice(r.index+r[0].length);e.className=i.slice(0,r.index)+(n?r[1]+n:"")}};function Z(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function Ae(e,t){return Z(e).appendChild(t)}function J(e,t,i,r){var n=document.createElement(e);if(i&&(n.className=i),r&&(n.style.cssText=r),typeof t=="string")n.appendChild(document.createTextNode(t));else if(t)for(var a=0;a=t)return o+(t-a);o+=u-a,o+=i-o%i,a=u+1}}var Qe=function(){this.id=null,this.f=null,this.time=0,this.handler=ne(this.onTimeout,this)};Qe.prototype.onTimeout=function(e){e.id=0,e.time<=+new Date?e.f():setTimeout(e.handler,e.time-+new Date)},Qe.prototype.set=function(e,t){this.f=t;var i=+new Date+e;(!this.id||i=t)return r+Math.min(o,t-n);if(n+=a-r,n+=i-n%i,r=a+1,n>=t)return r}}var De=[""];function Nt(e){for(;De.length<=e;)De.push(Oe(De)+" ");return De[e]}function Oe(e){return e[e.length-1]}function It(e,t){for(var i=[],r=0;r"\x80"&&(e.toUpperCase()!=e.toLowerCase()||zt.test(e))}function I(e,t){return t?t.source.indexOf("\\w")>-1&&xr(e)?!0:t.test(e):xr(e)}function O(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var T=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function c(e){return e.charCodeAt(0)>=768&&T.test(e)}function p(e,t,i){for(;(i<0?t>0:ti?-1:1;;){if(t==i)return t;var n=(t+i)/2,a=r<0?Math.ceil(n):Math.floor(n);if(a==t)return e(a)?t:i;e(a)?i=a:t=a+r}}function D(e,t,i,r){if(!e)return r(t,i,"ltr",0);for(var n=!1,a=0;at||t==i&&o.to==t)&&(r(Math.max(o.from,t),Math.min(o.to,i),o.level==1?"rtl":"ltr",a),n=!0)}n||r(t,i,"ltr")}var l=null;function d(e,t,i){var r;l=null;for(var n=0;nt)return n;a.to==t&&(a.from!=a.to&&i=="before"?r=n:l=n),a.from==t&&(a.from!=a.to&&i!="before"?r=n:l=n)}return r??l}var m=function(){var e="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",t="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";function i(f){return f<=247?e.charAt(f):1424<=f&&f<=1524?"R":1536<=f&&f<=1785?t.charAt(f-1536):1774<=f&&f<=2220?"r":8192<=f&&f<=8203?"w":f==8204?"b":"L"}var r=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,n=/[stwN]/,a=/[LRr]/,o=/[Lb1n]/,u=/[1n]/;function s(f,v,x){this.level=f,this.from=v,this.to=x}return function(f,v){var x=v=="ltr"?"L":"R";if(f.length==0||v=="ltr"&&!r.test(f))return!1;for(var M=f.length,E=[],z=0;z-1&&(r[t]=n.slice(0,a).concat(n.slice(a+1)))}}}function C(e,t){var i=b(e,t);if(i.length)for(var r=Array.prototype.slice.call(arguments,2),n=0;n0}function xe(e){e.prototype.on=function(t,i){S(this,t,i)},e.prototype.off=function(t,i){w(this,t,i)}}function ce(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function We(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function Ue(e){return e.defaultPrevented!=null?e.defaultPrevented:e.returnValue==!1}function Be(e){ce(e),We(e)}function ze(e){return e.target||e.srcElement}function $e(e){var t=e.which;return t==null&&(e.button&1?t=1:e.button&2?t=3:e.button&4&&(t=2)),U&&e.ctrlKey&&t==1&&(t=3),t}var Ve=function(){if(L&&A<9)return!1;var e=J("div");return"draggable"in e||"dragDrop"in e}(),At;function yt(e){if(At==null){var t=J("span","\u200B");Ae(e,J("span",[t,document.createTextNode("x")])),e.firstChild.offsetHeight!=0&&(At=t.offsetWidth<=1&&t.offsetHeight>2&&!(L&&A<8))}var i=At?J("span","\u200B"):J("span","\xA0",null,"display: inline-block; width: 1px; margin-right: -1px");return i.setAttribute("cm-text",""),i}var Wt;function Mr(e){if(Wt!=null)return Wt;var t=Ae(e,document.createTextNode("A\u062EA")),i=_(t,0,1).getBoundingClientRect(),r=_(t,1,2).getBoundingClientRect();return Z(e),!i||i.left==i.right?!1:Wt=r.right-i.right<3}var Nr=` + +b`.split(/\n/).length!=3?function(e){for(var t=0,i=[],r=e.length;t<=r;){var n=e.indexOf(` +`,t);n==-1&&(n=e.length);var a=e.slice(t,e.charAt(n-1)=="\r"?n-1:n),o=a.indexOf("\r");o!=-1?(i.push(a.slice(0,o)),t+=o+1):(i.push(a),t=n+1)}return i}:function(e){return e.split(/\r\n?|\n/)},Li=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch{return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch{}return!t||t.parentElement()!=e?!1:t.compareEndPoints("StartToEnd",t)!=0},fn=function(){var e=J("div");return"oncopy"in e?!0:(e.setAttribute("oncopy","return;"),typeof e.oncopy=="function")}(),yr=null;function cn(e){if(yr!=null)return yr;var t=Ae(e,J("span","x")),i=t.getBoundingClientRect(),r=_(t,0,1).getBoundingClientRect();return yr=Math.abs(i.left-r.left)>1}var ei={},rt={};function ur(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),ei[e]=t}function qt(e,t){rt[e]=t}function Ht(e){if(typeof e=="string"&&rt.hasOwnProperty(e))e=rt[e];else if(e&&typeof e.name=="string"&&rt.hasOwnProperty(e.name)){var t=rt[e.name];typeof t=="string"&&(t={name:t}),e=Pe(t,e),e.name=t.name}else{if(typeof e=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return Ht("application/xml");if(typeof e=="string"&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return Ht("application/json")}return typeof e=="string"?{name:e}:e||{name:"null"}}function Gt(e,t){t=Ht(t);var i=ei[t.name];if(!i)return Gt(e,"text/plain");var r=i(e,t);if(Ut.hasOwnProperty(t.name)){var n=Ut[t.name];for(var a in n)n.hasOwnProperty(a)&&(r.hasOwnProperty(a)&&(r["_"+a]=r[a]),r[a]=n[a])}if(r.name=t.name,t.helperType&&(r.helperType=t.helperType),t.modeProps)for(var o in t.modeProps)r[o]=t.modeProps[o];return r}var Ut={};function Ti(e,t){var i=Ut.hasOwnProperty(e)?Ut[e]:Ut[e]={};Le(t,i)}function tr(e,t){if(t===!0)return t;if(e.copyState)return e.copyState(t);var i={};for(var r in t){var n=t[r];n instanceof Array&&(n=n.concat([])),i[r]=n}return i}function Ir(e,t){for(var i;e.innerMode&&(i=e.innerMode(t),!(!i||i.mode==e));)t=i.state,e=i.mode;return i||{mode:e,state:t}}function sa(e,t,i){return e.startState?e.startState(t,i):!0}var ut=function(e,t,i){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=i};ut.prototype.eol=function(){return this.pos>=this.string.length},ut.prototype.sol=function(){return this.pos==this.lineStart},ut.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},ut.prototype.next=function(){if(this.post},ut.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},ut.prototype.skipToEnd=function(){this.pos=this.string.length},ut.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},ut.prototype.backUp=function(e){this.pos-=e},ut.prototype.column=function(){return this.lastColumnPos0?null:(a&&t!==!1&&(this.pos+=a[0].length),a)}},ut.prototype.current=function(){return this.string.slice(this.start,this.pos)},ut.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},ut.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},ut.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};function we(e,t){if(t-=e.first,t<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var i=e;!i.lines;)for(var r=0;;++r){var n=i.children[r],a=n.chunkSize();if(t=e.first&&ti?re(i,we(e,i).text.length):fl(t,we(e,t.line).text.length)}function fl(e,t){var i=e.ch;return i==null||i>t?re(e.line,t):i<0?re(e.line,0):e}function ca(e,t){for(var i=[],r=0;rthis.maxLookAhead&&(this.maxLookAhead=e),t},Jt.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}},Jt.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},Jt.fromSaved=function(e,t,i){return t instanceof Ni?new Jt(e,tr(e.mode,t.state),i,t.lookAhead):new Jt(e,tr(e.mode,t),i)},Jt.prototype.save=function(e){var t=e!==!1?tr(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new Ni(t,this.maxLookAhead):t};function ha(e,t,i,r){var n=[e.state.modeGen],a={};xa(e,t.text,e.doc.mode,i,function(f,v){return n.push(f,v)},a,r);for(var o=i.state,u=function(f){i.baseTokens=n;var v=e.state.overlays[f],x=1,M=0;i.state=!0,xa(e,t.text,v.mode,i,function(E,z){for(var q=x;ME&&n.splice(x,1,E,n[x+1],ae),x+=2,M=Math.min(E,ae)}if(z)if(v.opaque)n.splice(q,x-q,E,"overlay "+z),x=q+2;else for(;qe.options.maxHighlightLength&&tr(e.doc.mode,r.state),a=ha(e,t,r);n&&(r.state=n),t.stateAfter=r.save(!n),t.styles=a.styles,a.classes?t.styleClasses=a.classes:t.styleClasses&&(t.styleClasses=null),i===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function ri(e,t,i){var r=e.doc,n=e.display;if(!r.mode.startState)return new Jt(r,!0,t);var a=cl(e,t,i),o=a>r.first&&we(r,a-1).stateAfter,u=o?Jt.fromSaved(r,o,a):new Jt(r,sa(r.mode),a);return r.iter(a,t,function(s){vn(e,s.text,u);var f=u.line;s.stateAfter=f==t-1||f%5==0||f>=n.viewFrom&&ft.start)return a}throw new Error("Mode "+e.name+" failed to advance stream.")}var ga=function(e,t,i){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=i};function va(e,t,i,r){var n=e.doc,a=n.mode,o;t=Ne(n,t);var u=we(n,t.line),s=ri(e,t.line,i),f=new ut(u.text,e.options.tabSize,s),v;for(r&&(v=[]);(r||f.pose.options.maxHighlightLength?(u=!1,o&&vn(e,t,r,v.pos),v.pos=t.length,x=null):x=ma(mn(i,v,r.state,M),a),M){var E=M[0].name;E&&(x="m-"+(x?E+" "+x:E))}if(!u||f!=x){for(;so;--u){if(u<=a.first)return a.first;var s=we(a,u-1),f=s.stateAfter;if(f&&(!i||u+(f instanceof Ni?f.lookAhead:0)<=a.modeFrontier))return u;var v=Ge(s.text,null,e.options.tabSize);(n==null||r>v)&&(n=u-1,r=v)}return n}function hl(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontieri;r--){var n=we(e,r).stateAfter;if(n&&(!(n instanceof Ni)||r+n.lookAhead=t:a.to>t);(r||(r=[])).push(new Ii(o,a.from,s?null:a.to))}}return r}function xl(e,t,i){var r;if(e)for(var n=0;n=t:a.to>t);if(u||a.from==t&&o.type=="bookmark"&&(!i||a.marker.insertLeft)){var s=a.from==null||(o.inclusiveLeft?a.from<=t:a.from0&&u)for(var ve=0;ve0)){var v=[s,1],x=Me(f.from,u.from),M=Me(f.to,u.to);(x<0||!o.inclusiveLeft&&!x)&&v.push({from:f.from,to:u.from}),(M>0||!o.inclusiveRight&&!M)&&v.push({from:u.to,to:f.to}),n.splice.apply(n,v),s+=v.length-3}}return n}function ba(e){var t=e.markedSpans;if(t){for(var i=0;it)&&(!r||yn(r,a.marker)<0)&&(r=a.marker)}return r}function Sa(e,t,i,r,n){var a=we(e,t),o=rr&&a.markedSpans;if(o)for(var u=0;u=0&&x<=0||v<=0&&x>=0)&&(v<=0&&(s.marker.inclusiveRight&&n.inclusiveLeft?Me(f.to,i)>=0:Me(f.to,i)>0)||v>=0&&(s.marker.inclusiveRight&&n.inclusiveLeft?Me(f.from,r)<=0:Me(f.from,r)<0)))return!0}}}function Kt(e){for(var t;t=wa(e);)e=t.find(-1,!0).line;return e}function bl(e){for(var t;t=_i(e);)e=t.find(1,!0).line;return e}function Cl(e){for(var t,i;t=_i(e);)e=t.find(1,!0).line,(i||(i=[])).push(e);return i}function Dn(e,t){var i=we(e,t),r=Kt(i);return i==r?t:Xe(r)}function Fa(e,t){if(t>e.lastLine())return t;var i=we(e,t),r;if(!sr(e,i))return t;for(;r=_i(i);)i=r.find(1,!0).line;return Xe(i)+1}function sr(e,t){var i=rr&&t.markedSpans;if(i){for(var r=void 0,n=0;nt.maxLineLength&&(t.maxLineLength=n,t.maxLine=r)})}var Or=function(e,t,i){this.text=e,Ca(this,t),this.height=i?i(this):1};Or.prototype.lineNo=function(){return Xe(this)},xe(Or);function kl(e,t,i,r){e.text=t,e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null),e.order!=null&&(e.order=null),ba(e),Ca(e,i);var n=r?r(e):1;n!=e.height&&Qt(e,n)}function wl(e){e.parent=null,ba(e)}var Sl={},Fl={};function Aa(e,t){if(!e||/^\s*$/.test(e))return null;var i=t.addModeClass?Fl:Sl;return i[e]||(i[e]=e.replace(/\S+/g,"cm-$&"))}function Ea(e,t){var i=Re("span",null,null,N?"padding-right: .1px":null),r={pre:Re("pre",[i],"CodeMirror-line"),content:i,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption("lineWrapping")};t.measure={};for(var n=0;n<=(t.rest?t.rest.length:0);n++){var a=n?t.rest[n-1]:t.line,o=void 0;r.pos=0,r.addToken=El,Mr(e.display.measure)&&(o=y(a,e.doc.direction))&&(r.addToken=Tl(r.addToken,o)),r.map=[];var u=t!=e.display.externalMeasured&&Xe(a);Bl(a,r,da(e,a,u)),a.styleClasses&&(a.styleClasses.bgClass&&(r.bgClass=Je(a.styleClasses.bgClass,r.bgClass||"")),a.styleClasses.textClass&&(r.textClass=Je(a.styleClasses.textClass,r.textClass||""))),r.map.length==0&&r.map.push(0,0,r.content.appendChild(yt(e.display.measure))),n==0?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(N){var s=r.content.lastChild;(/\bcm-tab\b/.test(s.className)||s.querySelector&&s.querySelector(".cm-tab"))&&(r.content.className="cm-tab-wrap-hack")}return C(e,"renderLine",e,t.line,r.pre),r.pre.className&&(r.textClass=Je(r.pre.className,r.textClass||"")),r}function Al(e){var t=J("span","\u2022","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function El(e,t,i,r,n,a,o){if(t){var u=e.splitSpaces?Ll(t,e.trailingSpace):t,s=e.cm.state.specialChars,f=!1,v;if(!s.test(t))e.col+=t.length,v=document.createTextNode(u),e.map.push(e.pos,e.pos+t.length,v),L&&A<9&&(f=!0),e.pos+=t.length;else{v=document.createDocumentFragment();for(var x=0;;){s.lastIndex=x;var M=s.exec(t),E=M?M.index-x:t.length-x;if(E){var z=document.createTextNode(u.slice(x,x+E));L&&A<9?v.appendChild(J("span",[z])):v.appendChild(z),e.map.push(e.pos,e.pos+E,z),e.col+=E,e.pos+=E}if(!M)break;x+=E+1;var q=void 0;if(M[0]==" "){var ae=e.cm.options.tabSize,se=ae-e.col%ae;q=v.appendChild(J("span",Nt(se),"cm-tab")),q.setAttribute("role","presentation"),q.setAttribute("cm-text"," "),e.col+=se}else M[0]=="\r"||M[0]==` +`?(q=v.appendChild(J("span",M[0]=="\r"?"\u240D":"\u2424","cm-invalidchar")),q.setAttribute("cm-text",M[0]),e.col+=1):(q=e.cm.options.specialCharPlaceholder(M[0]),q.setAttribute("cm-text",M[0]),L&&A<9?v.appendChild(J("span",[q])):v.appendChild(q),e.col+=1);e.map.push(e.pos,e.pos+1,q),e.pos++}}if(e.trailingSpace=u.charCodeAt(t.length-1)==32,i||r||n||f||a||o){var de=i||"";r&&(de+=r),n&&(de+=n);var fe=J("span",[v],de,a);if(o)for(var ve in o)o.hasOwnProperty(ve)&&ve!="style"&&ve!="class"&&fe.setAttribute(ve,o[ve]);return e.content.appendChild(fe)}e.content.appendChild(v)}}function Ll(e,t){if(e.length>1&&!/ /.test(e))return e;for(var i=t,r="",n=0;nf&&x.from<=f));M++);if(x.to>=v)return e(i,r,n,a,o,u,s);e(i,r.slice(0,x.to-f),n,a,null,u,s),a=null,r=r.slice(x.to-f),f=x.to}}}function La(e,t,i,r){var n=!r&&i.widgetNode;n&&e.map.push(e.pos,e.pos+t,n),!r&&e.cm.display.input.needsContentAttribute&&(n||(n=e.content.appendChild(document.createElement("span"))),n.setAttribute("cm-marker",i.id)),n&&(e.cm.display.input.setUneditable(n),e.content.appendChild(n)),e.pos+=t,e.trailingSpace=!1}function Bl(e,t,i){var r=e.markedSpans,n=e.text,a=0;if(!r){for(var o=1;os||He.collapsed&&Se.to==s&&Se.from==s)){if(Se.to!=null&&Se.to!=s&&E>Se.to&&(E=Se.to,q=""),He.className&&(z+=" "+He.className),He.css&&(M=(M?M+";":"")+He.css),He.startStyle&&Se.from==s&&(ae+=" "+He.startStyle),He.endStyle&&Se.to==E&&(ve||(ve=[])).push(He.endStyle,Se.to),He.title&&((de||(de={})).title=He.title),He.attributes)for(var Ze in He.attributes)(de||(de={}))[Ze]=He.attributes[Ze];He.collapsed&&(!se||yn(se.marker,He)<0)&&(se=Se)}else Se.from>s&&E>Se.from&&(E=Se.from)}if(ve)for(var vt=0;vt=u)break;for(var Rt=Math.min(u,E);;){if(v){var Tt=s+v.length;if(!se){var st=Tt>Rt?v.slice(0,Rt-s):v;t.addToken(t,st,x?x+z:z,ae,s+st.length==E?q:"",M,de)}if(Tt>=Rt){v=v.slice(Rt-s),s=Rt;break}s=Tt,ae=""}v=n.slice(a,a=i[f++]),x=Aa(i[f++],t.cm.options)}}}function Ta(e,t,i){this.line=t,this.rest=Cl(t),this.size=this.rest?Xe(Oe(this.rest))-i+1:1,this.node=this.text=null,this.hidden=sr(e,t)}function zi(e,t,i){for(var r=[],n,a=t;a2&&a.push((s.bottom+f.top)/2-i.top)}}a.push(i.bottom-i.top)}}function _a(e,t,i){if(e.line==t)return{map:e.measure.map,cache:e.measure.cache};if(e.rest){for(var r=0;ri)return{map:e.measure.maps[n],cache:e.measure.caches[n],before:!0}}}function Ul(e,t){t=Kt(t);var i=Xe(t),r=e.display.externalMeasured=new Ta(e.doc,t,i);r.lineN=i;var n=r.built=Ea(e,r);return r.text=n.pre,Ae(e.display.lineMeasure,n.pre),r}function Ra(e,t,i,r){return Vt(e,_r(e,t),i,r)}function Fn(e,t){if(t>=e.display.viewFrom&&t=i.lineN&&tt)&&(a=s-u,n=a-1,t>=s&&(o="right")),n!=null){if(r=e[f+2],u==s&&i==(r.insertLeft?"left":"right")&&(o=i),i=="left"&&n==0)for(;f&&e[f-2]==e[f-3]&&e[f-1].insertLeft;)r=e[(f-=3)+2],o="left";if(i=="right"&&n==s-u)for(;f=0&&(i=e[n]).left==i.right;n--);return i}function ql(e,t,i,r){var n=Pa(t.map,i,r),a=n.node,o=n.start,u=n.end,s=n.collapse,f;if(a.nodeType==3){for(var v=0;v<4;v++){for(;o&&c(t.line.text.charAt(n.coverStart+o));)--o;for(;n.coverStart+u0&&(s=r="right");var x;e.options.lineWrapping&&(x=a.getClientRects()).length>1?f=x[r=="right"?x.length-1:0]:f=a.getBoundingClientRect()}if(L&&A<9&&!o&&(!f||!f.left&&!f.right)){var M=a.parentNode.getClientRects()[0];M?f={left:M.left,right:M.left+zr(e.display),top:M.top,bottom:M.bottom}:f=za}for(var E=f.top-t.rect.top,z=f.bottom-t.rect.top,q=(E+z)/2,ae=t.view.measure.heights,se=0;se=r.text.length?(s=r.text.length,f="before"):s<=0&&(s=0,f="after"),!u)return o(f=="before"?s-1:s,f=="before");function v(z,q,ae){var se=u[q],de=se.level==1;return o(ae?z-1:z,de!=ae)}var x=d(u,s,f),M=l,E=v(s,x,f=="before");return M!=null&&(E.other=v(s,M,f!="before")),E}function Ka(e,t){var i=0;t=Ne(e.doc,t),e.options.lineWrapping||(i=zr(e.display)*t.ch);var r=we(e.doc,t.line),n=ir(r)+Pi(e.display);return{left:i,right:i,top:n,bottom:n+r.height}}function En(e,t,i,r,n){var a=re(e,t,i);return a.xRel=n,r&&(a.outside=r),a}function Ln(e,t,i){var r=e.doc;if(i+=e.display.viewOffset,i<0)return En(r.first,0,null,-1,-1);var n=br(r,i),a=r.first+r.size-1;if(n>a)return En(r.first+r.size-1,we(r,a).text.length,null,1,1);t<0&&(t=0);for(var o=we(r,n);;){var u=Kl(e,o,n,t,i),s=Dl(o,u.ch+(u.xRel>0||u.outside>0?1:0));if(!s)return u;var f=s.find(1);if(f.line==n)return f;o=we(r,n=f.line)}}function Xa(e,t,i,r){r-=An(t);var n=t.text.length,a=g(function(o){return Vt(e,i,o-1).bottom<=r},n,0);return n=g(function(o){return Vt(e,i,o).top>r},a,n),{begin:a,end:n}}function Ya(e,t,i,r){i||(i=_r(e,t));var n=Wi(e,t,Vt(e,i,r),"line").top;return Xa(e,t,i,n)}function Tn(e,t,i,r){return e.bottom<=i?!1:e.top>i?!0:(r?e.left:e.right)>t}function Kl(e,t,i,r,n){n-=ir(t);var a=_r(e,t),o=An(t),u=0,s=t.text.length,f=!0,v=y(t,e.doc.direction);if(v){var x=(e.options.lineWrapping?Yl:Xl)(e,t,i,a,v,r,n);f=x.level!=1,u=f?x.from:x.to-1,s=f?x.to:x.from-1}var M=null,E=null,z=g(function(Fe){var Se=Vt(e,a,Fe);return Se.top+=o,Se.bottom+=o,Tn(Se,r,n,!1)?(Se.top<=n&&Se.left<=r&&(M=Fe,E=Se),!0):!1},u,s),q,ae,se=!1;if(E){var de=r-E.left=ve.bottom?1:0}return z=p(t.text,z,1),En(i,z,ae,se,r-q)}function Xl(e,t,i,r,n,a,o){var u=g(function(x){var M=n[x],E=M.level!=1;return Tn(Xt(e,re(i,E?M.to:M.from,E?"before":"after"),"line",t,r),a,o,!0)},0,n.length-1),s=n[u];if(u>0){var f=s.level!=1,v=Xt(e,re(i,f?s.from:s.to,f?"after":"before"),"line",t,r);Tn(v,a,o,!0)&&v.top>o&&(s=n[u-1])}return s}function Yl(e,t,i,r,n,a,o){var u=Xa(e,t,r,o),s=u.begin,f=u.end;/\s/.test(t.text.charAt(f-1))&&f--;for(var v=null,x=null,M=0;M=f||E.to<=s)){var z=E.level!=1,q=Vt(e,r,z?Math.min(f,E.to)-1:Math.max(s,E.from)).right,ae=qae)&&(v=E,x=ae)}}return v||(v=n[n.length-1]),v.fromf&&(v={from:v.from,to:f,level:v.level}),v}var kr;function Rr(e){if(e.cachedTextHeight!=null)return e.cachedTextHeight;if(kr==null){kr=J("pre",null,"CodeMirror-line-like");for(var t=0;t<49;++t)kr.appendChild(document.createTextNode("x")),kr.appendChild(J("br"));kr.appendChild(document.createTextNode("x"))}Ae(e.measure,kr);var i=kr.offsetHeight/50;return i>3&&(e.cachedTextHeight=i),Z(e.measure),i||1}function zr(e){if(e.cachedCharWidth!=null)return e.cachedCharWidth;var t=J("span","xxxxxxxxxx"),i=J("pre",[t],"CodeMirror-line-like");Ae(e.measure,i);var r=t.getBoundingClientRect(),n=(r.right-r.left)/10;return n>2&&(e.cachedCharWidth=n),n||10}function Bn(e){for(var t=e.display,i={},r={},n=t.gutters.clientLeft,a=t.gutters.firstChild,o=0;a;a=a.nextSibling,++o){var u=e.display.gutterSpecs[o].className;i[u]=a.offsetLeft+a.clientLeft+n,r[u]=a.clientWidth}return{fixedPos:Mn(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:i,gutterWidth:r,wrapperWidth:t.wrapper.clientWidth}}function Mn(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function Za(e){var t=Rr(e.display),i=e.options.lineWrapping,r=i&&Math.max(5,e.display.scroller.clientWidth/zr(e.display)-3);return function(n){if(sr(e.doc,n))return 0;var a=0;if(n.widgets)for(var o=0;o0&&(f=we(e.doc,s.line).text).length==s.ch){var v=Ge(f,f.length,e.options.tabSize)-f.length;s=re(s.line,Math.max(0,Math.round((a-Ha(e.display).left)/zr(e.display))-v))}return s}function Sr(e,t){if(t>=e.display.viewTo||(t-=e.display.viewFrom,t<0))return null;for(var i=e.display.view,r=0;rt)&&(n.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=n.viewTo)rr&&Dn(e.doc,t)n.viewFrom?cr(e):(n.viewFrom+=r,n.viewTo+=r);else if(t<=n.viewFrom&&i>=n.viewTo)cr(e);else if(t<=n.viewFrom){var a=ji(e,i,i+r,1);a?(n.view=n.view.slice(a.index),n.viewFrom=a.lineN,n.viewTo+=r):cr(e)}else if(i>=n.viewTo){var o=ji(e,t,t,-1);o?(n.view=n.view.slice(0,o.index),n.viewTo=o.lineN):cr(e)}else{var u=ji(e,t,t,-1),s=ji(e,i,i+r,1);u&&s?(n.view=n.view.slice(0,u.index).concat(zi(e,u.lineN,s.lineN)).concat(n.view.slice(s.index)),n.viewTo+=r):cr(e)}var f=n.externalMeasured;f&&(i=n.lineN&&t=r.viewTo)){var a=r.view[Sr(e,t)];if(a.node!=null){var o=a.changes||(a.changes=[]);je(o,i)==-1&&o.push(i)}}}function cr(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function ji(e,t,i,r){var n=Sr(e,t),a,o=e.display.view;if(!rr||i==e.doc.first+e.doc.size)return{index:n,lineN:i};for(var u=e.display.viewFrom,s=0;s0){if(n==o.length-1)return null;a=u+o[n].size-t,n++}else a=u-t;t+=a,i+=a}for(;Dn(e.doc,i)!=i;){if(n==(r<0?0:o.length-1))return null;i+=r*o[n-(r<0?1:0)].size,n+=r}return{index:n,lineN:i}}function Zl(e,t,i){var r=e.display,n=r.view;n.length==0||t>=r.viewTo||i<=r.viewFrom?(r.view=zi(e,t,i),r.viewFrom=t):(r.viewFrom>t?r.view=zi(e,t,r.viewFrom).concat(r.view):r.viewFromi&&(r.view=r.view.slice(0,Sr(e,i)))),r.viewTo=i}function Qa(e){for(var t=e.display.view,i=0,r=0;r=e.display.viewTo||s.to().line0?o:e.defaultCharWidth())+"px"}if(r.other){var u=i.appendChild(J("div","\xA0","CodeMirror-cursor CodeMirror-secondarycursor"));u.style.display="",u.style.left=r.other.left+"px",u.style.top=r.other.top+"px",u.style.height=(r.other.bottom-r.other.top)*.85+"px"}}function qi(e,t){return e.top-t.top||e.left-t.left}function Ql(e,t,i){var r=e.display,n=e.doc,a=document.createDocumentFragment(),o=Ha(e.display),u=o.left,s=Math.max(r.sizerWidth,Cr(e)-r.sizer.offsetLeft)-o.right,f=n.direction=="ltr";function v(fe,ve,Fe,Se){ve<0&&(ve=0),ve=Math.round(ve),Se=Math.round(Se),a.appendChild(J("div",null,"CodeMirror-selected","position: absolute; left: "+fe+`px; + top: `+ve+"px; width: "+(Fe??s-fe)+`px; + height: `+(Se-ve)+"px"))}function x(fe,ve,Fe){var Se=we(n,fe),He=Se.text.length,Ze,vt;function tt(st,Bt){return Ui(e,re(fe,st),"div",Se,Bt)}function Rt(st,Bt,Dt){var ht=Ya(e,Se,null,st),ft=Bt=="ltr"==(Dt=="after")?"left":"right",it=Dt=="after"?ht.begin:ht.end-(/\s/.test(Se.text.charAt(ht.end-1))?2:1);return tt(it,ft)[ft]}var Tt=y(Se,n.direction);return D(Tt,ve||0,Fe??He,function(st,Bt,Dt,ht){var ft=Dt=="ltr",it=tt(st,ft?"left":"right"),Mt=tt(Bt-1,ft?"right":"left"),$r=ve==null&&st==0,mr=Fe==null&&Bt==He,Ct=ht==0,er=!Tt||ht==Tt.length-1;if(Mt.top-it.top<=3){var mt=(f?$r:mr)&&Ct,la=(f?mr:$r)&&er,lr=mt?u:(ft?it:Mt).left,Tr=la?s:(ft?Mt:it).right;v(lr,it.top,Tr-lr,it.bottom)}else{var Br,Ft,Vr,ua;ft?(Br=f&&$r&&Ct?u:it.left,Ft=f?s:Rt(st,Dt,"before"),Vr=f?u:Rt(Bt,Dt,"after"),ua=f&&mr&&er?s:Mt.right):(Br=f?Rt(st,Dt,"before"):u,Ft=!f&&$r&&Ct?s:it.right,Vr=!f&&mr&&er?u:Mt.left,ua=f?Rt(Bt,Dt,"after"):s),v(Br,it.top,Ft-Br,it.bottom),it.bottom0?t.blinker=setInterval(function(){e.hasFocus()||Pr(e),t.cursorDiv.style.visibility=(i=!i)?"":"hidden"},e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function $a(e){e.hasFocus()||(e.display.input.focus(),e.state.focused||_n(e))}function Hn(e){e.state.delayingBlurEvent=!0,setTimeout(function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,e.state.focused&&Pr(e))},100)}function _n(e,t){e.state.delayingBlurEvent&&!e.state.draggingText&&(e.state.delayingBlurEvent=!1),e.options.readOnly!="nocursor"&&(e.state.focused||(C(e,"focus",e,t),e.state.focused=!0,Ce(e.display.wrapper,"CodeMirror-focused"),!e.curOp&&e.display.selForContextMenu!=e.doc.sel&&(e.display.input.reset(),N&&setTimeout(function(){return e.display.input.reset(!0)},20)),e.display.input.receivedFocus()),On(e))}function Pr(e,t){e.state.delayingBlurEvent||(e.state.focused&&(C(e,"blur",e,t),e.state.focused=!1,Te(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout(function(){e.state.focused||(e.display.shift=!1)},150))}function Gi(e){for(var t=e.display,i=t.lineDiv.offsetTop,r=Math.max(0,t.scroller.getBoundingClientRect().top),n=t.lineDiv.getBoundingClientRect().top,a=0,o=0;o.005||E<-.005)&&(ne.display.sizerWidth){var q=Math.ceil(v/zr(e.display));q>e.display.maxLineLength&&(e.display.maxLineLength=q,e.display.maxLine=u.line,e.display.maxLineChanged=!0)}}}Math.abs(a)>2&&(t.scroller.scrollTop+=a)}function Va(e){if(e.widgets)for(var t=0;t=o&&(a=br(t,ir(we(t,s))-e.wrapper.clientHeight),o=s)}return{from:a,to:Math.max(o,a+1)}}function Jl(e,t){if(!ee(e,"scrollCursorIntoView")){var i=e.display,r=i.sizer.getBoundingClientRect(),n=null,a=i.wrapper.ownerDocument;if(t.top+r.top<0?n=!0:t.bottom+r.top>(a.defaultView.innerHeight||a.documentElement.clientHeight)&&(n=!1),n!=null&&!Ee){var o=J("div","\u200B",null,`position: absolute; + top: `+(t.top-i.viewOffset-Pi(e.display))+`px; + height: `+(t.bottom-t.top+$t(e)+i.barHeight)+`px; + left: `+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(o),o.scrollIntoView(n),e.display.lineSpace.removeChild(o)}}}function $l(e,t,i,r){r==null&&(r=0);var n;!e.options.lineWrapping&&t==i&&(i=t.sticky=="before"?re(t.line,t.ch+1,"before"):t,t=t.ch?re(t.line,t.sticky=="before"?t.ch-1:t.ch,"after"):t);for(var a=0;a<5;a++){var o=!1,u=Xt(e,t),s=!i||i==t?u:Xt(e,i);n={left:Math.min(u.left,s.left),top:Math.min(u.top,s.top)-r,right:Math.max(u.left,s.left),bottom:Math.max(u.bottom,s.bottom)+r};var f=Rn(e,n),v=e.doc.scrollTop,x=e.doc.scrollLeft;if(f.scrollTop!=null&&(fi(e,f.scrollTop),Math.abs(e.doc.scrollTop-v)>1&&(o=!0)),f.scrollLeft!=null&&(Fr(e,f.scrollLeft),Math.abs(e.doc.scrollLeft-x)>1&&(o=!0)),!o)break}return n}function Vl(e,t){var i=Rn(e,t);i.scrollTop!=null&&fi(e,i.scrollTop),i.scrollLeft!=null&&Fr(e,i.scrollLeft)}function Rn(e,t){var i=e.display,r=Rr(e.display);t.top<0&&(t.top=0);var n=e.curOp&&e.curOp.scrollTop!=null?e.curOp.scrollTop:i.scroller.scrollTop,a=Sn(e),o={};t.bottom-t.top>a&&(t.bottom=t.top+a);var u=e.doc.height+wn(i),s=t.topu-r;if(t.topn+a){var v=Math.min(t.top,(f?u:t.bottom)-a);v!=n&&(o.scrollTop=v)}var x=e.options.fixedGutter?0:i.gutters.offsetWidth,M=e.curOp&&e.curOp.scrollLeft!=null?e.curOp.scrollLeft:i.scroller.scrollLeft-x,E=Cr(e)-i.gutters.offsetWidth,z=t.right-t.left>E;return z&&(t.right=t.left+E),t.left<10?o.scrollLeft=0:t.leftE+M-3&&(o.scrollLeft=t.right+(z?0:10)-E),o}function zn(e,t){t!=null&&(Xi(e),e.curOp.scrollTop=(e.curOp.scrollTop==null?e.doc.scrollTop:e.curOp.scrollTop)+t)}function Wr(e){Xi(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function si(e,t,i){(t!=null||i!=null)&&Xi(e),t!=null&&(e.curOp.scrollLeft=t),i!=null&&(e.curOp.scrollTop=i)}function eu(e,t){Xi(e),e.curOp.scrollToPos=t}function Xi(e){var t=e.curOp.scrollToPos;if(t){e.curOp.scrollToPos=null;var i=Ka(e,t.from),r=Ka(e,t.to);eo(e,i,r,t.margin)}}function eo(e,t,i,r){var n=Rn(e,{left:Math.min(t.left,i.left),top:Math.min(t.top,i.top)-r,right:Math.max(t.right,i.right),bottom:Math.max(t.bottom,i.bottom)+r});si(e,n.scrollLeft,n.scrollTop)}function fi(e,t){Math.abs(e.doc.scrollTop-t)<2||(W||Wn(e,{top:t}),to(e,t,!0),W&&Wn(e),di(e,100))}function to(e,t,i){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),!(e.display.scroller.scrollTop==t&&!i)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Fr(e,t,i,r){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),!((i?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!r)&&(e.doc.scrollLeft=t,oo(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function ci(e){var t=e.display,i=t.gutters.offsetWidth,r=Math.round(e.doc.height+wn(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?i:0,docHeight:r,scrollHeight:r+$t(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:i}}var Ar=function(e,t,i){this.cm=i;var r=this.vert=J("div",[J("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),n=this.horiz=J("div",[J("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");r.tabIndex=n.tabIndex=-1,e(r),e(n),S(r,"scroll",function(){r.clientHeight&&t(r.scrollTop,"vertical")}),S(n,"scroll",function(){n.clientWidth&&t(n.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,L&&A<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};Ar.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,i=e.scrollHeight>e.clientHeight+1,r=e.nativeBarWidth;if(i){this.vert.style.display="block",this.vert.style.bottom=t?r+"px":"0";var n=e.viewHeight-(t?r:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+n)+"px"}else this.vert.scrollTop=0,this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=i?r+"px":"0",this.horiz.style.left=e.barLeft+"px";var a=e.viewWidth-e.barLeft-(i?r:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+a)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(r==0&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:i?r:0,bottom:t?r:0}},Ar.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},Ar.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},Ar.prototype.zeroWidthHack=function(){var e=U&&!pe?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.visibility=this.vert.style.visibility="hidden",this.disableHoriz=new Qe,this.disableVert=new Qe},Ar.prototype.enableZeroWidthBar=function(e,t,i){e.style.visibility="";function r(){var n=e.getBoundingClientRect(),a=i=="vert"?document.elementFromPoint(n.right-1,(n.top+n.bottom)/2):document.elementFromPoint((n.right+n.left)/2,n.bottom-1);a!=e?e.style.visibility="hidden":t.set(1e3,r)}t.set(1e3,r)},Ar.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var hi=function(){};hi.prototype.update=function(){return{bottom:0,right:0}},hi.prototype.setScrollLeft=function(){},hi.prototype.setScrollTop=function(){},hi.prototype.clear=function(){};function Ur(e,t){t||(t=ci(e));var i=e.display.barWidth,r=e.display.barHeight;ro(e,t);for(var n=0;n<4&&i!=e.display.barWidth||r!=e.display.barHeight;n++)i!=e.display.barWidth&&e.options.lineWrapping&&Gi(e),ro(e,ci(e)),i=e.display.barWidth,r=e.display.barHeight}function ro(e,t){var i=e.display,r=i.scrollbars.update(t);i.sizer.style.paddingRight=(i.barWidth=r.right)+"px",i.sizer.style.paddingBottom=(i.barHeight=r.bottom)+"px",i.heightForcer.style.borderBottom=r.bottom+"px solid transparent",r.right&&r.bottom?(i.scrollbarFiller.style.display="block",i.scrollbarFiller.style.height=r.bottom+"px",i.scrollbarFiller.style.width=r.right+"px"):i.scrollbarFiller.style.display="",r.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(i.gutterFiller.style.display="block",i.gutterFiller.style.height=r.bottom+"px",i.gutterFiller.style.width=t.gutterWidth+"px"):i.gutterFiller.style.display=""}var io={native:Ar,null:hi};function no(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&Te(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new io[e.options.scrollbarStyle](function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),S(t,"mousedown",function(){e.state.focused&&setTimeout(function(){return e.display.input.focus()},0)}),t.setAttribute("cm-not-content","true")},function(t,i){i=="horizontal"?Fr(e,t):fi(e,t)},e),e.display.scrollbars.addClass&&Ce(e.display.wrapper,e.display.scrollbars.addClass)}var tu=0;function Er(e){e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++tu,markArrays:null},Ml(e.curOp)}function Lr(e){var t=e.curOp;t&&Il(t,function(i){for(var r=0;r=i.viewTo)||i.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new Yi(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function nu(e){e.updatedDisplay=e.mustUpdate&&Pn(e.cm,e.update)}function au(e){var t=e.cm,i=t.display;e.updatedDisplay&&Gi(t),e.barMeasure=ci(t),i.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=Ra(t,i.maxLine,i.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(i.scroller.clientWidth,i.sizer.offsetLeft+e.adjustWidthTo+$t(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,i.sizer.offsetLeft+e.adjustWidthTo-Cr(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=i.input.prepareSelection())}function ou(e){var t=e.cm;e.adjustWidthTo!=null&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft=e.display.viewTo)){var i=+new Date+e.options.workTime,r=ri(e,t.highlightFrontier),n=[];t.iter(r.line,Math.min(t.first+t.size,e.display.viewTo+500),function(a){if(r.line>=e.display.viewFrom){var o=a.styles,u=a.text.length>e.options.maxHighlightLength?tr(t.mode,r.state):null,s=ha(e,a,r,!0);u&&(r.state=u),a.styles=s.styles;var f=a.styleClasses,v=s.classes;v?a.styleClasses=v:f&&(a.styleClasses=null);for(var x=!o||o.length!=a.styles.length||f!=v&&(!f||!v||f.bgClass!=v.bgClass||f.textClass!=v.textClass),M=0;!x&&Mi)return di(e,e.options.workDelay),!0}),t.highlightFrontier=r.line,t.modeFrontier=Math.max(t.modeFrontier,r.line),n.length&&_t(e,function(){for(var a=0;a=i.viewFrom&&t.visible.to<=i.viewTo&&(i.updateLineNumbers==null||i.updateLineNumbers>=i.viewTo)&&i.renderedView==i.view&&Qa(e)==0)return!1;lo(e)&&(cr(e),t.dims=Bn(e));var n=r.first+r.size,a=Math.max(t.visible.from-e.options.viewportMargin,r.first),o=Math.min(n,t.visible.to+e.options.viewportMargin);i.viewFromo&&i.viewTo-o<20&&(o=Math.min(n,i.viewTo)),rr&&(a=Dn(e.doc,a),o=Fa(e.doc,o));var u=a!=i.viewFrom||o!=i.viewTo||i.lastWrapHeight!=t.wrapperHeight||i.lastWrapWidth!=t.wrapperWidth;Zl(e,a,o),i.viewOffset=ir(we(e.doc,i.viewFrom)),e.display.mover.style.top=i.viewOffset+"px";var s=Qa(e);if(!u&&s==0&&!t.force&&i.renderedView==i.view&&(i.updateLineNumbers==null||i.updateLineNumbers>=i.viewTo))return!1;var f=fu(e);return s>4&&(i.lineDiv.style.display="none"),hu(e,i.updateLineNumbers,t.dims),s>4&&(i.lineDiv.style.display=""),i.renderedView=i.view,cu(f),Z(i.cursorDiv),Z(i.selectionDiv),i.gutters.style.height=i.sizer.style.minHeight=0,u&&(i.lastWrapHeight=t.wrapperHeight,i.lastWrapWidth=t.wrapperWidth,di(e,400)),i.updateLineNumbers=null,!0}function ao(e,t){for(var i=t.viewport,r=!0;;r=!1){if(!r||!e.options.lineWrapping||t.oldDisplayWidth==Cr(e)){if(i&&i.top!=null&&(i={top:Math.min(e.doc.height+wn(e.display)-Sn(e),i.top)}),t.visible=Ki(e.display,e.doc,i),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break}else r&&(t.visible=Ki(e.display,e.doc,i));if(!Pn(e,t))break;Gi(e);var n=ci(e);ui(e),Ur(e,n),jn(e,n),t.force=!1}t.signal(e,"update",e),(e.display.viewFrom!=e.display.reportedViewFrom||e.display.viewTo!=e.display.reportedViewTo)&&(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function Wn(e,t){var i=new Yi(e,t);if(Pn(e,i)){Gi(e),ao(e,i);var r=ci(e);ui(e),Ur(e,r),jn(e,r),i.finish()}}function hu(e,t,i){var r=e.display,n=e.options.lineNumbers,a=r.lineDiv,o=a.firstChild;function u(z){var q=z.nextSibling;return N&&U&&e.display.currentWheelTarget==z?z.style.display="none":z.parentNode.removeChild(z),q}for(var s=r.view,f=r.viewFrom,v=0;v-1&&(E=!1),Ba(e,x,f,i)),E&&(Z(x.lineNumber),x.lineNumber.appendChild(document.createTextNode(dn(e.options,f)))),o=x.node.nextSibling}f+=x.size}for(;o;)o=u(o)}function Un(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+"px",dt(e,"gutterChanged",e)}function jn(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+$t(e)+"px"}function oo(e){var t=e.display,i=t.view;if(!(!t.alignWidgets&&(!t.gutters.firstChild||!e.options.fixedGutter))){for(var r=Mn(t)-t.scroller.scrollLeft+e.doc.scrollLeft,n=t.gutters.offsetWidth,a=r+"px",o=0;o=105&&(n.wrapper.style.clipPath="inset(0px)"),n.wrapper.setAttribute("translate","no"),L&&A<8&&(n.gutters.style.zIndex=-1,n.scroller.style.paddingRight=0),!N&&!(W&&H)&&(n.scroller.draggable=!0),e&&(e.appendChild?e.appendChild(n.wrapper):e(n.wrapper)),n.viewFrom=n.viewTo=t.first,n.reportedViewFrom=n.reportedViewTo=t.first,n.view=[],n.renderedView=null,n.externalMeasured=null,n.viewOffset=0,n.lastWrapHeight=n.lastWrapWidth=0,n.updateLineNumbers=null,n.nativeBarWidth=n.barHeight=n.barWidth=0,n.scrollbarsClipped=!1,n.lineNumWidth=n.lineNumInnerWidth=n.lineNumChars=null,n.alignWidgets=!1,n.cachedCharWidth=n.cachedTextHeight=n.cachedPaddingH=null,n.maxLine=null,n.maxLineLength=0,n.maxLineChanged=!1,n.wheelDX=n.wheelDY=n.wheelStartX=n.wheelStartY=null,n.shift=!1,n.selForContextMenu=null,n.activeTouch=null,n.gutterSpecs=qn(r.gutters,r.lineNumbers),uo(n),i.init(n)}var Zi=0,ar=null;L?ar=-.53:W?ar=15:V?ar=-.7:oe&&(ar=-1/3);function so(e){var t=e.wheelDeltaX,i=e.wheelDeltaY;return t==null&&e.detail&&e.axis==e.HORIZONTAL_AXIS&&(t=e.detail),i==null&&e.detail&&e.axis==e.VERTICAL_AXIS?i=e.detail:i==null&&(i=e.wheelDelta),{x:t,y:i}}function pu(e){var t=so(e);return t.x*=ar,t.y*=ar,t}function fo(e,t){V&&G==102&&(e.display.chromeScrollHack==null?e.display.sizer.style.pointerEvents="none":clearTimeout(e.display.chromeScrollHack),e.display.chromeScrollHack=setTimeout(function(){e.display.chromeScrollHack=null,e.display.sizer.style.pointerEvents=""},100));var i=so(t),r=i.x,n=i.y,a=ar;t.deltaMode===0&&(r=t.deltaX,n=t.deltaY,a=1);var o=e.display,u=o.scroller,s=u.scrollWidth>u.clientWidth,f=u.scrollHeight>u.clientHeight;if(r&&s||n&&f){if(n&&U&&N){e:for(var v=t.target,x=o.view;v!=u;v=v.parentNode)for(var M=0;M=0&&Me(e,r.to())<=0)return i}return-1};var Ke=function(e,t){this.anchor=e,this.head=t};Ke.prototype.from=function(){return Mi(this.anchor,this.head)},Ke.prototype.to=function(){return Bi(this.anchor,this.head)},Ke.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch};function Yt(e,t,i){var r=e&&e.options.selectionsMayTouch,n=t[i];t.sort(function(M,E){return Me(M.from(),E.from())}),i=je(t,n);for(var a=1;a0:s>=0){var f=Mi(u.from(),o.from()),v=Bi(u.to(),o.to()),x=u.empty()?o.from()==o.head:u.from()==u.head;a<=i&&--i,t.splice(--a,2,new Ke(x?v:f,x?f:v))}}return new Pt(t,i)}function hr(e,t){return new Pt([new Ke(e,t||e)],0)}function dr(e){return e.text?re(e.from.line+e.text.length-1,Oe(e.text).length+(e.text.length==1?e.from.ch:0)):e.to}function co(e,t){if(Me(e,t.from)<0)return e;if(Me(e,t.to)<=0)return dr(t);var i=e.line+t.text.length-(t.to.line-t.from.line)-1,r=e.ch;return e.line==t.to.line&&(r+=dr(t).ch-t.to.ch),re(i,r)}function Gn(e,t){for(var i=[],r=0;r1&&e.remove(u.line+1,z-1),e.insert(u.line+1,se)}dt(e,"change",e,t)}function pr(e,t,i){function r(n,a,o){if(n.linked)for(var u=0;u1&&!e.done[e.done.length-2].ranges)return e.done.pop(),Oe(e.done)}function xo(e,t,i,r){var n=e.history;n.undone.length=0;var a=+new Date,o,u;if((n.lastOp==r||n.lastOrigin==t.origin&&t.origin&&(t.origin.charAt(0)=="+"&&n.lastModTime>a-(e.cm?e.cm.options.historyEventDelay:500)||t.origin.charAt(0)=="*"))&&(o=mu(n,n.lastOp==r)))u=Oe(o.changes),Me(t.from,t.to)==0&&Me(t.from,u.to)==0?u.to=dr(t):o.changes.push(Yn(e,t));else{var s=Oe(n.done);for((!s||!s.ranges)&&Ji(e.sel,n.done),o={changes:[Yn(e,t)],generation:n.generation},n.done.push(o);n.done.length>n.undoDepth;)n.done.shift(),n.done[0].ranges||n.done.shift()}n.done.push(i),n.generation=++n.maxGeneration,n.lastModTime=n.lastSelTime=a,n.lastOp=n.lastSelOp=r,n.lastOrigin=n.lastSelOrigin=t.origin,u||C(e,"historyAdded")}function xu(e,t,i,r){var n=t.charAt(0);return n=="*"||n=="+"&&i.ranges.length==r.ranges.length&&i.somethingSelected()==r.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}function yu(e,t,i,r){var n=e.history,a=r&&r.origin;i==n.lastSelOp||a&&n.lastSelOrigin==a&&(n.lastModTime==n.lastSelTime&&n.lastOrigin==a||xu(e,a,Oe(n.done),t))?n.done[n.done.length-1]=t:Ji(t,n.done),n.lastSelTime=+new Date,n.lastSelOrigin=a,n.lastSelOp=i,r&&r.clearRedo!==!1&&mo(n.undone)}function Ji(e,t){var i=Oe(t);i&&i.ranges&&i.equals(e)||t.push(e)}function yo(e,t,i,r){var n=t["spans_"+e.id],a=0;e.iter(Math.max(e.first,i),Math.min(e.first+e.size,r),function(o){o.markedSpans&&((n||(n=t["spans_"+e.id]={}))[a]=o.markedSpans),++a})}function Du(e){if(!e)return null;for(var t,i=0;i-1&&(Oe(u)[x]=f[x],delete f[x])}}return r}function Zn(e,t,i,r){if(r){var n=e.anchor;if(i){var a=Me(t,n)<0;a!=Me(i,n)<0?(n=t,t=i):a!=Me(t,i)<0&&(t=i)}return new Ke(n,t)}else return new Ke(i||t,t)}function $i(e,t,i,r,n){n==null&&(n=e.cm&&(e.cm.display.shift||e.extend)),bt(e,new Pt([Zn(e.sel.primary(),t,i,n)],0),r)}function bo(e,t,i){for(var r=[],n=e.cm&&(e.cm.display.shift||e.extend),a=0;a=t.ch:u.to>t.ch))){if(n&&(C(s,"beforeCursorEnter"),s.explicitlyCleared))if(a.markedSpans){--o;continue}else break;if(!s.atomic)continue;if(i){var x=s.find(r<0?1:-1),M=void 0;if((r<0?v:f)&&(x=Ao(e,x,-r,x&&x.line==t.line?a:null)),x&&x.line==t.line&&(M=Me(x,i))&&(r<0?M<0:M>0))return qr(e,x,t,r,n)}var E=s.find(r<0?-1:1);return(r<0?f:v)&&(E=Ao(e,E,r,E.line==t.line?a:null)),E?qr(e,E,t,r,n):null}}return t}function en(e,t,i,r,n){var a=r||1,o=qr(e,t,i,a,n)||!n&&qr(e,t,i,a,!0)||qr(e,t,i,-a,n)||!n&&qr(e,t,i,-a,!0);return o||(e.cantEdit=!0,re(e.first,0))}function Ao(e,t,i,r){return i<0&&t.ch==0?t.line>e.first?Ne(e,re(t.line-1)):null:i>0&&t.ch==(r||we(e,t.line)).text.length?t.line=0;--n)To(e,{from:r[n].from,to:r[n].to,text:n?[""]:t.text,origin:t.origin});else To(e,t)}}function To(e,t){if(!(t.text.length==1&&t.text[0]==""&&Me(t.from,t.to)==0)){var i=Gn(e,t);xo(e,t,i,e.cm?e.cm.curOp.id:NaN),vi(e,t,i,xn(e,t));var r=[];pr(e,function(n,a){!a&&je(r,n.history)==-1&&(Io(n.history,t),r.push(n.history)),vi(n,t,null,xn(n,t))})}}function tn(e,t,i){var r=e.cm&&e.cm.state.suppressEdits;if(!(r&&!i)){for(var n=e.history,a,o=e.sel,u=t=="undo"?n.done:n.undone,s=t=="undo"?n.undone:n.done,f=0;f=0;--E){var z=M(E);if(z)return z.v}}}}function Bo(e,t){if(t!=0&&(e.first+=t,e.sel=new Pt(It(e.sel.ranges,function(n){return new Ke(re(n.anchor.line+t,n.anchor.ch),re(n.head.line+t,n.head.ch))}),e.sel.primIndex),e.cm)){Et(e.cm,e.first,e.first-t,t);for(var i=e.cm.display,r=i.viewFrom;re.lastLine())){if(t.from.linea&&(t={from:t.from,to:re(a,we(e,a).text.length),text:[t.text[0]],origin:t.origin}),t.removed=Dr(e,t.from,t.to),i||(i=Gn(e,t)),e.cm?ku(e.cm,t,r):Xn(e,t,r),Vi(e,i,Ie),e.cantEdit&&en(e,re(e.firstLine(),0))&&(e.cantEdit=!1)}}function ku(e,t,i){var r=e.doc,n=e.display,a=t.from,o=t.to,u=!1,s=a.line;e.options.lineWrapping||(s=Xe(Kt(we(r,a.line))),r.iter(s,o.line+1,function(E){if(E==n.maxLine)return u=!0,!0})),r.sel.contains(t.from,t.to)>-1&&he(e),Xn(r,t,i,Za(e)),e.options.lineWrapping||(r.iter(s,a.line+t.text.length,function(E){var z=Ri(E);z>n.maxLineLength&&(n.maxLine=E,n.maxLineLength=z,n.maxLineChanged=!0,u=!1)}),u&&(e.curOp.updateMaxLine=!0)),hl(r,a.line),di(e,400);var f=t.text.length-(o.line-a.line)-1;t.full?Et(e):a.line==o.line&&t.text.length==1&&!po(e.doc,t)?fr(e,a.line,"text"):Et(e,a.line,o.line+1,f);var v=ke(e,"changes"),x=ke(e,"change");if(x||v){var M={from:a,to:o,text:t.text,removed:t.removed,origin:t.origin};x&&dt(e,"change",e,M),v&&(e.curOp.changeObjs||(e.curOp.changeObjs=[])).push(M)}e.display.selForContextMenu=null}function Kr(e,t,i,r,n){var a;r||(r=i),Me(r,i)<0&&(a=[r,i],i=a[0],r=a[1]),typeof t=="string"&&(t=e.splitLines(t)),Gr(e,{from:i,to:r,text:t,origin:n})}function Mo(e,t,i,r){i1||!(this.children[0]instanceof xi))){var u=[];this.collapse(u),this.children=[new xi(u)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t50){for(var o=n.lines.length%25+25,u=o;u10);e.parent.maybeSpill()}},iterN:function(e,t,i){for(var r=0;re.display.maxLineLength&&(e.display.maxLine=f,e.display.maxLineLength=v,e.display.maxLineChanged=!0)}r!=null&&e&&this.collapsed&&Et(e,r,n+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&So(e.doc)),e&&dt(e,"markerCleared",e,this,r,n),t&&Lr(e),this.parent&&this.parent.clear()}},gr.prototype.find=function(e,t){e==null&&this.type=="bookmark"&&(e=1);for(var i,r,n=0;n0||o==0&&a.clearWhenEmpty!==!1)return a;if(a.replacedWith&&(a.collapsed=!0,a.widgetNode=Re("span",[a.replacedWith],"CodeMirror-widget"),r.handleMouseEvents||a.widgetNode.setAttribute("cm-ignore-events","true"),r.insertLeft&&(a.widgetNode.insertLeft=!0)),a.collapsed){if(Sa(e,t.line,t,i,a)||t.line!=i.line&&Sa(e,i.line,t,i,a))throw new Error("Inserting collapsed marker partially overlapping an existing one");pl()}a.addToHistory&&xo(e,{from:t,to:i,origin:"markText"},e.sel,NaN);var u=t.line,s=e.cm,f;if(e.iter(u,i.line+1,function(x){s&&a.collapsed&&!s.options.lineWrapping&&Kt(x)==s.display.maxLine&&(f=!0),a.collapsed&&u!=t.line&&Qt(x,0),vl(x,new Ii(a,u==t.line?t.ch:null,u==i.line?i.ch:null),e.cm&&e.cm.curOp),++u}),a.collapsed&&e.iter(t.line,i.line+1,function(x){sr(e,x)&&Qt(x,0)}),a.clearOnEnter&&S(a,"beforeCursorEnter",function(){return a.clear()}),a.readOnly&&(dl(),(e.history.done.length||e.history.undone.length)&&e.clearHistory()),a.collapsed&&(a.id=++Ho,a.atomic=!0),s){if(f&&(s.curOp.updateMaxLine=!0),a.collapsed)Et(s,t.line,i.line+1);else if(a.className||a.startStyle||a.endStyle||a.css||a.attributes||a.title)for(var v=t.line;v<=i.line;v++)fr(s,v,"text");a.atomic&&So(s.doc),dt(s,"markerAdded",s,a)}return a}var bi=function(e,t){this.markers=e,this.primary=t;for(var i=0;i=0;s--)Gr(this,r[s]);u?ko(this,u):this.cm&&Wr(this.cm)}),undo:gt(function(){tn(this,"undo")}),redo:gt(function(){tn(this,"redo")}),undoSelection:gt(function(){tn(this,"undo",!0)}),redoSelection:gt(function(){tn(this,"redo",!0)}),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,i=0,r=0;r=e.ch)&&t.push(n.marker.parent||n.marker)}return t},findMarks:function(e,t,i){e=Ne(this,e),t=Ne(this,t);var r=[],n=e.line;return this.iter(e.line,t.line+1,function(a){var o=a.markedSpans;if(o)for(var u=0;u=s.to||s.from==null&&n!=e.line||s.from!=null&&n==t.line&&s.from>=t.ch)&&(!i||i(s.marker))&&r.push(s.marker.parent||s.marker)}++n}),r},getAllMarks:function(){var e=[];return this.iter(function(t){var i=t.markedSpans;if(i)for(var r=0;re)return t=e,!0;e-=a,++i}),Ne(this,re(i,t))},indexFromPos:function(e){e=Ne(this,e);var t=e.ch;if(e.linet&&(t=e.from),e.to!=null&&e.to-1){t.state.draggingText(e),setTimeout(function(){return t.display.input.focus()},20);return}try{var v=e.dataTransfer.getData("Text");if(v){var x;if(t.state.draggingText&&!t.state.draggingText.copy&&(x=t.listSelections()),Vi(t.doc,hr(i,i)),x)for(var M=0;M=0;u--)Kr(e.doc,"",r[u].from,r[u].to,"+delete");Wr(e)})}function Jn(e,t,i){var r=p(e.text,t+i,i);return r<0||r>e.text.length?null:r}function $n(e,t,i){var r=Jn(e,t.ch,i);return r==null?null:new re(t.line,r,i<0?"after":"before")}function Vn(e,t,i,r,n){if(e){t.doc.direction=="rtl"&&(n=-n);var a=y(i,t.doc.direction);if(a){var o=n<0?Oe(a):a[0],u=n<0==(o.level==1),s=u?"after":"before",f;if(o.level>0||t.doc.direction=="rtl"){var v=_r(t,i);f=n<0?i.text.length-1:0;var x=Vt(t,v,f).top;f=g(function(M){return Vt(t,v,M).top==x},n<0==(o.level==1)?o.from:o.to-1,f),s=="before"&&(f=Jn(i,f,1))}else f=n<0?o.to:o.from;return new re(r,f,s)}}return new re(r,n<0?i.text.length:0,n<0?"before":"after")}function _u(e,t,i,r){var n=y(t,e.doc.direction);if(!n)return $n(t,i,r);i.ch>=t.text.length?(i.ch=t.text.length,i.sticky="before"):i.ch<=0&&(i.ch=0,i.sticky="after");var a=d(n,i.ch,i.sticky),o=n[a];if(e.doc.direction=="ltr"&&o.level%2==0&&(r>0?o.to>i.ch:o.from=o.from&&M>=v.begin)){var E=x?"before":"after";return new re(i.line,M,E)}}var z=function(se,de,fe){for(var ve=function(Ze,vt){return vt?new re(i.line,u(Ze,1),"before"):new re(i.line,Ze,"after")};se>=0&&se0==(Fe.level!=1),He=Se?fe.begin:u(fe.end,-1);if(Fe.from<=He&&He0?v.end:u(v.begin,-1);return ae!=null&&!(r>0&&ae==t.text.length)&&(q=z(r>0?0:n.length-1,r,f(ae)),q)?q:null}var wi={selectAll:Eo,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),Ie)},killLine:function(e){return Zr(e,function(t){if(t.empty()){var i=we(e.doc,t.head.line).text.length;return t.head.ch==i&&t.head.line0)n=new re(n.line,n.ch+1),e.replaceRange(a.charAt(n.ch-1)+a.charAt(n.ch-2),re(n.line,n.ch-2),n,"+transpose");else if(n.line>e.doc.first){var o=we(e.doc,n.line-1).text;o&&(n=new re(n.line,1),e.replaceRange(a.charAt(0)+e.doc.lineSeparator()+o.charAt(o.length-1),re(n.line-1,o.length-1),n,"+transpose"))}}i.push(new Ke(n,n))}e.setSelections(i)})},newlineAndIndent:function(e){return _t(e,function(){for(var t=e.listSelections(),i=t.length-1;i>=0;i--)e.replaceRange(e.doc.lineSeparator(),t[i].anchor,t[i].head,"+input");t=e.listSelections();for(var r=0;re&&Me(t,this.pos)==0&&i==this.button};var Fi,Ai;function qu(e,t){var i=+new Date;return Ai&&Ai.compare(i,e,t)?(Fi=Ai=null,"triple"):Fi&&Fi.compare(i,e,t)?(Ai=new ta(i,e,t),Fi=null,"double"):(Fi=new ta(i,e,t),Ai=null,"single")}function $o(e){var t=this,i=t.display;if(!(ee(t,e)||i.activeTouch&&i.input.supportsTouch())){if(i.input.ensurePolled(),i.shift=e.shiftKey,nr(i,e)){N||(i.scroller.draggable=!1,setTimeout(function(){return i.scroller.draggable=!0},100));return}if(!ra(t,e)){var r=wr(t,e),n=$e(e),a=r?qu(r,n):"single";K(t).focus(),n==1&&t.state.selectingText&&t.state.selectingText(e),!(r&&Gu(t,n,r,a,e))&&(n==1?r?Xu(t,r,a,e):ze(e)==i.scroller&&ce(e):n==2?(r&&$i(t.doc,r),setTimeout(function(){return i.input.focus()},20)):n==3&&(ie?t.display.input.onContextMenu(e):Hn(t)))}}}function Gu(e,t,i,r,n){var a="Click";return r=="double"?a="Double"+a:r=="triple"&&(a="Triple"+a),a=(t==1?"Left":t==2?"Middle":"Right")+a,Si(e,jo(a,n),n,function(o){if(typeof o=="string"&&(o=wi[o]),!o)return!1;var u=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),u=o(e,i)!=lt}finally{e.state.suppressEdits=!1}return u})}function Ku(e,t,i){var r=e.getOption("configureMouse"),n=r?r(e,t,i):{};if(n.unit==null){var a=j?i.shiftKey&&i.metaKey:i.altKey;n.unit=a?"rectangle":t=="single"?"char":t=="double"?"word":"line"}return(n.extend==null||e.doc.extend)&&(n.extend=e.doc.extend||i.shiftKey),n.addNew==null&&(n.addNew=U?i.metaKey:i.ctrlKey),n.moveOnDrag==null&&(n.moveOnDrag=!(U?i.altKey:i.ctrlKey)),n}function Xu(e,t,i,r){L?setTimeout(ne($a,e),0):e.curOp.focus=$(k(e));var n=Ku(e,i,r),a=e.doc.sel,o;e.options.dragDrop&&Ve&&!e.isReadOnly()&&i=="single"&&(o=a.contains(t))>-1&&(Me((o=a.ranges[o]).from(),t)<0||t.xRel>0)&&(Me(o.to(),t)>0||t.xRel<0)?Yu(e,r,t,n):Zu(e,r,t,n)}function Yu(e,t,i,r){var n=e.display,a=!1,o=pt(e,function(f){N&&(n.scroller.draggable=!1),e.state.draggingText=!1,e.state.delayingBlurEvent&&(e.hasFocus()?e.state.delayingBlurEvent=!1:Hn(e)),w(n.wrapper.ownerDocument,"mouseup",o),w(n.wrapper.ownerDocument,"mousemove",u),w(n.scroller,"dragstart",s),w(n.scroller,"drop",o),a||(ce(f),r.addNew||$i(e.doc,i,null,null,r.extend),N&&!oe||L&&A==9?setTimeout(function(){n.wrapper.ownerDocument.body.focus({preventScroll:!0}),n.input.focus()},20):n.input.focus())}),u=function(f){a=a||Math.abs(t.clientX-f.clientX)+Math.abs(t.clientY-f.clientY)>=10},s=function(){return a=!0};N&&(n.scroller.draggable=!0),e.state.draggingText=o,o.copy=!r.moveOnDrag,S(n.wrapper.ownerDocument,"mouseup",o),S(n.wrapper.ownerDocument,"mousemove",u),S(n.scroller,"dragstart",s),S(n.scroller,"drop",o),e.state.delayingBlurEvent=!0,setTimeout(function(){return n.input.focus()},20),n.scroller.dragDrop&&n.scroller.dragDrop()}function Vo(e,t,i){if(i=="char")return new Ke(t,t);if(i=="word")return e.findWordAt(t);if(i=="line")return new Ke(re(t.line,0),Ne(e.doc,re(t.line+1,0)));var r=i(e,t);return new Ke(r.from,r.to)}function Zu(e,t,i,r){L&&Hn(e);var n=e.display,a=e.doc;ce(t);var o,u,s=a.sel,f=s.ranges;if(r.addNew&&!r.extend?(u=a.sel.contains(i),u>-1?o=f[u]:o=new Ke(i,i)):(o=a.sel.primary(),u=a.sel.primIndex),r.unit=="rectangle")r.addNew||(o=new Ke(i,i)),i=wr(e,t,!0,!0),u=-1;else{var v=Vo(e,i,r.unit);r.extend?o=Zn(o,v.anchor,v.head,r.extend):o=v}r.addNew?u==-1?(u=f.length,bt(a,Yt(e,f.concat([o]),u),{scroll:!1,origin:"*mouse"})):f.length>1&&f[u].empty()&&r.unit=="char"&&!r.extend?(bt(a,Yt(e,f.slice(0,u).concat(f.slice(u+1)),0),{scroll:!1,origin:"*mouse"}),s=a.sel):Qn(a,u,o,qe):(u=0,bt(a,new Pt([o],0),qe),s=a.sel);var x=i;function M(fe){if(Me(x,fe)!=0)if(x=fe,r.unit=="rectangle"){for(var ve=[],Fe=e.options.tabSize,Se=Ge(we(a,i.line).text,i.ch,Fe),He=Ge(we(a,fe.line).text,fe.ch,Fe),Ze=Math.min(Se,He),vt=Math.max(Se,He),tt=Math.min(i.line,fe.line),Rt=Math.min(e.lastLine(),Math.max(i.line,fe.line));tt<=Rt;tt++){var Tt=we(a,tt).text,st=jt(Tt,Ze,Fe);Ze==vt?ve.push(new Ke(re(tt,st),re(tt,st))):Tt.length>st&&ve.push(new Ke(re(tt,st),re(tt,jt(Tt,vt,Fe))))}ve.length||ve.push(new Ke(i,i)),bt(a,Yt(e,s.ranges.slice(0,u).concat(ve),u),{origin:"*mouse",scroll:!1}),e.scrollIntoView(fe)}else{var Bt=o,Dt=Vo(e,fe,r.unit),ht=Bt.anchor,ft;Me(Dt.anchor,ht)>0?(ft=Dt.head,ht=Mi(Bt.from(),Dt.anchor)):(ft=Dt.anchor,ht=Bi(Bt.to(),Dt.head));var it=s.ranges.slice(0);it[u]=Qu(e,new Ke(Ne(a,ht),ft)),bt(a,Yt(e,it,u),qe)}}var E=n.wrapper.getBoundingClientRect(),z=0;function q(fe){var ve=++z,Fe=wr(e,fe,!0,r.unit=="rectangle");if(Fe)if(Me(Fe,x)!=0){e.curOp.focus=$(k(e)),M(Fe);var Se=Ki(n,a);(Fe.line>=Se.to||Fe.lineE.bottom?20:0;He&&setTimeout(pt(e,function(){z==ve&&(n.scroller.scrollTop+=He,q(fe))}),50)}}function ae(fe){e.state.selectingText=!1,z=1/0,fe&&(ce(fe),n.input.focus()),w(n.wrapper.ownerDocument,"mousemove",se),w(n.wrapper.ownerDocument,"mouseup",de),a.history.lastSelOrigin=null}var se=pt(e,function(fe){fe.buttons===0||!$e(fe)?ae(fe):q(fe)}),de=pt(e,ae);e.state.selectingText=de,S(n.wrapper.ownerDocument,"mousemove",se),S(n.wrapper.ownerDocument,"mouseup",de)}function Qu(e,t){var i=t.anchor,r=t.head,n=we(e.doc,i.line);if(Me(i,r)==0&&i.sticky==r.sticky)return t;var a=y(n);if(!a)return t;var o=d(a,i.ch,i.sticky),u=a[o];if(u.from!=i.ch&&u.to!=i.ch)return t;var s=o+(u.from==i.ch==(u.level!=1)?0:1);if(s==0||s==a.length)return t;var f;if(r.line!=i.line)f=(r.line-i.line)*(e.doc.direction=="ltr"?1:-1)>0;else{var v=d(a,r.ch,r.sticky),x=v-o||(r.ch-i.ch)*(u.level==1?-1:1);v==s-1||v==s?f=x<0:f=x>0}var M=a[s+(f?-1:0)],E=f==(M.level==1),z=E?M.from:M.to,q=E?"after":"before";return i.ch==z&&i.sticky==q?t:new Ke(new re(i.line,z,q),r)}function el(e,t,i,r){var n,a;if(t.touches)n=t.touches[0].clientX,a=t.touches[0].clientY;else try{n=t.clientX,a=t.clientY}catch{return!1}if(n>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;r&&ce(t);var o=e.display,u=o.lineDiv.getBoundingClientRect();if(a>u.bottom||!ke(e,i))return Ue(t);a-=u.top-o.viewOffset;for(var s=0;s=n){var v=br(e.doc,a),x=e.display.gutterSpecs[s];return C(e,i,e,v,x.className,t),Ue(t)}}}function ra(e,t){return el(e,t,"gutterClick",!0)}function tl(e,t){nr(e.display,t)||Ju(e,t)||ee(e,t,"contextmenu")||ie||e.display.input.onContextMenu(t)}function Ju(e,t){return ke(e,"gutterContextMenu")?el(e,t,"gutterContextMenu",!1):!1}function rl(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),li(e)}var Qr={toString:function(){return"CodeMirror.Init"}},il={},on={};function $u(e){var t=e.optionHandlers;function i(r,n,a,o){e.defaults[r]=n,a&&(t[r]=o?function(u,s,f){f!=Qr&&a(u,s,f)}:a)}e.defineOption=i,e.Init=Qr,i("value","",function(r,n){return r.setValue(n)},!0),i("mode",null,function(r,n){r.doc.modeOption=n,Kn(r)},!0),i("indentUnit",2,Kn,!0),i("indentWithTabs",!1),i("smartIndent",!0),i("tabSize",4,function(r){gi(r),li(r),Et(r)},!0),i("lineSeparator",null,function(r,n){if(r.doc.lineSep=n,!!n){var a=[],o=r.doc.first;r.doc.iter(function(s){for(var f=0;;){var v=s.text.indexOf(n,f);if(v==-1)break;f=v+n.length,a.push(re(o,v))}o++});for(var u=a.length-1;u>=0;u--)Kr(r.doc,n,a[u],re(a[u].line,a[u].ch+n.length))}}),i("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\u202d\u202e\u2066\u2067\u2069\ufeff\ufff9-\ufffc]/g,function(r,n,a){r.state.specialChars=new RegExp(n.source+(n.test(" ")?"":"| "),"g"),a!=Qr&&r.refresh()}),i("specialCharPlaceholder",Al,function(r){return r.refresh()},!0),i("electricChars",!0),i("inputStyle",H?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),i("spellcheck",!1,function(r,n){return r.getInputField().spellcheck=n},!0),i("autocorrect",!1,function(r,n){return r.getInputField().autocorrect=n},!0),i("autocapitalize",!1,function(r,n){return r.getInputField().autocapitalize=n},!0),i("rtlMoveVisually",!te),i("wholeLineUpdateBefore",!0),i("theme","default",function(r){rl(r),pi(r)},!0),i("keyMap","default",function(r,n,a){var o=nn(n),u=a!=Qr&&nn(a);u&&u.detach&&u.detach(r,o),o.attach&&o.attach(r,u||null)}),i("extraKeys",null),i("configureMouse",null),i("lineWrapping",!1,es,!0),i("gutters",[],function(r,n){r.display.gutterSpecs=qn(n,r.options.lineNumbers),pi(r)},!0),i("fixedGutter",!0,function(r,n){r.display.gutters.style.left=n?Mn(r.display)+"px":"0",r.refresh()},!0),i("coverGutterNextToScrollbar",!1,function(r){return Ur(r)},!0),i("scrollbarStyle","native",function(r){no(r),Ur(r),r.display.scrollbars.setScrollTop(r.doc.scrollTop),r.display.scrollbars.setScrollLeft(r.doc.scrollLeft)},!0),i("lineNumbers",!1,function(r,n){r.display.gutterSpecs=qn(r.options.gutters,n),pi(r)},!0),i("firstLineNumber",1,pi,!0),i("lineNumberFormatter",function(r){return r},pi,!0),i("showCursorWhenSelecting",!1,ui,!0),i("resetSelectionOnContextMenu",!0),i("lineWiseCopyCut",!0),i("pasteLinesPerSelection",!0),i("selectionsMayTouch",!1),i("readOnly",!1,function(r,n){n=="nocursor"&&(Pr(r),r.display.input.blur()),r.display.input.readOnlyChanged(n)}),i("screenReaderLabel",null,function(r,n){n=n===""?null:n,r.display.input.screenReaderLabelChanged(n)}),i("disableInput",!1,function(r,n){n||r.display.input.reset()},!0),i("dragDrop",!0,Vu),i("allowDropFileTypes",null),i("cursorBlinkRate",530),i("cursorScrollMargin",0),i("cursorHeight",1,ui,!0),i("singleCursorHeightPerLine",!0,ui,!0),i("workTime",100),i("workDelay",100),i("flattenSpans",!0,gi,!0),i("addModeClass",!1,gi,!0),i("pollInterval",100),i("undoDepth",200,function(r,n){return r.doc.history.undoDepth=n}),i("historyEventDelay",1250),i("viewportMargin",10,function(r){return r.refresh()},!0),i("maxHighlightLength",1e4,gi,!0),i("moveInputWithCursor",!0,function(r,n){n||r.display.input.resetPosition()}),i("tabindex",null,function(r,n){return r.display.input.getField().tabIndex=n||""}),i("autofocus",null),i("direction","ltr",function(r,n){return r.doc.setDirection(n)},!0),i("phrases",null)}function Vu(e,t,i){var r=i&&i!=Qr;if(!t!=!r){var n=e.display.dragFunctions,a=t?S:w;a(e.display.scroller,"dragstart",n.start),a(e.display.scroller,"dragenter",n.enter),a(e.display.scroller,"dragover",n.over),a(e.display.scroller,"dragleave",n.leave),a(e.display.scroller,"drop",n.drop)}}function es(e){e.options.lineWrapping?(Ce(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(Te(e.display.wrapper,"CodeMirror-wrap"),Cn(e)),Nn(e),Et(e),li(e),setTimeout(function(){return Ur(e)},100)}function et(e,t){var i=this;if(!(this instanceof et))return new et(e,t);this.options=t=t?Le(t):{},Le(il,t,!1);var r=t.value;typeof r=="string"?r=new Lt(r,t.mode,null,t.lineSeparator,t.direction):t.mode&&(r.modeOption=t.mode),this.doc=r;var n=new et.inputStyles[t.inputStyle](this),a=this.display=new du(e,r,n,t);a.wrapper.CodeMirror=this,rl(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),no(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new Qe,keySeq:null,specialChars:null},t.autofocus&&!H&&a.input.focus(),L&&A<11&&setTimeout(function(){return i.display.input.reset(!0)},20),ts(this),Mu(),Er(this),this.curOp.forceUpdate=!0,go(this,r),t.autofocus&&!H||this.hasFocus()?setTimeout(function(){i.hasFocus()&&!i.state.focused&&_n(i)},20):Pr(this);for(var o in on)on.hasOwnProperty(o)&&on[o](this,t[o],Qr);lo(this),t.finishInit&&t.finishInit(this);for(var u=0;u20*20}S(t.scroller,"touchstart",function(s){if(!ee(e,s)&&!a(s)&&!ra(e,s)){t.input.ensurePolled(),clearTimeout(i);var f=+new Date;t.activeTouch={start:f,moved:!1,prev:f-r.end<=300?r:null},s.touches.length==1&&(t.activeTouch.left=s.touches[0].pageX,t.activeTouch.top=s.touches[0].pageY)}}),S(t.scroller,"touchmove",function(){t.activeTouch&&(t.activeTouch.moved=!0)}),S(t.scroller,"touchend",function(s){var f=t.activeTouch;if(f&&!nr(t,s)&&f.left!=null&&!f.moved&&new Date-f.start<300){var v=e.coordsChar(t.activeTouch,"page"),x;!f.prev||o(f,f.prev)?x=new Ke(v,v):!f.prev.prev||o(f,f.prev.prev)?x=e.findWordAt(v):x=new Ke(re(v.line,0),Ne(e.doc,re(v.line+1,0))),e.setSelection(x.anchor,x.head),e.focus(),ce(s)}n()}),S(t.scroller,"touchcancel",n),S(t.scroller,"scroll",function(){t.scroller.clientHeight&&(fi(e,t.scroller.scrollTop),Fr(e,t.scroller.scrollLeft,!0),C(e,"scroll",e))}),S(t.scroller,"mousewheel",function(s){return fo(e,s)}),S(t.scroller,"DOMMouseScroll",function(s){return fo(e,s)}),S(t.wrapper,"scroll",function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0}),t.dragFunctions={enter:function(s){ee(e,s)||Be(s)},over:function(s){ee(e,s)||(Bu(e,s),Be(s))},start:function(s){return Tu(e,s)},drop:pt(e,Lu),leave:function(s){ee(e,s)||zo(e)}};var u=t.input.getField();S(u,"keyup",function(s){return Qo.call(e,s)}),S(u,"keydown",pt(e,Zo)),S(u,"keypress",pt(e,Jo)),S(u,"focus",function(s){return _n(e,s)}),S(u,"blur",function(s){return Pr(e,s)})}var ia=[];et.defineInitHook=function(e){return ia.push(e)};function Ei(e,t,i,r){var n=e.doc,a;i==null&&(i="add"),i=="smart"&&(n.mode.indent?a=ri(e,t).state:i="prev");var o=e.options.tabSize,u=we(n,t),s=Ge(u.text,null,o);u.stateAfter&&(u.stateAfter=null);var f=u.text.match(/^\s*/)[0],v;if(!r&&!/\S/.test(u.text))v=0,i="not";else if(i=="smart"&&(v=n.mode.indent(a,u.text.slice(f.length),u.text),v==lt||v>150)){if(!r)return;i="prev"}i=="prev"?t>n.first?v=Ge(we(n,t-1).text,null,o):v=0:i=="add"?v=s+e.options.indentUnit:i=="subtract"?v=s-e.options.indentUnit:typeof i=="number"&&(v=s+i),v=Math.max(0,v);var x="",M=0;if(e.options.indentWithTabs)for(var E=Math.floor(v/o);E;--E)M+=o,x+=" ";if(Mo,s=Nr(t),f=null;if(u&&r.ranges.length>1)if(Zt&&Zt.text.join(` +`)==t){if(r.ranges.length%Zt.text.length==0){f=[];for(var v=0;v=0;M--){var E=r.ranges[M],z=E.from(),q=E.to();E.empty()&&(i&&i>0?z=re(z.line,z.ch-i):e.state.overwrite&&!u?q=re(q.line,Math.min(we(a,q.line).text.length,q.ch+Oe(s).length)):u&&Zt&&Zt.lineWise&&Zt.text.join(` +`)==s.join(` +`)&&(z=q=re(z.line,0)));var ae={from:z,to:q,text:f?f[M%f.length]:s,origin:n||(u?"paste":e.state.cutIncoming>o?"cut":"+input")};Gr(e.doc,ae),dt(e,"inputRead",e,ae)}t&&!u&&al(e,t),Wr(e),e.curOp.updateInput<2&&(e.curOp.updateInput=x),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function nl(e,t){var i=e.clipboardData&&e.clipboardData.getData("Text");if(i)return e.preventDefault(),!t.isReadOnly()&&!t.options.disableInput&&t.hasFocus()&&_t(t,function(){return na(t,i,0,null,"paste")}),!0}function al(e,t){if(!(!e.options.electricChars||!e.options.smartIndent))for(var i=e.doc.sel,r=i.ranges.length-1;r>=0;r--){var n=i.ranges[r];if(!(n.head.ch>100||r&&i.ranges[r-1].head.line==n.head.line)){var a=e.getModeAt(n.head),o=!1;if(a.electricChars){for(var u=0;u-1){o=Ei(e,n.head.line,"smart");break}}else a.electricInput&&a.electricInput.test(we(e.doc,n.head.line).text.slice(0,n.head.ch))&&(o=Ei(e,n.head.line,"smart"));o&&dt(e,"electricInput",e,n.head.line)}}}function ol(e){for(var t=[],i=[],r=0;ra&&(Ei(this,u.head.line,r,!0),a=u.head.line,o==this.doc.sel.primIndex&&Wr(this));else{var s=u.from(),f=u.to(),v=Math.max(a,s.line);a=Math.min(this.lastLine(),f.line-(f.ch?0:1))+1;for(var x=v;x0&&Qn(this.doc,o,new Ke(s,M[o].to()),Ie)}}}),getTokenAt:function(r,n){return va(this,r,n)},getLineTokens:function(r,n){return va(this,re(r),n,!0)},getTokenTypeAt:function(r){r=Ne(this.doc,r);var n=da(this,we(this.doc,r.line)),a=0,o=(n.length-1)/2,u=r.ch,s;if(u==0)s=n[2];else for(;;){var f=a+o>>1;if((f?n[f*2-1]:0)>=u)o=f;else if(n[f*2+1]s&&(r=s,o=!0),u=we(this.doc,r)}else u=r;return Wi(this,u,{top:0,left:0},n||"page",a||o).top+(o?this.doc.height-ir(u):0)},defaultTextHeight:function(){return Rr(this.display)},defaultCharWidth:function(){return zr(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(r,n,a,o,u){var s=this.display;r=Xt(this,Ne(this.doc,r));var f=r.bottom,v=r.left;if(n.style.position="absolute",n.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(n),s.sizer.appendChild(n),o=="over")f=r.top;else if(o=="above"||o=="near"){var x=Math.max(s.wrapper.clientHeight,this.doc.height),M=Math.max(s.sizer.clientWidth,s.lineSpace.clientWidth);(o=="above"||r.bottom+n.offsetHeight>x)&&r.top>n.offsetHeight?f=r.top-n.offsetHeight:r.bottom+n.offsetHeight<=x&&(f=r.bottom),v+n.offsetWidth>M&&(v=M-n.offsetWidth)}n.style.top=f+"px",n.style.left=n.style.right="",u=="right"?(v=s.sizer.clientWidth-n.offsetWidth,n.style.right="0px"):(u=="left"?v=0:u=="middle"&&(v=(s.sizer.clientWidth-n.offsetWidth)/2),n.style.left=v+"px"),a&&Vl(this,{left:v,top:f,right:v+n.offsetWidth,bottom:f+n.offsetHeight})},triggerOnKeyDown:St(Zo),triggerOnKeyPress:St(Jo),triggerOnKeyUp:Qo,triggerOnMouseDown:St($o),execCommand:function(r){if(wi.hasOwnProperty(r))return wi[r].call(null,this)},triggerElectric:St(function(r){al(this,r)}),findPosH:function(r,n,a,o){var u=1;n<0&&(u=-1,n=-n);for(var s=Ne(this.doc,r),f=0;f0&&v(a.charAt(o-1));)--o;for(;u.5||this.options.lineWrapping)&&Nn(this),C(this,"refresh",this)}),swapDoc:St(function(r){var n=this.doc;return n.cm=null,this.state.selectingText&&this.state.selectingText(),go(this,r),li(this),this.display.input.reset(),si(this,r.scrollLeft,r.scrollTop),this.curOp.forceScroll=!0,dt(this,"swapDoc",this,n),n}),phrase:function(r){var n=this.options.phrases;return n&&Object.prototype.hasOwnProperty.call(n,r)?n[r]:r},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},xe(e),e.registerHelper=function(r,n,a){i.hasOwnProperty(r)||(i[r]=e[r]={_global:[]}),i[r][n]=a},e.registerGlobalHelper=function(r,n,a,o){e.registerHelper(r,n,o),i[r]._global.push({pred:a,val:o})}}function oa(e,t,i,r,n){var a=t,o=i,u=we(e,t.line),s=n&&e.direction=="rtl"?-i:i;function f(){var de=t.line+s;return de=e.first+e.size?!1:(t=new re(de,t.ch,t.sticky),u=we(e,de))}function v(de){var fe;if(r=="codepoint"){var ve=u.text.charCodeAt(t.ch+(i>0?0:-1));if(isNaN(ve))fe=null;else{var Fe=i>0?ve>=55296&&ve<56320:ve>=56320&&ve<57343;fe=new re(t.line,Math.max(0,Math.min(u.text.length,t.ch+i*(Fe?2:1))),-i)}}else n?fe=_u(e.cm,u,t,i):fe=$n(u,t,i);if(fe==null)if(!de&&f())t=Vn(n,e.cm,u,t.line,s);else return!1;else t=fe;return!0}if(r=="char"||r=="codepoint")v();else if(r=="column")v(!0);else if(r=="word"||r=="group")for(var x=null,M=r=="group",E=e.cm&&e.cm.getHelper(t,"wordChars"),z=!0;!(i<0&&!v(!z));z=!1){var q=u.text.charAt(t.ch)||` +`,ae=I(q,E)?"w":M&&q==` +`?"n":!M||/\s/.test(q)?null:"p";if(M&&!z&&!ae&&(ae="s"),x&&x!=ae){i<0&&(i=1,v(),t.sticky="after");break}if(ae&&(x=ae),i>0&&!v(!z))break}var se=en(e,t,a,o,!0);return pn(a,se)&&(se.hitSide=!0),se}function ul(e,t,i,r){var n=e.doc,a=t.left,o;if(r=="page"){var u=Math.min(e.display.wrapper.clientHeight,K(e).innerHeight||n(e).documentElement.clientHeight),s=Math.max(u-.5*Rr(e.display),3);o=(i>0?t.bottom:t.top)+i*s}else r=="line"&&(o=i>0?t.bottom+3:t.top-3);for(var f;f=Ln(e,a,o),!!f.outside;){if(i<0?o<=0:o>=n.height){f.hitSide=!0;break}o+=i*5}return f}var Ye=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new Qe,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};Ye.prototype.init=function(e){var t=this,i=this,r=i.cm,n=i.div=e.lineDiv;n.contentEditable=!0,aa(n,r.options.spellcheck,r.options.autocorrect,r.options.autocapitalize);function a(u){for(var s=u.target;s;s=s.parentNode){if(s==n)return!0;if(/\bCodeMirror-(?:line)?widget\b/.test(s.className))break}return!1}S(n,"paste",function(u){!a(u)||ee(r,u)||nl(u,r)||A<=11&&setTimeout(pt(r,function(){return t.updateFromDOM()}),20)}),S(n,"compositionstart",function(u){t.composing={data:u.data,done:!1}}),S(n,"compositionupdate",function(u){t.composing||(t.composing={data:u.data,done:!1})}),S(n,"compositionend",function(u){t.composing&&(u.data!=t.composing.data&&t.readFromDOMSoon(),t.composing.done=!0)}),S(n,"touchstart",function(){return i.forceCompositionEnd()}),S(n,"input",function(){t.composing||t.readFromDOMSoon()});function o(u){if(!(!a(u)||ee(r,u))){if(r.somethingSelected())ln({lineWise:!1,text:r.getSelections()}),u.type=="cut"&&r.replaceSelection("",null,"cut");else if(r.options.lineWiseCopyCut){var s=ol(r);ln({lineWise:!0,text:s.text}),u.type=="cut"&&r.operation(function(){r.setSelections(s.ranges,0,Ie),r.replaceSelection("",null,"cut")})}else return;if(u.clipboardData){u.clipboardData.clearData();var f=Zt.text.join(` +`);if(u.clipboardData.setData("Text",f),u.clipboardData.getData("Text")==f){u.preventDefault();return}}var v=ll(),x=v.firstChild;aa(x),r.display.lineSpace.insertBefore(v,r.display.lineSpace.firstChild),x.value=Zt.text.join(` +`);var M=$(h(n));at(x),setTimeout(function(){r.display.lineSpace.removeChild(v),M.focus(),M==n&&i.showPrimarySelection()},50)}}S(n,"copy",o),S(n,"cut",o)},Ye.prototype.screenReaderLabelChanged=function(e){e?this.div.setAttribute("aria-label",e):this.div.removeAttribute("aria-label")},Ye.prototype.prepareSelection=function(){var e=Ja(this.cm,!1);return e.focus=$(h(this.div))==this.div,e},Ye.prototype.showSelection=function(e,t){!e||!this.cm.display.view.length||((e.focus||t)&&this.showPrimarySelection(),this.showMultipleSelections(e))},Ye.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},Ye.prototype.showPrimarySelection=function(){var e=this.getSelection(),t=this.cm,i=t.doc.sel.primary(),r=i.from(),n=i.to();if(t.display.viewTo==t.display.viewFrom||r.line>=t.display.viewTo||n.line=t.display.viewFrom&&sl(t,r)||{node:u[0].measure.map[2],offset:0},f=n.linee.firstLine()&&(r=re(r.line-1,we(e.doc,r.line-1).length)),n.ch==we(e.doc,n.line).text.length&&n.linet.viewTo-1)return!1;var a,o,u;r.line==t.viewFrom||(a=Sr(e,r.line))==0?(o=Xe(t.view[0].line),u=t.view[0].node):(o=Xe(t.view[a].line),u=t.view[a-1].node.nextSibling);var s=Sr(e,n.line),f,v;if(s==t.view.length-1?(f=t.viewTo-1,v=t.lineDiv.lastChild):(f=Xe(t.view[s+1].line)-1,v=t.view[s+1].node.previousSibling),!u)return!1;for(var x=e.doc.splitLines(ns(e,u,v,o,f)),M=Dr(e.doc,re(o,0),re(f,we(e.doc,f).text.length));x.length>1&&M.length>1;)if(Oe(x)==Oe(M))x.pop(),M.pop(),f--;else if(x[0]==M[0])x.shift(),M.shift(),o++;else break;for(var E=0,z=0,q=x[0],ae=M[0],se=Math.min(q.length,ae.length);Er.ch&&de.charCodeAt(de.length-z-1)==fe.charCodeAt(fe.length-z-1);)E--,z++;x[x.length-1]=de.slice(0,de.length-z).replace(/^\u200b+/,""),x[0]=x[0].slice(E).replace(/\u200b+$/,"");var Fe=re(o,E),Se=re(f,M.length?Oe(M).length-z:0);if(x.length>1||x[0]||Me(Fe,Se))return Kr(e.doc,x,Fe,Se,"+input"),!0},Ye.prototype.ensurePolled=function(){this.forceCompositionEnd()},Ye.prototype.reset=function(){this.forceCompositionEnd()},Ye.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Ye.prototype.readFromDOMSoon=function(){var e=this;this.readDOMTimeout==null&&(this.readDOMTimeout=setTimeout(function(){if(e.readDOMTimeout=null,e.composing)if(e.composing.done)e.composing=null;else return;e.updateFromDOM()},80))},Ye.prototype.updateFromDOM=function(){var e=this;(this.cm.isReadOnly()||!this.pollContent())&&_t(this.cm,function(){return Et(e.cm)})},Ye.prototype.setUneditable=function(e){e.contentEditable="false"},Ye.prototype.onKeyPress=function(e){e.charCode==0||this.composing||(e.preventDefault(),this.cm.isReadOnly()||pt(this.cm,na)(this.cm,String.fromCharCode(e.charCode==null?e.keyCode:e.charCode),0))},Ye.prototype.readOnlyChanged=function(e){this.div.contentEditable=String(e!="nocursor")},Ye.prototype.onContextMenu=function(){},Ye.prototype.resetPosition=function(){},Ye.prototype.needsContentAttribute=!0;function sl(e,t){var i=Fn(e,t.line);if(!i||i.hidden)return null;var r=we(e.doc,t.line),n=_a(i,r,t.line),a=y(r,e.doc.direction),o="left";if(a){var u=d(a,t.ch);o=u%2?"right":"left"}var s=Pa(n.map,t.ch,o);return s.offset=s.collapse=="right"?s.end:s.start,s}function is(e){for(var t=e;t;t=t.parentNode)if(/CodeMirror-gutter-wrapper/.test(t.className))return!0;return!1}function Jr(e,t){return t&&(e.bad=!0),e}function ns(e,t,i,r,n){var a="",o=!1,u=e.doc.lineSeparator(),s=!1;function f(E){return function(z){return z.id==E}}function v(){o&&(a+=u,s&&(a+=u),o=s=!1)}function x(E){E&&(v(),a+=E)}function M(E){if(E.nodeType==1){var z=E.getAttribute("cm-text");if(z){x(z);return}var q=E.getAttribute("cm-marker"),ae;if(q){var se=e.findMarks(re(r,0),re(n+1,0),f(+q));se.length&&(ae=se[0].find(0))&&x(Dr(e.doc,ae.from,ae.to).join(u));return}if(E.getAttribute("contenteditable")=="false")return;var de=/^(pre|div|p|li|table|br)$/i.test(E.nodeName);if(!/^br$/i.test(E.nodeName)&&E.textContent.length==0)return;de&&v();for(var fe=0;fe=9&&t.hasSelection&&(t.hasSelection=null),i.poll()}),S(n,"paste",function(o){ee(r,o)||nl(o,r)||(r.state.pasteIncoming=+new Date,i.fastPoll())});function a(o){if(!ee(r,o)){if(r.somethingSelected())ln({lineWise:!1,text:r.getSelections()});else if(r.options.lineWiseCopyCut){var u=ol(r);ln({lineWise:!0,text:u.text}),o.type=="cut"?r.setSelections(u.ranges,null,Ie):(i.prevInput="",n.value=u.text.join(` +`),at(n))}else return;o.type=="cut"&&(r.state.cutIncoming=+new Date)}}S(n,"cut",a),S(n,"copy",a),S(e.scroller,"paste",function(o){if(!(nr(e,o)||ee(r,o))){if(!n.dispatchEvent){r.state.pasteIncoming=+new Date,i.focus();return}var u=new Event("paste");u.clipboardData=o.clipboardData,n.dispatchEvent(u)}}),S(e.lineSpace,"selectstart",function(o){nr(e,o)||ce(o)}),S(n,"compositionstart",function(){var o=r.getCursor("from");i.composing&&i.composing.range.clear(),i.composing={start:o,range:r.markText(o,r.getCursor("to"),{className:"CodeMirror-composing"})}}),S(n,"compositionend",function(){i.composing&&(i.poll(),i.composing.range.clear(),i.composing=null)})},nt.prototype.createField=function(e){this.wrapper=ll(),this.textarea=this.wrapper.firstChild;var t=this.cm.options;aa(this.textarea,t.spellcheck,t.autocorrect,t.autocapitalize)},nt.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute("aria-label",e):this.textarea.removeAttribute("aria-label")},nt.prototype.prepareSelection=function(){var e=this.cm,t=e.display,i=e.doc,r=Ja(e);if(e.options.moveInputWithCursor){var n=Xt(e,i.sel.primary().head,"div"),a=t.wrapper.getBoundingClientRect(),o=t.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,n.top+o.top-a.top)),r.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,n.left+o.left-a.left))}return r},nt.prototype.showSelection=function(e){var t=this.cm,i=t.display;Ae(i.cursorDiv,e.cursors),Ae(i.selectionDiv,e.selection),e.teTop!=null&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},nt.prototype.reset=function(e){if(!(this.contextMenuPending||this.composing&&e)){var t=this.cm;if(this.resetting=!0,t.somethingSelected()){this.prevInput="";var i=t.getSelection();this.textarea.value=i,t.state.focused&&at(this.textarea),L&&A>=9&&(this.hasSelection=i)}else e||(this.prevInput=this.textarea.value="",L&&A>=9&&(this.hasSelection=null));this.resetting=!1}},nt.prototype.getField=function(){return this.textarea},nt.prototype.supportsTouch=function(){return!1},nt.prototype.focus=function(){if(this.cm.options.readOnly!="nocursor"&&(!H||$(h(this.textarea))!=this.textarea))try{this.textarea.focus()}catch{}},nt.prototype.blur=function(){this.textarea.blur()},nt.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},nt.prototype.receivedFocus=function(){this.slowPoll()},nt.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){e.poll(),e.cm.state.focused&&e.slowPoll()})},nt.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0;function i(){var r=t.poll();!r&&!e?(e=!0,t.polling.set(60,i)):(t.pollingFast=!1,t.slowPoll())}t.polling.set(20,i)},nt.prototype.poll=function(){var e=this,t=this.cm,i=this.textarea,r=this.prevInput;if(this.contextMenuPending||this.resetting||!t.state.focused||Li(i)&&!r&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var n=i.value;if(n==r&&!t.somethingSelected())return!1;if(L&&A>=9&&this.hasSelection===n||U&&/[\uf700-\uf7ff]/.test(n))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var a=n.charCodeAt(0);if(a==8203&&!r&&(r="\u200B"),a==8666)return this.reset(),this.cm.execCommand("undo")}for(var o=0,u=Math.min(r.length,n.length);o1e3||n.indexOf(` +`)>-1?i.value=e.prevInput="":e.prevInput=n,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},nt.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},nt.prototype.onKeyPress=function(){L&&A>=9&&(this.hasSelection=null),this.fastPoll()},nt.prototype.onContextMenu=function(e){var t=this,i=t.cm,r=i.display,n=t.textarea;t.contextMenuPending&&t.contextMenuPending();var a=wr(i,e),o=r.scroller.scrollTop;if(!a||P)return;var u=i.options.resetSelectionOnContextMenu;u&&i.doc.sel.contains(a)==-1&&pt(i,bt)(i.doc,hr(a),Ie);var s=n.style.cssText,f=t.wrapper.style.cssText,v=t.wrapper.offsetParent.getBoundingClientRect();t.wrapper.style.cssText="position: static",n.style.cssText=`position: absolute; width: 30px; height: 30px; + top: `+(e.clientY-v.top-5)+"px; left: "+(e.clientX-v.left-5)+`px; + z-index: 1000; background: `+(L?"rgba(255, 255, 255, .05)":"transparent")+`; + outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);`;var x;N&&(x=n.ownerDocument.defaultView.scrollY),r.input.focus(),N&&n.ownerDocument.defaultView.scrollTo(null,x),r.input.reset(),i.somethingSelected()||(n.value=t.prevInput=" "),t.contextMenuPending=E,r.selForContextMenu=i.doc.sel,clearTimeout(r.detectingSelectAll);function M(){if(n.selectionStart!=null){var q=i.somethingSelected(),ae="\u200B"+(q?n.value:"");n.value="\u21DA",n.value=ae,t.prevInput=q?"":"\u200B",n.selectionStart=1,n.selectionEnd=ae.length,r.selForContextMenu=i.doc.sel}}function E(){if(t.contextMenuPending==E&&(t.contextMenuPending=!1,t.wrapper.style.cssText=f,n.style.cssText=s,L&&A<9&&r.scrollbars.setScrollTop(r.scroller.scrollTop=o),n.selectionStart!=null)){(!L||L&&A<9)&&M();var q=0,ae=function(){r.selForContextMenu==i.doc.sel&&n.selectionStart==0&&n.selectionEnd>0&&t.prevInput=="\u200B"?pt(i,Eo)(i):q++<10?r.detectingSelectAll=setTimeout(ae,500):(r.selForContextMenu=null,r.input.reset())};r.detectingSelectAll=setTimeout(ae,200)}}if(L&&A>=9&&M(),ie){Be(e);var z=function(){w(window,"mouseup",z),setTimeout(E,20)};S(window,"mouseup",z)}else setTimeout(E,50)},nt.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled=e=="nocursor",this.textarea.readOnly=!!e},nt.prototype.setUneditable=function(){},nt.prototype.needsContentAttribute=!1;function os(e,t){if(t=t?Le(t):{},t.value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),t.autofocus==null){var i=$(h(e));t.autofocus=i==e||e.getAttribute("autofocus")!=null&&i==document.body}function r(){e.value=u.getValue()}var n;if(e.form&&(S(e.form,"submit",r),!t.leaveSubmitMethodAlone)){var a=e.form;n=a.submit;try{var o=a.submit=function(){r(),a.submit=n,a.submit(),a.submit=o}}catch{}}t.finishInit=function(s){s.save=r,s.getTextArea=function(){return e},s.toTextArea=function(){s.toTextArea=isNaN,r(),e.parentNode.removeChild(s.getWrapperElement()),e.style.display="",e.form&&(w(e.form,"submit",r),!t.leaveSubmitMethodAlone&&typeof e.form.submit=="function"&&(e.form.submit=n))}},e.style.display="none";var u=et(function(s){return e.parentNode.insertBefore(s,e.nextSibling)},t);return u}function ls(e){e.off=w,e.on=S,e.wheelEventPixels=pu,e.Doc=Lt,e.splitLines=Nr,e.countColumn=Ge,e.findColumn=jt,e.isWordChar=xr,e.Pass=lt,e.signal=C,e.Line=Or,e.changeEnd=dr,e.scrollbarModel=io,e.Pos=re,e.cmpPos=Me,e.modes=ei,e.mimeModes=rt,e.resolveMode=Ht,e.getMode=Gt,e.modeExtensions=Ut,e.extendMode=Ti,e.copyState=tr,e.startState=sa,e.innerMode=Ir,e.commands=wi,e.keyMap=or,e.keyName=qo,e.isModifierKey=Uo,e.lookupKey=Yr,e.normalizeKeyMap=Hu,e.StringStream=ut,e.SharedTextMarker=bi,e.TextMarker=gr,e.LineWidget=Di,e.e_preventDefault=ce,e.e_stopPropagation=We,e.e_stop=Be,e.addClass=Ce,e.contains=le,e.rmClass=Te,e.keyNames=vr}$u(et),rs(et);var us="iter insert remove copy getEditor constructor".split(" ");for(var sn in Lt.prototype)Lt.prototype.hasOwnProperty(sn)&&je(us,sn)<0&&(et.prototype[sn]=function(e){return function(){return e.apply(this.doc,arguments)}}(Lt.prototype[sn]));return xe(Lt),et.inputStyles={textarea:nt,contenteditable:Ye},et.defineMode=function(e){!et.defaults.mode&&e!="null"&&(et.defaults.mode=e),ur.apply(this,arguments)},et.defineMIME=qt,et.defineMode("null",function(){return{token:function(e){return e.skipToEnd()}}}),et.defineMIME("text/plain","null"),et.defineExtension=function(e,t){et.prototype[e]=t},et.defineDocExtension=function(e,t){Lt.prototype[e]=t},et.fromTextArea=os,ls(et),et.version="5.65.16",et})},"./node_modules/codemirror/mode/gfm/gfm.js":function(ct,_e,ye){(function(W){W(ye("./node_modules/codemirror/lib/codemirror.js"),ye("./node_modules/codemirror/mode/markdown/markdown.js"),ye("./node_modules/codemirror/addon/mode/overlay.js"))})(function(W){"use strict";var Q=/^((?:(?:aaas?|about|acap|adiumxtra|af[ps]|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|cap|chrome(?:-extension)?|cid|coap|com-eventbrite-attendee|content|crid|cvs|data|dav|dict|dlna-(?:playcontainer|playsingle)|dns|doi|dtn|dvb|ed2k|facetime|feed|file|finger|fish|ftp|geo|gg|git|gizmoproject|go|gopher|gtalk|h323|hcp|https?|iax|icap|icon|im|imap|info|ipn|ipp|irc[6s]?|iris(?:\.beep|\.lwz|\.xpc|\.xpcs)?|itms|jar|javascript|jms|keyparc|lastfm|ldaps?|magnet|mailto|maps|market|message|mid|mms|ms-help|msnim|msrps?|mtqp|mumble|mupdate|mvn|news|nfs|nih?|nntp|notes|oid|opaquelocktoken|palm|paparazzi|platform|pop|pres|proxy|psyc|query|res(?:ource)?|rmi|rsync|rtmp|rtsp|secondlife|service|session|sftp|sgn|shttp|sieve|sips?|skype|sm[bs]|snmp|soap\.beeps?|soldat|spotify|ssh|steam|svn|tag|teamspeak|tel(?:net)?|tftp|things|thismessage|tip|tn3270|tv|udp|unreal|urn|ut2004|vemmi|ventrilo|view-source|webcal|wss?|wtai|wyciwyg|xcon(?:-userid)?|xfire|xmlrpc\.beeps?|xmpp|xri|ymsgr|z39\.50[rs]?):(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]|\([^\s()<>]*\))+(?:\([^\s()<>]*\)|[^\s`*!()\[\]{};:'".,<>?«»“”‘’]))/i;W.defineMode("gfm",function(B,R){var L=0;function A(G){return G.code=!1,null}var N={startState:function(){return{code:!1,codeBlock:!1,ateSpace:!1}},copyState:function(G){return{code:G.code,codeBlock:G.codeBlock,ateSpace:G.ateSpace}},token:function(G,P){if(P.combineTokens=null,P.codeBlock)return G.match(/^```+/)?(P.codeBlock=!1,null):(G.skipToEnd(),null);if(G.sol()&&(P.code=!1),G.sol()&&G.match(/^```+/))return G.skipToEnd(),P.codeBlock=!0,null;if(G.peek()==="`"){G.next();var oe=G.pos;G.eatWhile("`");var pe=1+G.pos-oe;return P.code?pe===L&&(P.code=!1):(L=pe,P.code=!0),null}else if(P.code)return G.next(),null;if(G.eatSpace())return P.ateSpace=!0,null;if((G.sol()||P.ateSpace)&&(P.ateSpace=!1,R.gitHubSpice!==!1)){if(G.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+@)?(?=.{0,6}\d)(?:[a-f0-9]{7,40}\b)/))return P.combineTokens=!0,"link";if(G.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+)?#[0-9]+\b/))return P.combineTokens=!0,"link"}return G.match(Q)&&G.string.slice(G.start-2,G.start)!="]("&&(G.start==0||/\W/.test(G.string.charAt(G.start-1)))?(P.combineTokens=!0,"link"):(G.next(),null)},blankLine:A},Y={taskLists:!0,strikethrough:!0,emoji:!0};for(var V in R)Y[V]=R[V];return Y.name="markdown",W.overlayMode(W.getMode(B,Y),N)},"markdown"),W.defineMIME("text/x-gfm","gfm")})},"./node_modules/codemirror/mode/markdown/markdown.js":function(ct,_e,ye){(function(W){W(ye("./node_modules/codemirror/lib/codemirror.js"),ye("./node_modules/codemirror/mode/xml/xml.js"),ye("./node_modules/codemirror/mode/meta.js"))})(function(W){"use strict";W.defineMode("markdown",function(Q,B){var R=W.getMode(Q,"text/html"),L=R.name=="null";function A(k){if(W.findModeByName){var h=W.findModeByName(k);h&&(k=h.mime||h.mimes[0])}var K=W.getMode(Q,k);return K.name=="null"?null:K}B.highlightFormatting===void 0&&(B.highlightFormatting=!1),B.maxBlockquoteDepth===void 0&&(B.maxBlockquoteDepth=0),B.taskLists===void 0&&(B.taskLists=!1),B.strikethrough===void 0&&(B.strikethrough=!1),B.emoji===void 0&&(B.emoji=!1),B.fencedCodeBlockHighlighting===void 0&&(B.fencedCodeBlockHighlighting=!0),B.fencedCodeBlockDefaultMode===void 0&&(B.fencedCodeBlockDefaultMode="text/plain"),B.xml===void 0&&(B.xml=!0),B.tokenTypeOverrides===void 0&&(B.tokenTypeOverrides={});var N={header:"header",code:"comment",quote:"quote",list1:"variable-2",list2:"variable-3",list3:"keyword",hr:"hr",image:"image",imageAltText:"image-alt-text",imageMarker:"image-marker",formatting:"formatting",linkInline:"link",linkEmail:"link",linkText:"link",linkHref:"string",em:"em",strong:"strong",strikethrough:"strikethrough",emoji:"builtin"};for(var Y in N)N.hasOwnProperty(Y)&&B.tokenTypeOverrides[Y]&&(N[Y]=B.tokenTypeOverrides[Y]);var V=/^([*\-_])(?:\s*\1){2,}\s*$/,G=/^(?:[*\-+]|^[0-9]+([.)]))\s+/,P=/^\[(x| )\](?=\s)/i,oe=B.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,pe=/^ {0,3}(?:\={1,}|-{2,})\s*$/,Ee=/^[^#!\[\]*_\\<>` "'(~:]+/,me=/^(~~~+|```+)[ \t]*([\w\/+#-]*)[^\n`]*$/,be=/^\s*\[[^\]]+?\]:.*$/,H=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]/,U=" ";function j(k,h,K){return h.f=h.inline=K,K(k,h)}function te(k,h,K){return h.f=h.block=K,K(k,h)}function X(k){return!k||!/\S/.test(k.string)}function ue(k){if(k.linkTitle=!1,k.linkHref=!1,k.linkText=!1,k.em=!1,k.strong=!1,k.strikethrough=!1,k.quote=0,k.indentedCode=!1,k.f==ge){var h=L;if(!h){var K=W.innerMode(R,k.htmlState);h=K.mode.name=="xml"&&K.state.tagStart===null&&!K.state.context&&K.state.tokenize.isInText}h&&(k.f=J,k.block=ie,k.htmlState=null)}return k.trailingSpace=0,k.trailingSpaceNewLine=!1,k.prevLine=k.thisLine,k.thisLine={stream:null},null}function ie(k,h){var K=k.column()===h.indentation,ne=X(h.prevLine.stream),Le=h.indentedCode,Ge=h.prevLine.hr,Qe=h.list!==!1,je=(h.listStack[h.listStack.length-1]||0)+3;h.indentedCode=!1;var ot=h.indentation;if(h.indentationDiff===null&&(h.indentationDiff=h.indentation,Qe)){for(h.list=null;ot=4&&(Le||h.prevLine.fencedCodeEnd||h.prevLine.header||ne))return k.skipToEnd(),h.indentedCode=!0,N.code;if(k.eatSpace())return null;if(K&&h.indentation<=je&&(qe=k.match(oe))&&qe[1].length<=6)return h.quote=0,h.header=qe[1].length,h.thisLine.header=!0,B.highlightFormatting&&(h.formatting="header"),h.f=h.inline,Z(h);if(h.indentation<=je&&k.eat(">"))return h.quote=K?1:h.quote+1,B.highlightFormatting&&(h.formatting="quote"),k.eatSpace(),Z(h);if(!Ie&&!h.setext&&K&&h.indentation<=je&&(qe=k.match(G))){var wt=qe[1]?"ol":"ul";return h.indentation=ot+k.current().length,h.list=!0,h.quote=0,h.listStack.push(h.indentation),h.em=!1,h.strong=!1,h.code=!1,h.strikethrough=!1,B.taskLists&&k.match(P,!1)&&(h.taskList=!0),h.f=h.inline,B.highlightFormatting&&(h.formatting=["list","list-"+wt]),Z(h)}else{if(K&&h.indentation<=je&&(qe=k.match(me,!0)))return h.quote=0,h.fencedEndRE=new RegExp(qe[1]+"+ *$"),h.localMode=B.fencedCodeBlockHighlighting&&A(qe[2]||B.fencedCodeBlockDefaultMode),h.localMode&&(h.localState=W.startState(h.localMode)),h.f=h.block=Te,B.highlightFormatting&&(h.formatting="code-block"),h.code=-1,Z(h);if(h.setext||(!lt||!Qe)&&!h.quote&&h.list===!1&&!h.code&&!Ie&&!be.test(k.string)&&(qe=k.lookAhead(1))&&(qe=qe.match(pe)))return h.setext?(h.header=h.setext,h.setext=0,k.skipToEnd(),B.highlightFormatting&&(h.formatting="header")):(h.header=qe[0].charAt(0)=="="?1:2,h.setext=h.header),h.thisLine.header=!0,h.f=h.inline,Z(h);if(Ie)return k.skipToEnd(),h.hr=!0,h.thisLine.hr=!0,N.hr;if(k.peek()==="[")return j(k,h,Ce)}return j(k,h,h.inline)}function ge(k,h){var K=R.token(k,h.htmlState);if(!L){var ne=W.innerMode(R,h.htmlState);(ne.mode.name=="xml"&&ne.state.tagStart===null&&!ne.state.context&&ne.state.tokenize.isInText||h.md_inside&&k.current().indexOf(">")>-1)&&(h.f=J,h.block=ie,h.htmlState=null)}return K}function Te(k,h){var K=h.listStack[h.listStack.length-1]||0,ne=h.indentation=k.quote?h.push(N.formatting+"-"+k.formatting[K]+"-"+k.quote):h.push("error"))}if(k.taskOpen)return h.push("meta"),h.length?h.join(" "):null;if(k.taskClosed)return h.push("property"),h.length?h.join(" "):null;if(k.linkHref?h.push(N.linkHref,"url"):(k.strong&&h.push(N.strong),k.em&&h.push(N.em),k.strikethrough&&h.push(N.strikethrough),k.emoji&&h.push(N.emoji),k.linkText&&h.push(N.linkText),k.code&&h.push(N.code),k.image&&h.push(N.image),k.imageAltText&&h.push(N.imageAltText,"link"),k.imageMarker&&h.push(N.imageMarker)),k.header&&h.push(N.header,N.header+"-"+k.header),k.quote&&(h.push(N.quote),!B.maxBlockquoteDepth||B.maxBlockquoteDepth>=k.quote?h.push(N.quote+"-"+k.quote):h.push(N.quote+"-"+B.maxBlockquoteDepth)),k.list!==!1){var ne=(k.listStack.length-1)%3;ne?ne===1?h.push(N.list2):h.push(N.list3):h.push(N.list1)}return k.trailingSpaceNewLine?h.push("trailing-space-new-line"):k.trailingSpace&&h.push("trailing-space-"+(k.trailingSpace%2?"a":"b")),h.length?h.join(" "):null}function Ae(k,h){if(k.match(Ee,!0))return Z(h)}function J(k,h){var K=h.text(k,h);if(typeof K<"u")return K;if(h.list)return h.list=null,Z(h);if(h.taskList){var ne=k.match(P,!0)[1]===" ";return ne?h.taskOpen=!0:h.taskClosed=!0,B.highlightFormatting&&(h.formatting="task"),h.taskList=!1,Z(h)}if(h.taskOpen=!1,h.taskClosed=!1,h.header&&k.match(/^#+$/,!0))return B.highlightFormatting&&(h.formatting="header"),Z(h);var Le=k.next();if(h.linkTitle){h.linkTitle=!1;var Ge=Le;Le==="("&&(Ge=")"),Ge=(Ge+"").replace(/([.?*+^\[\]\\(){}|-])/g,"\\$1");var Qe="^\\s*(?:[^"+Ge+"\\\\]+|\\\\\\\\|\\\\.)"+Ge;if(k.match(new RegExp(Qe),!0))return N.linkHref}if(Le==="`"){var je=h.formatting;B.highlightFormatting&&(h.formatting="code"),k.eatWhile("`");var ot=k.current().length;if(h.code==0&&(!h.quote||ot==1))return h.code=ot,Z(h);if(ot==h.code){var lt=Z(h);return h.code=0,lt}else return h.formatting=je,Z(h)}else if(h.code)return Z(h);if(Le==="\\"&&(k.next(),B.highlightFormatting)){var Ie=Z(h),qe=N.formatting+"-escape";return Ie?Ie+" "+qe:qe}if(Le==="!"&&k.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return h.imageMarker=!0,h.image=!0,B.highlightFormatting&&(h.formatting="image"),Z(h);if(Le==="["&&h.imageMarker&&k.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/,!1))return h.imageMarker=!1,h.imageAltText=!0,B.highlightFormatting&&(h.formatting="image"),Z(h);if(Le==="]"&&h.imageAltText){B.highlightFormatting&&(h.formatting="image");var Ie=Z(h);return h.imageAltText=!1,h.image=!1,h.inline=h.f=_,Ie}if(Le==="["&&!h.image)return h.linkText&&k.match(/^.*?\]/)||(h.linkText=!0,B.highlightFormatting&&(h.formatting="link")),Z(h);if(Le==="]"&&h.linkText){B.highlightFormatting&&(h.formatting="link");var Ie=Z(h);return h.linkText=!1,h.inline=h.f=k.match(/\(.*?\)| ?\[.*?\]/,!1)?_:J,Ie}if(Le==="<"&&k.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1)){h.f=h.inline=Re,B.highlightFormatting&&(h.formatting="link");var Ie=Z(h);return Ie?Ie+=" ":Ie="",Ie+N.linkInline}if(Le==="<"&&k.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1)){h.f=h.inline=Re,B.highlightFormatting&&(h.formatting="link");var Ie=Z(h);return Ie?Ie+=" ":Ie="",Ie+N.linkEmail}if(B.xml&&Le==="<"&&k.match(/^(!--|\?|!\[CDATA\[|[a-z][a-z0-9-]*(?:\s+[a-z_:.\-]+(?:\s*=\s*[^>]+)?)*\s*(?:>|$))/i,!1)){var wt=k.string.indexOf(">",k.pos);if(wt!=-1){var jt=k.string.substring(k.start,wt);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(jt)&&(h.md_inside=!0)}return k.backUp(1),h.htmlState=W.startState(R),te(k,h,ge)}if(B.xml&&Le==="<"&&k.match(/^\/\w*?>/))return h.md_inside=!1,"tag";if(Le==="*"||Le==="_"){for(var De=1,Nt=k.pos==1?" ":k.string.charAt(k.pos-2);De<3&&k.eat(Le);)De++;var Oe=k.peek()||" ",It=!/\s/.test(Oe)&&(!H.test(Oe)||/\s/.test(Nt)||H.test(Nt)),xt=!/\s/.test(Nt)&&(!H.test(Nt)||/\s/.test(Oe)||H.test(Oe)),Ot=null,Pe=null;if(De%2&&(!h.em&&It&&(Le==="*"||!xt||H.test(Nt))?Ot=!0:h.em==Le&&xt&&(Le==="*"||!It||H.test(Oe))&&(Ot=!1)),De>1&&(!h.strong&&It&&(Le==="*"||!xt||H.test(Nt))?Pe=!0:h.strong==Le&&xt&&(Le==="*"||!It||H.test(Oe))&&(Pe=!1)),Pe!=null||Ot!=null){B.highlightFormatting&&(h.formatting=Ot==null?"strong":Pe==null?"em":"strong em"),Ot===!0&&(h.em=Le),Pe===!0&&(h.strong=Le);var lt=Z(h);return Ot===!1&&(h.em=!1),Pe===!1&&(h.strong=!1),lt}}else if(Le===" "&&(k.eat("*")||k.eat("_"))){if(k.peek()===" ")return Z(h);k.backUp(1)}if(B.strikethrough){if(Le==="~"&&k.eatWhile(Le)){if(h.strikethrough){B.highlightFormatting&&(h.formatting="strikethrough");var lt=Z(h);return h.strikethrough=!1,lt}else if(k.match(/^[^\s]/,!1))return h.strikethrough=!0,B.highlightFormatting&&(h.formatting="strikethrough"),Z(h)}else if(Le===" "&&k.match("~~",!0)){if(k.peek()===" ")return Z(h);k.backUp(2)}}if(B.emoji&&Le===":"&&k.match(/^(?:[a-z_\d+][a-z_\d+-]*|\-[a-z_\d+][a-z_\d+-]*):/)){h.emoji=!0,B.highlightFormatting&&(h.formatting="emoji");var zt=Z(h);return h.emoji=!1,zt}return Le===" "&&(k.match(/^ +$/,!1)?h.trailingSpace++:h.trailingSpace&&(h.trailingSpaceNewLine=!0)),Z(h)}function Re(k,h){var K=k.next();if(K===">"){h.f=h.inline=J,B.highlightFormatting&&(h.formatting="link");var ne=Z(h);return ne?ne+=" ":ne="",ne+N.linkInline}return k.match(/^[^>]+/,!0),N.linkInline}function _(k,h){if(k.eatSpace())return null;var K=k.next();return K==="("||K==="["?(h.f=h.inline=$(K==="("?")":"]"),B.highlightFormatting&&(h.formatting="link-string"),h.linkHref=!0,Z(h)):"error"}var le={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/};function $(k){return function(h,K){var ne=h.next();if(ne===k){K.f=K.inline=J,B.highlightFormatting&&(K.formatting="link-string");var Le=Z(K);return K.linkHref=!1,Le}return h.match(le[k]),K.linkHref=!0,Z(K)}}function Ce(k,h){return k.match(/^([^\]\\]|\\.)*\]:/,!1)?(h.f=Je,k.next(),B.highlightFormatting&&(h.formatting="link"),h.linkText=!0,Z(h)):j(k,h,J)}function Je(k,h){if(k.match("]:",!0)){h.f=h.inline=at,B.highlightFormatting&&(h.formatting="link");var K=Z(h);return h.linkText=!1,K}return k.match(/^([^\]\\]|\\.)+/,!0),N.linkText}function at(k,h){return k.eatSpace()?null:(k.match(/^[^\s]+/,!0),k.peek()===void 0?h.linkTitle=!0:k.match(/^(?:\s+(?:"(?:[^"\\]|\\.)+"|'(?:[^'\\]|\\.)+'|\((?:[^)\\]|\\.)+\)))?/,!0),h.f=h.inline=J,N.linkHref+" url")}var kt={startState:function(){return{f:ie,prevLine:{stream:null},thisLine:{stream:null},block:ie,htmlState:null,indentation:0,inline:J,text:Ae,formatting:!1,linkText:!1,linkHref:!1,linkTitle:!1,code:0,em:!1,strong:!1,header:0,setext:0,hr:!1,taskList:!1,list:!1,listStack:[],quote:0,trailingSpace:0,trailingSpaceNewLine:!1,strikethrough:!1,emoji:!1,fencedEndRE:null}},copyState:function(k){return{f:k.f,prevLine:k.prevLine,thisLine:k.thisLine,block:k.block,htmlState:k.htmlState&&W.copyState(R,k.htmlState),indentation:k.indentation,localMode:k.localMode,localState:k.localMode?W.copyState(k.localMode,k.localState):null,inline:k.inline,text:k.text,formatting:!1,linkText:k.linkText,linkTitle:k.linkTitle,linkHref:k.linkHref,code:k.code,em:k.em,strong:k.strong,strikethrough:k.strikethrough,emoji:k.emoji,header:k.header,setext:k.setext,hr:k.hr,taskList:k.taskList,list:k.list,listStack:k.listStack.slice(0),quote:k.quote,indentedCode:k.indentedCode,trailingSpace:k.trailingSpace,trailingSpaceNewLine:k.trailingSpaceNewLine,md_inside:k.md_inside,fencedEndRE:k.fencedEndRE}},token:function(k,h){if(h.formatting=!1,k!=h.thisLine.stream){if(h.header=0,h.hr=!1,k.match(/^\s*$/,!0))return ue(h),null;if(h.prevLine=h.thisLine,h.thisLine={stream:k},h.taskList=!1,h.trailingSpace=0,h.trailingSpaceNewLine=!1,!h.localState&&(h.f=h.block,h.f!=ge)){var K=k.match(/^\s*/,!0)[0].replace(/\t/g,U).length;if(h.indentation=K,h.indentationDiff=null,K>0)return null}}return h.f(k,h)},innerMode:function(k){return k.block==ge?{state:k.htmlState,mode:R}:k.localState?{state:k.localState,mode:k.localMode}:{state:k,mode:kt}},indent:function(k,h,K){return k.block==ge&&R.indent?R.indent(k.htmlState,h,K):k.localState&&k.localMode.indent?k.localMode.indent(k.localState,h,K):W.Pass},blankLine:ue,getType:Z,blockCommentStart:"",closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return kt},"xml"),W.defineMIME("text/markdown","markdown"),W.defineMIME("text/x-markdown","markdown")})},"./node_modules/codemirror/mode/meta.js":function(ct,_e,ye){(function(W){W(ye("./node_modules/codemirror/lib/codemirror.js"))})(function(W){"use strict";W.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy","cbl"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp","cs"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists\.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded JavaScript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90","f95"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history)\.md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"text/jinja2",mode:"jinja2",ext:["j2","jinja","jinja2"]},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"],alias:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb","wl","wls"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m"],alias:["objective-c","objc"]},{name:"Objective-C++",mime:"text/x-objectivec++",mode:"clike",ext:["mm"],alias:["objective-c++","objc++"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PostgreSQL",mime:"text/x-pgsql",mode:"sql"},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx","tex"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]},{name:"WebAssembly",mime:"text/webassembly",mode:"wast",ext:["wat","wast"]}];for(var Q=0;Q-1&&R.substring(N+1,R.length);if(Y)return W.findModeByExtension(Y)},W.findModeByName=function(R){R=R.toLowerCase();for(var L=0;L")):null:_.match("--")?$(me("comment","-->")):_.match("DOCTYPE",!0,!0)?(_.eatWhile(/[\w\._\-]/),$(be(1))):null:_.eat("?")?(_.eatWhile(/[\w\._\-]/),le.tokenize=me("meta","?>"),"meta"):(G=_.eat("/")?"closeTag":"openTag",le.tokenize=pe,"tag bracket");if(Ce=="&"){var Je;return _.eat("#")?_.eat("x")?Je=_.eatWhile(/[a-fA-F\d]/)&&_.eat(";"):Je=_.eatWhile(/[\d]/)&&_.eat(";"):Je=_.eatWhile(/[\w\.\-:]/)&&_.eat(";"),Je?"atom":"error"}else return _.eatWhile(/[^&<]/),null}oe.isInText=!0;function pe(_,le){var $=_.next();if($==">"||$=="/"&&_.eat(">"))return le.tokenize=oe,G=$==">"?"endTag":"selfcloseTag","tag bracket";if($=="=")return G="equals",null;if($=="<"){le.tokenize=oe,le.state=X,le.tagName=le.tagStart=null;var Ce=le.tokenize(_,le);return Ce?Ce+" tag error":"tag error"}else return/[\'\"]/.test($)?(le.tokenize=Ee($),le.stringStartCol=_.column(),le.tokenize(_,le)):(_.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function Ee(_){var le=function($,Ce){for(;!$.eol();)if($.next()==_){Ce.tokenize=pe;break}return"string"};return le.isInAttribute=!0,le}function me(_,le){return function($,Ce){for(;!$.eol();){if($.match(le)){Ce.tokenize=oe;break}$.next()}return _}}function be(_){return function(le,$){for(var Ce;(Ce=le.next())!=null;){if(Ce=="<")return $.tokenize=be(_+1),$.tokenize(le,$);if(Ce==">")if(_==1){$.tokenize=oe;break}else return $.tokenize=be(_-1),$.tokenize(le,$)}return"meta"}}function H(_){return _&&_.toLowerCase()}function U(_,le,$){this.prev=_.context,this.tagName=le||"",this.indent=_.indented,this.startOfLine=$,(N.doNotIndent.hasOwnProperty(le)||_.context&&_.context.noIndent)&&(this.noIndent=!0)}function j(_){_.context&&(_.context=_.context.prev)}function te(_,le){for(var $;;){if(!_.context||($=_.context.tagName,!N.contextGrabbers.hasOwnProperty(H($))||!N.contextGrabbers[H($)].hasOwnProperty(H(le))))return;j(_)}}function X(_,le,$){return _=="openTag"?($.tagStart=le.column(),ue):_=="closeTag"?ie:X}function ue(_,le,$){return _=="word"?($.tagName=le.current(),P="tag",Z):N.allowMissingTagName&&_=="endTag"?(P="tag bracket",Z(_,le,$)):(P="error",ue)}function ie(_,le,$){if(_=="word"){var Ce=le.current();return $.context&&$.context.tagName!=Ce&&N.implicitlyClosed.hasOwnProperty(H($.context.tagName))&&j($),$.context&&$.context.tagName==Ce||N.matchClosing===!1?(P="tag",ge):(P="tag error",Te)}else return N.allowMissingTagName&&_=="endTag"?(P="tag bracket",ge(_,le,$)):(P="error",Te)}function ge(_,le,$){return _!="endTag"?(P="error",ge):(j($),X)}function Te(_,le,$){return P="error",ge(_,le,$)}function Z(_,le,$){if(_=="word")return P="attribute",Ae;if(_=="endTag"||_=="selfcloseTag"){var Ce=$.tagName,Je=$.tagStart;return $.tagName=$.tagStart=null,_=="selfcloseTag"||N.autoSelfClosers.hasOwnProperty(H(Ce))?te($,Ce):(te($,Ce),$.context=new U($,Ce,Je==$.indented)),X}return P="error",Z}function Ae(_,le,$){return _=="equals"?J:(N.allowMissing||(P="error"),Z(_,le,$))}function J(_,le,$){return _=="string"?Re:_=="word"&&N.allowUnquoted?(P="string",Z):(P="error",Z(_,le,$))}function Re(_,le,$){return _=="string"?Re:Z(_,le,$)}return{startState:function(_){var le={tokenize:oe,state:X,indented:_||0,tagName:null,tagStart:null,context:null};return _!=null&&(le.baseIndent=_),le},token:function(_,le){if(!le.tagName&&_.sol()&&(le.indented=_.indentation()),_.eatSpace())return null;G=null;var $=le.tokenize(_,le);return($||G)&&$!="comment"&&(P=null,le.state=le.state(G||$,_,le),P&&($=P=="error"?$+" error":P)),$},indent:function(_,le,$){var Ce=_.context;if(_.tokenize.isInAttribute)return _.tagStart==_.indented?_.stringStartCol+1:_.indented+A;if(Ce&&Ce.noIndent)return W.Pass;if(_.tokenize!=pe&&_.tokenize!=oe)return $?$.match(/^(\s*)/)[0].length:0;if(_.tagName)return N.multilineTagIndentPastTag!==!1?_.tagStart+_.tagName.length+2:_.tagStart+A*(N.multilineTagIndentFactor||1);if(N.alignCDATA&&/$/,blockCommentStart:"",configuration:N.htmlMode?"html":"xml",helperType:N.htmlMode?"html":"xml",skipAttribute:function(_){_.state==J&&(_.state=Z)},xmlCurrentTag:function(_){return _.tagName?{name:_.tagName,close:_.type=="closeTag"}:null},xmlCurrentContext:function(_){for(var le=[],$=_.context;$;$=$.prev)le.push($.tagName);return le.reverse()}}}),W.defineMIME("text/xml","xml"),W.defineMIME("application/xml","xml"),W.mimeModes.hasOwnProperty("text/html")||W.defineMIME("text/html",{name:"xml",htmlMode:!0})})},"./node_modules/easymde/src/js/codemirror/tablist.js":function(ct,_e,ye){var W=ye("./node_modules/codemirror/lib/codemirror.js");W.commands.tabAndIndentMarkdownList=function(Q){var B=Q.listSelections(),R=B[0].head,L=Q.getStateAfter(R.line),A=L.list!==!1;if(A){Q.execCommand("indentMore");return}if(Q.options.indentWithTabs)Q.execCommand("insertTab");else{var N=Array(Q.options.tabSize+1).join(" ");Q.replaceSelection(N)}},W.commands.shiftTabAndUnindentMarkdownList=function(Q){var B=Q.listSelections(),R=B[0].head,L=Q.getStateAfter(R.line),A=L.list!==!1;if(A){Q.execCommand("indentLess");return}if(Q.options.indentWithTabs)Q.execCommand("insertTab");else{var N=Array(Q.options.tabSize+1).join(" ");Q.replaceSelection(N)}}},"./node_modules/easymde/src/js/easymde.js":function(ct,_e,ye){"use strict";var W=ye("./node_modules/codemirror/lib/codemirror.js");ye("./node_modules/codemirror/addon/edit/continuelist.js"),ye("./node_modules/easymde/src/js/codemirror/tablist.js"),ye("./node_modules/codemirror/addon/display/fullscreen.js"),ye("./node_modules/codemirror/mode/markdown/markdown.js"),ye("./node_modules/codemirror/addon/mode/overlay.js"),ye("./node_modules/codemirror/addon/display/placeholder.js"),ye("./node_modules/codemirror/addon/display/autorefresh.js"),ye("./node_modules/codemirror/addon/selection/mark-selection.js"),ye("./node_modules/codemirror/addon/search/searchcursor.js"),ye("./node_modules/codemirror/mode/gfm/gfm.js"),ye("./node_modules/codemirror/mode/xml/xml.js");var Q=ye("./node_modules/codemirror-spell-checker/src/js/spell-checker.js"),B=ye("./node_modules/marked/lib/marked.cjs").xI,R=/Mac/.test(navigator.platform),L=new RegExp(/()+?/g),A={toggleBold:te,toggleItalic:X,drawLink:kt,toggleHeadingSmaller:Te,toggleHeadingBigger:Z,drawImage:k,toggleBlockquote:ge,toggleOrderedList:Je,toggleUnorderedList:Ce,toggleCodeBlock:ie,togglePreview:lt,toggleStrikethrough:ue,toggleHeading1:Ae,toggleHeading2:J,toggleHeading3:Re,toggleHeading4:_,toggleHeading5:le,toggleHeading6:$,cleanBlock:at,drawTable:Le,drawHorizontalRule:Ge,undo:Qe,redo:je,toggleSideBySide:ot,toggleFullScreen:j},N={toggleBold:"Cmd-B",toggleItalic:"Cmd-I",drawLink:"Cmd-K",toggleHeadingSmaller:"Cmd-H",toggleHeadingBigger:"Shift-Cmd-H",toggleHeading1:"Ctrl+Alt+1",toggleHeading2:"Ctrl+Alt+2",toggleHeading3:"Ctrl+Alt+3",toggleHeading4:"Ctrl+Alt+4",toggleHeading5:"Ctrl+Alt+5",toggleHeading6:"Ctrl+Alt+6",cleanBlock:"Cmd-E",drawImage:"Cmd-Alt-I",toggleBlockquote:"Cmd-'",toggleOrderedList:"Cmd-Alt-L",toggleUnorderedList:"Cmd-L",toggleCodeBlock:"Cmd-Alt-C",togglePreview:"Cmd-P",toggleSideBySide:"F9",toggleFullScreen:"F11"},Y=function(l){for(var d in A)if(A[d]===l)return d;return null},V=function(){var l=!1;return function(d){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(d)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(d.substr(0,4)))&&(l=!0)}(navigator.userAgent||navigator.vendor||window.opera),l};function G(l){for(var d;(d=L.exec(l))!==null;){var m=d[0];if(m.indexOf("target=")===-1){var y=m.replace(/>$/,' target="_blank">');l=l.replace(m,y)}}return l}function P(l){for(var d=new DOMParser,m=d.parseFromString(l,"text/html"),y=m.getElementsByTagName("li"),F=0;F0){for(var ce=document.createElement("i"),We=0;We=0&&(he=b.getLineHandle(xe),!m(he));xe--);var ze=b.getTokenAt({line:xe,ch:1}),$e=y(ze).fencedChars,Ve,At,yt,Wt;m(b.getLineHandle(w.line))?(Ve="",At=w.line):m(b.getLineHandle(w.line-1))?(Ve="",At=w.line-1):(Ve=$e+` +`,At=w.line),m(b.getLineHandle(C.line))?(yt="",Wt=C.line,C.ch===0&&(Wt+=1)):C.ch!==0&&m(b.getLineHandle(C.line+1))?(yt="",Wt=C.line+1):(yt=$e+` +`,Wt=C.line+1),C.ch===0&&(Wt-=1),b.operation(function(){b.replaceRange(yt,{line:Wt,ch:0},{line:Wt+(yt?0:1),ch:0}),b.replaceRange(Ve,{line:At,ch:0},{line:At+(Ve?0:1),ch:0})}),b.setSelection({line:At+(Ve?1:0),ch:0},{line:Wt+(Ve?1:-1),ch:0}),b.focus()}else{var Mr=w.line;if(m(b.getLineHandle(w.line))&&(F(b,w.line+1)==="fenced"?(xe=w.line,Mr=w.line+1):(ce=w.line,Mr=w.line-1)),xe===void 0)for(xe=Mr;xe>=0&&(he=b.getLineHandle(xe),!m(he));xe--);if(ce===void 0)for(We=b.lineCount(),ce=Mr;ce=0;xe--)if(he=b.getLineHandle(xe),!he.text.match(/^\s*$/)&&F(b,xe,he)!=="indented"){xe+=1;break}for(We=b.lineCount(),ce=w.line;ce\s+/,"unordered-list":y,"ordered-list":y},ee=function(We,Ue){var Be={quote:">","unordered-list":m,"ordered-list":"%%i."};return Be[We].replace("%%i",Ue)},he=function(We,Ue){var Be={quote:">","unordered-list":"\\"+m,"ordered-list":"\\d+."},ze=new RegExp(Be[We]);return Ue&&ze.test(Ue)},ke=function(We,Ue,Be){var ze=y.exec(Ue),$e=ee(We,xe);return ze!==null?(he(We,ze[2])&&($e=""),Ue=ze[1]+$e+ze[3]+Ue.replace(F,"").replace(C[We],"$1")):Be==!1&&(Ue=$e+" "+Ue),Ue},xe=1,ce=b.line;ce<=w.line;ce++)(function(We){var Ue=l.getLine(We);S[d]?Ue=Ue.replace(C[d],"$1"):(d=="unordered-list"&&(Ue=ke("ordered-list",Ue,!0)),Ue=ke(d,Ue,!1),xe+=1),l.replaceRange(Ue,{line:We,ch:0},{line:We,ch:99999999999999})})(ce);l.focus()}}function jt(l,d,m,y){if(!(!l.codemirror||l.isPreviewActive())){var F=l.codemirror,S=H(F),b=S[d];if(!b){Ie(F,b,m,y);return}var w=F.getCursor("start"),C=F.getCursor("end"),ee=F.getLine(w.line),he=ee.slice(0,w.ch),ke=ee.slice(w.ch);d=="link"?he=he.replace(/(.*)[^!]\[/,"$1"):d=="image"&&(he=he.replace(/(.*)!\[$/,"$1")),ke=ke.replace(/]\(.*?\)/,""),F.replaceRange(he+ke,{line:w.line,ch:0},{line:w.line,ch:99999999999999}),w.ch-=m[0].length,w!==C&&(C.ch-=m[0].length),F.setSelection(w,C),F.focus()}}function De(l,d,m,y){if(!(!l.codemirror||l.isPreviewActive())){y=typeof y>"u"?m:y;var F=l.codemirror,S=H(F),b,w=m,C=y,ee=F.getCursor("start"),he=F.getCursor("end");S[d]?(b=F.getLine(ee.line),w=b.slice(0,ee.ch),C=b.slice(ee.ch),d=="bold"?(w=w.replace(/(\*\*|__)(?![\s\S]*(\*\*|__))/,""),C=C.replace(/(\*\*|__)/,"")):d=="italic"?(w=w.replace(/(\*|_)(?![\s\S]*(\*|_))/,""),C=C.replace(/(\*|_)/,"")):d=="strikethrough"&&(w=w.replace(/(\*\*|~~)(?![\s\S]*(\*\*|~~))/,""),C=C.replace(/(\*\*|~~)/,"")),F.replaceRange(w+C,{line:ee.line,ch:0},{line:ee.line,ch:99999999999999}),d=="bold"||d=="strikethrough"?(ee.ch-=2,ee!==he&&(he.ch-=2)):d=="italic"&&(ee.ch-=1,ee!==he&&(he.ch-=1))):(b=F.getSelection(),d=="bold"?(b=b.split("**").join(""),b=b.split("__").join("")):d=="italic"?(b=b.split("*").join(""),b=b.split("_").join("")):d=="strikethrough"&&(b=b.split("~~").join("")),F.replaceSelection(w+b+C),ee.ch+=m.length,he.ch=ee.ch+b.length),F.setSelection(ee,he),F.focus()}}function Nt(l){if(!l.getWrapperElement().lastChild.classList.contains("editor-preview-active"))for(var d=l.getCursor("start"),m=l.getCursor("end"),y,F=d.line;F<=m.line;F++)y=l.getLine(F),y=y.replace(/^[ ]*([# ]+|\*|-|[> ]+|[0-9]+(.|\)))[ ]*/,""),l.replaceRange(y,{line:F,ch:0},{line:F,ch:99999999999999})}function Oe(l,d){if(Math.abs(l)<1024)return""+l+d[0];var m=0;do l/=1024,++m;while(Math.abs(l)>=1024&&m=19968?y+=m[F].length:y+=1;return y}var Pe={bold:"fa fa-bold",italic:"fa fa-italic",strikethrough:"fa fa-strikethrough",heading:"fa fa-header fa-heading","heading-smaller":"fa fa-header fa-heading header-smaller","heading-bigger":"fa fa-header fa-heading header-bigger","heading-1":"fa fa-header fa-heading header-1","heading-2":"fa fa-header fa-heading header-2","heading-3":"fa fa-header fa-heading header-3",code:"fa fa-code",quote:"fa fa-quote-left","ordered-list":"fa fa-list-ol","unordered-list":"fa fa-list-ul","clean-block":"fa fa-eraser",link:"fa fa-link",image:"fa fa-image","upload-image":"fa fa-image",table:"fa fa-table","horizontal-rule":"fa fa-minus",preview:"fa fa-eye","side-by-side":"fa fa-columns",fullscreen:"fa fa-arrows-alt",guide:"fa fa-question-circle",undo:"fa fa-undo",redo:"fa fa-repeat fa-redo"},zt={bold:{name:"bold",action:te,className:Pe.bold,title:"Bold",default:!0},italic:{name:"italic",action:X,className:Pe.italic,title:"Italic",default:!0},strikethrough:{name:"strikethrough",action:ue,className:Pe.strikethrough,title:"Strikethrough"},heading:{name:"heading",action:Te,className:Pe.heading,title:"Heading",default:!0},"heading-smaller":{name:"heading-smaller",action:Te,className:Pe["heading-smaller"],title:"Smaller Heading"},"heading-bigger":{name:"heading-bigger",action:Z,className:Pe["heading-bigger"],title:"Bigger Heading"},"heading-1":{name:"heading-1",action:Ae,className:Pe["heading-1"],title:"Big Heading"},"heading-2":{name:"heading-2",action:J,className:Pe["heading-2"],title:"Medium Heading"},"heading-3":{name:"heading-3",action:Re,className:Pe["heading-3"],title:"Small Heading"},"separator-1":{name:"separator-1"},code:{name:"code",action:ie,className:Pe.code,title:"Code"},quote:{name:"quote",action:ge,className:Pe.quote,title:"Quote",default:!0},"unordered-list":{name:"unordered-list",action:Ce,className:Pe["unordered-list"],title:"Generic List",default:!0},"ordered-list":{name:"ordered-list",action:Je,className:Pe["ordered-list"],title:"Numbered List",default:!0},"clean-block":{name:"clean-block",action:at,className:Pe["clean-block"],title:"Clean block"},"separator-2":{name:"separator-2"},link:{name:"link",action:kt,className:Pe.link,title:"Create Link",default:!0},image:{name:"image",action:k,className:Pe.image,title:"Insert Image",default:!0},"upload-image":{name:"upload-image",action:K,className:Pe["upload-image"],title:"Import an image"},table:{name:"table",action:Le,className:Pe.table,title:"Insert Table"},"horizontal-rule":{name:"horizontal-rule",action:Ge,className:Pe["horizontal-rule"],title:"Insert Horizontal Line"},"separator-3":{name:"separator-3"},preview:{name:"preview",action:lt,className:Pe.preview,noDisable:!0,title:"Toggle Preview",default:!0},"side-by-side":{name:"side-by-side",action:ot,className:Pe["side-by-side"],noDisable:!0,noMobile:!0,title:"Toggle Side by Side",default:!0},fullscreen:{name:"fullscreen",action:j,className:Pe.fullscreen,noDisable:!0,noMobile:!0,title:"Toggle Fullscreen",default:!0},"separator-4":{name:"separator-4"},guide:{name:"guide",action:"https://www.markdownguide.org/basic-syntax/",className:Pe.guide,noDisable:!0,title:"Markdown Guide",default:!0},"separator-5":{name:"separator-5"},undo:{name:"undo",action:Qe,className:Pe.undo,noDisable:!0,title:"Undo"},redo:{name:"redo",action:je,className:Pe.redo,noDisable:!0,title:"Redo"}},xr={link:["[","](#url#)"],image:["![","](#url#)"],uploadedImage:["![](#url#)",""],table:["",` + +| Column 1 | Column 2 | Column 3 | +| -------- | -------- | -------- | +| Text | Text | Text | + +`],horizontalRule:["",` + +----- + +`]},I={link:"URL for the link:",image:"URL of the image:"},O={locale:"en-US",format:{hour:"2-digit",minute:"2-digit"}},T={bold:"**",code:"```",italic:"*"},c={sbInit:"Attach files by drag and dropping or pasting from clipboard.",sbOnDragEnter:"Drop image to upload it.",sbOnDrop:"Uploading image #images_names#...",sbProgress:"Uploading #file_name#: #progress#%",sbOnUploaded:"Uploaded #image_name#",sizeUnits:" B, KB, MB"},p={noFileGiven:"You must select a file.",typeNotAllowed:"This image type is not allowed.",fileTooLarge:`Image #image_name# is too big (#image_size#). +Maximum file size is #image_max_size#.`,importError:"Something went wrong when uploading the image #image_name#."};function g(l){l=l||{},l.parent=this;var d=!0;if(l.autoDownloadFontAwesome===!1&&(d=!1),l.autoDownloadFontAwesome!==!0)for(var m=document.styleSheets,y=0;y-1&&(d=!1);if(d){var F=document.createElement("link");F.rel="stylesheet",F.href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css",document.getElementsByTagName("head")[0].appendChild(F)}if(l.element)this.element=l.element;else if(l.element===null){console.log("EasyMDE: Error. No element was found.");return}if(l.toolbar===void 0){l.toolbar=[];for(var S in zt)Object.prototype.hasOwnProperty.call(zt,S)&&(S.indexOf("separator-")!=-1&&l.toolbar.push("|"),(zt[S].default===!0||l.showIcons&&l.showIcons.constructor===Array&&l.showIcons.indexOf(S)!=-1)&&l.toolbar.push(S))}if(Object.prototype.hasOwnProperty.call(l,"previewClass")||(l.previewClass="editor-preview"),Object.prototype.hasOwnProperty.call(l,"status")||(l.status=["autosave","lines","words","cursor"],l.uploadImage&&l.status.unshift("upload-image")),l.previewRender||(l.previewRender=function(w){return this.parent.markdown(w)}),l.parsingConfig=xt({highlightFormatting:!0},l.parsingConfig||{}),l.insertTexts=xt({},xr,l.insertTexts||{}),l.promptTexts=xt({},I,l.promptTexts||{}),l.blockStyles=xt({},T,l.blockStyles||{}),l.autosave!=null&&(l.autosave.timeFormat=xt({},O,l.autosave.timeFormat||{})),l.iconClassMap=xt({},Pe,l.iconClassMap||{}),l.shortcuts=xt({},N,l.shortcuts||{}),l.maxHeight=l.maxHeight||void 0,l.direction=l.direction||"ltr",typeof l.maxHeight<"u"?l.minHeight=l.maxHeight:l.minHeight=l.minHeight||"300px",l.errorCallback=l.errorCallback||function(w){alert(w)},l.uploadImage=l.uploadImage||!1,l.imageMaxSize=l.imageMaxSize||2097152,l.imageAccept=l.imageAccept||"image/png, image/jpeg, image/gif, image/avif",l.imageTexts=xt({},c,l.imageTexts||{}),l.errorMessages=xt({},p,l.errorMessages||{}),l.imagePathAbsolute=l.imagePathAbsolute||!1,l.imageCSRFName=l.imageCSRFName||"csrfmiddlewaretoken",l.imageCSRFHeader=l.imageCSRFHeader||!1,l.autosave!=null&&l.autosave.unique_id!=null&&l.autosave.unique_id!=""&&(l.autosave.uniqueId=l.autosave.unique_id),l.overlayMode&&l.overlayMode.combine===void 0&&(l.overlayMode.combine=!0),this.options=l,this.render(),l.initialValue&&(!this.options.autosave||this.options.autosave.foundSavedValue!==!0)&&this.value(l.initialValue),l.uploadImage){var b=this;this.codemirror.on("dragenter",function(w,C){b.updateStatusBar("upload-image",b.options.imageTexts.sbOnDragEnter),C.stopPropagation(),C.preventDefault()}),this.codemirror.on("dragend",function(w,C){b.updateStatusBar("upload-image",b.options.imageTexts.sbInit),C.stopPropagation(),C.preventDefault()}),this.codemirror.on("dragleave",function(w,C){b.updateStatusBar("upload-image",b.options.imageTexts.sbInit),C.stopPropagation(),C.preventDefault()}),this.codemirror.on("dragover",function(w,C){b.updateStatusBar("upload-image",b.options.imageTexts.sbOnDragEnter),C.stopPropagation(),C.preventDefault()}),this.codemirror.on("drop",function(w,C){C.stopPropagation(),C.preventDefault(),l.imageUploadFunction?b.uploadImagesUsingCustomFunction(l.imageUploadFunction,C.dataTransfer.files):b.uploadImages(C.dataTransfer.files)}),this.codemirror.on("paste",function(w,C){l.imageUploadFunction?b.uploadImagesUsingCustomFunction(l.imageUploadFunction,C.clipboardData.files):b.uploadImages(C.clipboardData.files)})}}g.prototype.uploadImages=function(l,d,m){if(l.length!==0){for(var y=[],F=0;F=2){var Ve=$e[1];if(d.imagesPreviewHandler){var At=d.imagesPreviewHandler($e[1]);typeof At=="string"&&(Ve=At)}if(window.EMDEimagesCache[Ve])ce(ze,window.EMDEimagesCache[Ve]);else{var yt=document.createElement("img");yt.onload=function(){window.EMDEimagesCache[Ve]={naturalWidth:yt.naturalWidth,naturalHeight:yt.naturalHeight,url:Ve},ce(ze,window.EMDEimagesCache[Ve])},yt.src=Ve}}}})}this.codemirror.on("update",function(){We()}),this.gui.sideBySide=this.createSideBySide(),this._rendered=this.element,(d.autofocus===!0||l.autofocus)&&this.codemirror.focus();var Ue=this.codemirror;setTimeout(function(){Ue.refresh()}.bind(Ue),0)},g.prototype.cleanup=function(){document.removeEventListener("keydown",this.documentOnKeyDown)};function D(){if(typeof localStorage=="object")try{localStorage.setItem("smde_localStorage",1),localStorage.removeItem("smde_localStorage")}catch{return!1}else return!1;return!0}g.prototype.autosave=function(){if(D()){var l=this;if(this.options.autosave.uniqueId==null||this.options.autosave.uniqueId==""){console.log("EasyMDE: You must set a uniqueId to use the autosave feature");return}this.options.autosave.binded!==!0&&(l.element.form!=null&&l.element.form!=null&&l.element.form.addEventListener("submit",function(){clearTimeout(l.autosaveTimeoutId),l.autosaveTimeoutId=void 0,localStorage.removeItem("smde_"+l.options.autosave.uniqueId)}),this.options.autosave.binded=!0),this.options.autosave.loaded!==!0&&(typeof localStorage.getItem("smde_"+this.options.autosave.uniqueId)=="string"&&localStorage.getItem("smde_"+this.options.autosave.uniqueId)!=""&&(this.codemirror.setValue(localStorage.getItem("smde_"+this.options.autosave.uniqueId)),this.options.autosave.foundSavedValue=!0),this.options.autosave.loaded=!0);var d=l.value();d!==""?localStorage.setItem("smde_"+this.options.autosave.uniqueId,d):localStorage.removeItem("smde_"+this.options.autosave.uniqueId);var m=document.getElementById("autosaved");if(m!=null&&m!=null&&m!=""){var y=new Date,F=new Intl.DateTimeFormat([this.options.autosave.timeFormat.locale,"en-US"],this.options.autosave.timeFormat.format).format(y),S=this.options.autosave.text==null?"Autosaved: ":this.options.autosave.text;m.innerHTML=S+F}}else console.log("EasyMDE: localStorage not available, cannot autosave")},g.prototype.clearAutosavedValue=function(){if(D()){if(this.options.autosave==null||this.options.autosave.uniqueId==null||this.options.autosave.uniqueId==""){console.log("EasyMDE: You must set a uniqueId to clear the autosave value");return}localStorage.removeItem("smde_"+this.options.autosave.uniqueId)}else console.log("EasyMDE: localStorage not available, cannot autosave")},g.prototype.openBrowseFileWindow=function(l,d){var m=this,y=this.gui.toolbar.getElementsByClassName("imageInput")[0];y.click();function F(S){m.options.imageUploadFunction?m.uploadImagesUsingCustomFunction(m.options.imageUploadFunction,S.target.files):m.uploadImages(S.target.files,l,d),y.removeEventListener("change",F)}y.addEventListener("change",F)},g.prototype.uploadImage=function(l,d,m){var y=this;d=d||function(ee){ne(y,ee)};function F(C){y.updateStatusBar("upload-image",C),setTimeout(function(){y.updateStatusBar("upload-image",y.options.imageTexts.sbInit)},1e4),m&&typeof m=="function"&&m(C),y.options.errorCallback(C)}function S(C){var ee=y.options.imageTexts.sizeUnits.split(",");return C.replace("#image_name#",l.name).replace("#image_size#",Oe(l.size,ee)).replace("#image_max_size#",Oe(y.options.imageMaxSize,ee))}if(l.size>this.options.imageMaxSize){F(S(this.options.errorMessages.fileTooLarge));return}var b=new FormData;b.append("image",l),y.options.imageCSRFToken&&!y.options.imageCSRFHeader&&b.append(y.options.imageCSRFName,y.options.imageCSRFToken);var w=new XMLHttpRequest;w.upload.onprogress=function(C){if(C.lengthComputable){var ee=""+Math.round(C.loaded*100/C.total);y.updateStatusBar("upload-image",y.options.imageTexts.sbProgress.replace("#file_name#",l.name).replace("#progress#",ee))}},w.open("POST",this.options.imageUploadEndpoint),y.options.imageCSRFToken&&y.options.imageCSRFHeader&&w.setRequestHeader(y.options.imageCSRFName,y.options.imageCSRFToken),w.onload=function(){try{var C=JSON.parse(this.responseText)}catch{console.error("EasyMDE: The server did not return a valid json."),F(S(y.options.errorMessages.importError));return}this.status===200&&C&&!C.error&&C.data&&C.data.filePath?d((y.options.imagePathAbsolute?"":window.location.origin+"/")+C.data.filePath):C.error&&C.error in y.options.errorMessages?F(S(y.options.errorMessages[C.error])):C.error?F(S(C.error)):(console.error("EasyMDE: Received an unexpected response after uploading the image."+this.status+" ("+this.statusText+")"),F(S(y.options.errorMessages.importError)))},w.onerror=function(C){console.error("EasyMDE: An unexpected error occurred when trying to upload the image."+C.target.status+" ("+C.target.statusText+")"),F(y.options.errorMessages.importError)},w.send(b)},g.prototype.uploadImageUsingCustomFunction=function(l,d){var m=this;function y(b){ne(m,b)}function F(b){var w=S(b);m.updateStatusBar("upload-image",w),setTimeout(function(){m.updateStatusBar("upload-image",m.options.imageTexts.sbInit)},1e4),m.options.errorCallback(w)}function S(b){var w=m.options.imageTexts.sizeUnits.split(",");return b.replace("#image_name#",d.name).replace("#image_size#",Oe(d.size,w)).replace("#image_max_size#",Oe(m.options.imageMaxSize,w))}l.apply(this,[d,y,F])},g.prototype.setPreviewMaxHeight=function(){var l=this.codemirror,d=l.getWrapperElement(),m=d.nextSibling,y=parseInt(window.getComputedStyle(d).paddingTop),F=parseInt(window.getComputedStyle(d).borderTopWidth),S=parseInt(this.options.maxHeight),b=S+y*2+F*2,w=b.toString()+"px";m.style.height=w},g.prototype.createSideBySide=function(){var l=this.codemirror,d=l.getWrapperElement(),m=d.nextSibling;if(!m||!m.classList.contains("editor-preview-side")){if(m=document.createElement("div"),m.className="editor-preview-side",this.options.previewClass)if(Array.isArray(this.options.previewClass))for(var y=0;y0&&(ge.continuationClasses=ue),ie!=="."&&(me==="SFX"?ge.match=new RegExp(ie+"$"):ge.match=new RegExp("^"+ie)),j!="0"&&(me==="SFX"?ge.remove=new RegExp(j+"$"):ge.remove=j),U.push(ge)}R[be]={type:me,combineable:H=="Y",entries:U},V+=N}else if(me==="COMPOUNDRULE"){for(N=parseInt(Ee[1],10),G=V+1,oe=V+1+N;G0&&(L[J]===null&&(L[J]=[]),L[J].push(Re))}for(var N=1,Y=R.length;N1){var oe=this.parseRuleCodes(G[1]);(!("NEEDAFFIX"in this.flags)||oe.indexOf(this.flags.NEEDAFFIX)==-1)&&A(P,oe);for(var pe=0,Ee=oe.length;pe"u"){if("COMPOUNDMIN"in this.flags&&B.length>=this.flags.COMPOUNDMIN){for(L=0,A=this.compoundRules.length;L"u"&&(L=Array.prototype.concat.apply([],this.dictionaryTable[B])),L&&L.indexOf(this.flags[R])!==-1))},alphabet:"",suggest:function(B,R){if(!this.loaded)throw"Dictionary not loaded.";if(R=R||5,this.memoized.hasOwnProperty(B)){var L=this.memoized[B].limit;if(R<=L||this.memoized[B].suggestions.length1&&Z[1][1]!==Z[1][0]&&(ie=Z[0]+Z[1][1]+Z[1][0]+Z[1].substring(2),(!be||oe.check(ie))&&(ie in H?H[ie]+=1:H[ie]=1)),Z[1]){var Ae=Z[1].substring(0,1).toUpperCase()===Z[1].substring(0,1)?"uppercase":"lowercase";for(j=0;j_?1:J[0].localeCompare(Ae[0])}ue.sort(ie).reverse();var ge=[],Te="lowercase";me.toUpperCase()===me?Te="uppercase":me.substr(0,1).toUpperCase()+me.substr(1).toLowerCase()===me&&(Te="capitalized");var Z=R;for(te=0;teI.length)&&(O=I.length);for(var T=0,c=new Array(O);T=I.length?{done:!0}:{done:!1,value:I[c++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function N(I,O){if(typeof I!="object"||I===null)return I;var T=I[Symbol.toPrimitive];if(T!==void 0){var c=T.call(I,O||"default");if(typeof c!="object")return c;throw new TypeError("@@toPrimitive must return a primitive value.")}return(O==="string"?String:Number)(I)}function Y(I){var O=N(I,"string");return typeof O=="symbol"?O:String(O)}function V(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,hooks:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}_e.NT=V();function G(I){_e.NT=I}var P=/[&<>"']/,oe=new RegExp(P.source,"g"),pe=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,Ee=new RegExp(pe.source,"g"),me={"&":"&","<":"<",">":">",'"':""","'":"'"},be=function(O){return me[O]};function H(I,O){if(O){if(P.test(I))return I.replace(oe,be)}else if(pe.test(I))return I.replace(Ee,be);return I}var U=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function j(I){return I.replace(U,function(O,T){return T=T.toLowerCase(),T==="colon"?":":T.charAt(0)==="#"?T.charAt(1)==="x"?String.fromCharCode(parseInt(T.substring(2),16)):String.fromCharCode(+T.substring(1)):""})}var te=/(^|[^\[])\^/g;function X(I,O){I=typeof I=="string"?I:I.source,O=O||"";var T={replace:function(p,g){return g=g.source||g,g=g.replace(te,"$1"),I=I.replace(p,g),T},getRegex:function(){return new RegExp(I,O)}};return T}var ue=/[^\w:]/g,ie=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function ge(I,O,T){if(I){var c;try{c=decodeURIComponent(j(T)).replace(ue,"").toLowerCase()}catch{return null}if(c.indexOf("javascript:")===0||c.indexOf("vbscript:")===0||c.indexOf("data:")===0)return null}O&&!ie.test(T)&&(T=Re(O,T));try{T=encodeURI(T).replace(/%25/g,"%")}catch{return null}return T}var Te={},Z=/^[^:]+:\/*[^/]*$/,Ae=/^([^:]+:)[\s\S]*$/,J=/^([^:]+:\/*[^/]*)[\s\S]*$/;function Re(I,O){Te[" "+I]||(Z.test(I)?Te[" "+I]=I+"/":Te[" "+I]=$(I,"/",!0)),I=Te[" "+I];var T=I.indexOf(":")===-1;return O.substring(0,2)==="//"?T?O:I.replace(Ae,"$1")+O:O.charAt(0)==="/"?T?O:I.replace(J,"$1")+O:I+O}var _={exec:function(){}};function le(I,O){var T=I.replace(/\|/g,function(g,D,l){for(var d=!1,m=D;--m>=0&&l[m]==="\\";)d=!d;return d?"|":" |"}),c=T.split(/ \|/),p=0;if(c[0].trim()||c.shift(),c.length>0&&!c[c.length-1].trim()&&c.pop(),c.length>O)c.splice(O);else for(;c.length1;)O&1&&(T+=I),O>>=1,I+=I;return T+I}function kt(I,O,T,c){var p=O.href,g=O.title?H(O.title):null,D=I[1].replace(/\\([\[\]])/g,"$1");if(I[0].charAt(0)!=="!"){c.state.inLink=!0;var l={type:"link",raw:T,href:p,title:g,text:D,tokens:c.inlineTokens(D)};return c.state.inLink=!1,l}return{type:"image",raw:T,href:p,title:g,text:H(D)}}function k(I,O){var T=I.match(/^(\s+)(?:```)/);if(T===null)return O;var c=T[1];return O.split(` +`).map(function(p){var g=p.match(/^\s+/);if(g===null)return p;var D=g[0];return D.length>=c.length?p.slice(c.length):p}).join(` +`)}var h=function(){function I(T){this.options=T||_e.NT}var O=I.prototype;return O.space=function(c){var p=this.rules.block.newline.exec(c);if(p&&p[0].length>0)return{type:"space",raw:p[0]}},O.code=function(c){var p=this.rules.block.code.exec(c);if(p){var g=p[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:p[0],codeBlockStyle:"indented",text:this.options.pedantic?g:$(g,` +`)}}},O.fences=function(c){var p=this.rules.block.fences.exec(c);if(p){var g=p[0],D=k(g,p[3]||"");return{type:"code",raw:g,lang:p[2]?p[2].trim().replace(this.rules.inline._escapes,"$1"):p[2],text:D}}},O.heading=function(c){var p=this.rules.block.heading.exec(c);if(p){var g=p[2].trim();if(/#$/.test(g)){var D=$(g,"#");(this.options.pedantic||!D||/ $/.test(D))&&(g=D.trim())}return{type:"heading",raw:p[0],depth:p[1].length,text:g,tokens:this.lexer.inline(g)}}},O.hr=function(c){var p=this.rules.block.hr.exec(c);if(p)return{type:"hr",raw:p[0]}},O.blockquote=function(c){var p=this.rules.block.blockquote.exec(c);if(p){var g=p[0].replace(/^ *>[ \t]?/gm,""),D=this.lexer.state.top;this.lexer.state.top=!0;var l=this.lexer.blockTokens(g);return this.lexer.state.top=D,{type:"blockquote",raw:p[0],tokens:l,text:g}}},O.list=function(c){var p=this.rules.block.list.exec(c);if(p){var g,D,l,d,m,y,F,S,b,w,C,ee,he=p[1].trim(),ke=he.length>1,xe={type:"list",raw:"",ordered:ke,start:ke?+he.slice(0,-1):"",loose:!1,items:[]};he=ke?"\\d{1,9}\\"+he.slice(-1):"\\"+he,this.options.pedantic&&(he=ke?he:"[*+-]");for(var ce=new RegExp("^( {0,3}"+he+")((?:[ ][^\\n]*)?(?:\\n|$))");c&&(ee=!1,!(!(p=ce.exec(c))||this.rules.block.hr.test(c)));){if(g=p[0],c=c.substring(g.length),S=p[2].split(` +`,1)[0].replace(/^\t+/,function(yt){return" ".repeat(3*yt.length)}),b=c.split(` +`,1)[0],this.options.pedantic?(d=2,C=S.trimLeft()):(d=p[2].search(/[^ ]/),d=d>4?1:d,C=S.slice(d),d+=p[1].length),y=!1,!S&&/^ *$/.test(b)&&(g+=b+` +`,c=c.substring(b.length+1),ee=!0),!ee)for(var We=new RegExp("^ {0,"+Math.min(3,d-1)+"}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))"),Ue=new RegExp("^ {0,"+Math.min(3,d-1)+"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)"),Be=new RegExp("^ {0,"+Math.min(3,d-1)+"}(?:```|~~~)"),ze=new RegExp("^ {0,"+Math.min(3,d-1)+"}#");c&&(w=c.split(` +`,1)[0],b=w,this.options.pedantic&&(b=b.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!(Be.test(b)||ze.test(b)||We.test(b)||Ue.test(c)));){if(b.search(/[^ ]/)>=d||!b.trim())C+=` +`+b.slice(d);else{if(y||S.search(/[^ ]/)>=4||Be.test(S)||ze.test(S)||Ue.test(S))break;C+=` +`+b}!y&&!b.trim()&&(y=!0),g+=w+` +`,c=c.substring(w.length+1),S=b.slice(d)}xe.loose||(F?xe.loose=!0:/\n *\n *$/.test(g)&&(F=!0)),this.options.gfm&&(D=/^\[[ xX]\] /.exec(C),D&&(l=D[0]!=="[ ] ",C=C.replace(/^\[[ xX]\] +/,""))),xe.items.push({type:"list_item",raw:g,task:!!D,checked:l,loose:!1,text:C}),xe.raw+=g}xe.items[xe.items.length-1].raw=g.trimRight(),xe.items[xe.items.length-1].text=C.trimRight(),xe.raw=xe.raw.trimRight();var $e=xe.items.length;for(m=0;m<$e;m++)if(this.lexer.state.top=!1,xe.items[m].tokens=this.lexer.blockTokens(xe.items[m].text,[]),!xe.loose){var Ve=xe.items[m].tokens.filter(function(yt){return yt.type==="space"}),At=Ve.length>0&&Ve.some(function(yt){return/\n.*\n/.test(yt.raw)});xe.loose=At}if(xe.loose)for(m=0;m<$e;m++)xe.items[m].loose=!0;return xe}},O.html=function(c){var p=this.rules.block.html.exec(c);if(p){var g={type:"html",raw:p[0],pre:!this.options.sanitizer&&(p[1]==="pre"||p[1]==="script"||p[1]==="style"),text:p[0]};if(this.options.sanitize){var D=this.options.sanitizer?this.options.sanitizer(p[0]):H(p[0]);g.type="paragraph",g.text=D,g.tokens=this.lexer.inline(D)}return g}},O.def=function(c){var p=this.rules.block.def.exec(c);if(p){var g=p[1].toLowerCase().replace(/\s+/g," "),D=p[2]?p[2].replace(/^<(.*)>$/,"$1").replace(this.rules.inline._escapes,"$1"):"",l=p[3]?p[3].substring(1,p[3].length-1).replace(this.rules.inline._escapes,"$1"):p[3];return{type:"def",tag:g,raw:p[0],href:D,title:l}}},O.table=function(c){var p=this.rules.block.table.exec(c);if(p){var g={type:"table",header:le(p[1]).map(function(F){return{text:F}}),align:p[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:p[3]&&p[3].trim()?p[3].replace(/\n[ \t]*$/,"").split(` +`):[]};if(g.header.length===g.align.length){g.raw=p[0];var D=g.align.length,l,d,m,y;for(l=0;l/i.test(p[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(p[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(p[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:p[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(p[0]):H(p[0]):p[0]}},O.link=function(c){var p=this.rules.inline.link.exec(c);if(p){var g=p[2].trim();if(!this.options.pedantic&&/^$/.test(g))return;var D=$(g.slice(0,-1),"\\");if((g.length-D.length)%2===0)return}else{var l=Ce(p[2],"()");if(l>-1){var d=p[0].indexOf("!")===0?5:4,m=d+p[1].length+l;p[2]=p[2].substring(0,l),p[0]=p[0].substring(0,m).trim(),p[3]=""}}var y=p[2],F="";if(this.options.pedantic){var S=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(y);S&&(y=S[1],F=S[3])}else F=p[3]?p[3].slice(1,-1):"";return y=y.trim(),/^$/.test(g)?y=y.slice(1):y=y.slice(1,-1)),kt(p,{href:y&&y.replace(this.rules.inline._escapes,"$1"),title:F&&F.replace(this.rules.inline._escapes,"$1")},p[0],this.lexer)}},O.reflink=function(c,p){var g;if((g=this.rules.inline.reflink.exec(c))||(g=this.rules.inline.nolink.exec(c))){var D=(g[2]||g[1]).replace(/\s+/g," ");if(D=p[D.toLowerCase()],!D){var l=g[0].charAt(0);return{type:"text",raw:l,text:l}}return kt(g,D,g[0],this.lexer)}},O.emStrong=function(c,p,g){g===void 0&&(g="");var D=this.rules.inline.emStrong.lDelim.exec(c);if(D&&!(D[3]&&g.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var l=D[1]||D[2]||"";if(!l||l&&(g===""||this.rules.inline.punctuation.exec(g))){var d=D[0].length-1,m,y,F=d,S=0,b=D[0][0]==="*"?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(b.lastIndex=0,p=p.slice(-1*c.length+d);(D=b.exec(p))!=null;)if(m=D[1]||D[2]||D[3]||D[4]||D[5]||D[6],!!m){if(y=m.length,D[3]||D[4]){F+=y;continue}else if((D[5]||D[6])&&d%3&&!((d+y)%3)){S+=y;continue}if(F-=y,!(F>0)){y=Math.min(y,y+F+S);var w=c.slice(0,d+D.index+(D[0].length-m.length)+y);if(Math.min(d,y)%2){var C=w.slice(1,-1);return{type:"em",raw:w,text:C,tokens:this.lexer.inlineTokens(C)}}var ee=w.slice(2,-2);return{type:"strong",raw:w,text:ee,tokens:this.lexer.inlineTokens(ee)}}}}}},O.codespan=function(c){var p=this.rules.inline.code.exec(c);if(p){var g=p[2].replace(/\n/g," "),D=/[^ ]/.test(g),l=/^ /.test(g)&&/ $/.test(g);return D&&l&&(g=g.substring(1,g.length-1)),g=H(g,!0),{type:"codespan",raw:p[0],text:g}}},O.br=function(c){var p=this.rules.inline.br.exec(c);if(p)return{type:"br",raw:p[0]}},O.del=function(c){var p=this.rules.inline.del.exec(c);if(p)return{type:"del",raw:p[0],text:p[2],tokens:this.lexer.inlineTokens(p[2])}},O.autolink=function(c,p){var g=this.rules.inline.autolink.exec(c);if(g){var D,l;return g[2]==="@"?(D=H(this.options.mangle?p(g[1]):g[1]),l="mailto:"+D):(D=H(g[1]),l=D),{type:"link",raw:g[0],text:D,href:l,tokens:[{type:"text",raw:D,text:D}]}}},O.url=function(c,p){var g;if(g=this.rules.inline.url.exec(c)){var D,l;if(g[2]==="@")D=H(this.options.mangle?p(g[0]):g[0]),l="mailto:"+D;else{var d;do d=g[0],g[0]=this.rules.inline._backpedal.exec(g[0])[0];while(d!==g[0]);D=H(g[0]),g[1]==="www."?l="http://"+g[0]:l=g[0]}return{type:"link",raw:g[0],text:D,href:l,tokens:[{type:"text",raw:D,text:D}]}}},O.inlineText=function(c,p){var g=this.rules.inline.text.exec(c);if(g){var D;return this.lexer.state.inRawBlock?D=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(g[0]):H(g[0]):g[0]:D=H(this.options.smartypants?p(g[0]):g[0]),{type:"text",raw:g[0],text:D}}},I}(),K={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:_,lheading:/^((?:.|\n(?!\n))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/};K._label=/(?!\s*\])(?:\\.|[^\[\]\\])+/,K._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,K.def=X(K.def).replace("label",K._label).replace("title",K._title).getRegex(),K.bullet=/(?:[*+-]|\d{1,9}[.)])/,K.listItemStart=X(/^( *)(bull) */).replace("bull",K.bullet).getRegex(),K.list=X(K.list).replace(/bull/g,K.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+K.def.source+")").getRegex(),K._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",K._comment=/|$)/,K.html=X(K.html,"i").replace("comment",K._comment).replace("tag",K._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),K.paragraph=X(K._paragraph).replace("hr",K.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",K._tag).getRegex(),K.blockquote=X(K.blockquote).replace("paragraph",K.paragraph).getRegex(),K.normal=B({},K),K.gfm=B({},K.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),K.gfm.table=X(K.gfm.table).replace("hr",K.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",K._tag).getRegex(),K.gfm.paragraph=X(K._paragraph).replace("hr",K.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",K.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",K._tag).getRegex(),K.pedantic=B({},K.normal,{html:X(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",K._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:_,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:X(K.normal._paragraph).replace("hr",K.hr).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",K.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var ne={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:_,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^(?:[^_*\\]|\\.)*?\_\_(?:[^_*\\]|\\.)*?\*(?:[^_*\\]|\\.)*?(?=\_\_)|(?:[^*\\]|\\.)+(?=[^*])|[punct_](\*+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|(?:[^punct*_\s\\]|\\.)(\*+)(?=[^punct*_\s])/,rDelimUnd:/^(?:[^_*\\]|\\.)*?\*\*(?:[^_*\\]|\\.)*?\_(?:[^_*\\]|\\.)*?(?=\*\*)|(?:[^_\\]|\\.)+(?=[^_])|[punct*](\_+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:_,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~",ne.punctuation=X(ne.punctuation).replace(/punctuation/g,ne._punctuation).getRegex(),ne.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,ne.escapedEmSt=/(?:^|[^\\])(?:\\\\)*\\[*_]/g,ne._comment=X(K._comment).replace("(?:-->|$)","-->").getRegex(),ne.emStrong.lDelim=X(ne.emStrong.lDelim).replace(/punct/g,ne._punctuation).getRegex(),ne.emStrong.rDelimAst=X(ne.emStrong.rDelimAst,"g").replace(/punct/g,ne._punctuation).getRegex(),ne.emStrong.rDelimUnd=X(ne.emStrong.rDelimUnd,"g").replace(/punct/g,ne._punctuation).getRegex(),ne._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,ne._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,ne._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,ne.autolink=X(ne.autolink).replace("scheme",ne._scheme).replace("email",ne._email).getRegex(),ne._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,ne.tag=X(ne.tag).replace("comment",ne._comment).replace("attribute",ne._attribute).getRegex(),ne._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,ne._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,ne._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,ne.link=X(ne.link).replace("label",ne._label).replace("href",ne._href).replace("title",ne._title).getRegex(),ne.reflink=X(ne.reflink).replace("label",ne._label).replace("ref",K._label).getRegex(),ne.nolink=X(ne.nolink).replace("ref",K._label).getRegex(),ne.reflinkSearch=X(ne.reflinkSearch,"g").replace("reflink",ne.reflink).replace("nolink",ne.nolink).getRegex(),ne.normal=B({},ne),ne.pedantic=B({},ne.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:X(/^!?\[(label)\]\((.*?)\)/).replace("label",ne._label).getRegex(),reflink:X(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ne._label).getRegex()}),ne.gfm=B({},ne.normal,{escape:X(ne.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(c="x"+c.toString(16)),O+="&#"+c+";";return O}var Qe=function(){function I(T){this.tokens=[],this.tokens.links=Object.create(null),this.options=T||_e.NT,this.options.tokenizer=this.options.tokenizer||new h,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};var c={block:K.normal,inline:ne.normal};this.options.pedantic?(c.block=K.pedantic,c.inline=ne.pedantic):this.options.gfm&&(c.block=K.gfm,this.options.breaks?c.inline=ne.breaks:c.inline=ne.gfm),this.tokenizer.rules=c}I.lex=function(c,p){var g=new I(p);return g.lex(c)},I.lexInline=function(c,p){var g=new I(p);return g.inlineTokens(c)};var O=I.prototype;return O.lex=function(c){c=c.replace(/\r\n|\r/g,` +`),this.blockTokens(c,this.tokens);for(var p;p=this.inlineQueue.shift();)this.inlineTokens(p.src,p.tokens);return this.tokens},O.blockTokens=function(c,p){var g=this;p===void 0&&(p=[]),this.options.pedantic?c=c.replace(/\t/g," ").replace(/^ +$/gm,""):c=c.replace(/^( *)(\t+)/gm,function(F,S,b){return S+" ".repeat(b.length)});for(var D,l,d,m;c;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(F){return(D=F.call({lexer:g},c,p))?(c=c.substring(D.raw.length),p.push(D),!0):!1}))){if(D=this.tokenizer.space(c)){c=c.substring(D.raw.length),D.raw.length===1&&p.length>0?p[p.length-1].raw+=` +`:p.push(D);continue}if(D=this.tokenizer.code(c)){c=c.substring(D.raw.length),l=p[p.length-1],l&&(l.type==="paragraph"||l.type==="text")?(l.raw+=` +`+D.raw,l.text+=` +`+D.text,this.inlineQueue[this.inlineQueue.length-1].src=l.text):p.push(D);continue}if(D=this.tokenizer.fences(c)){c=c.substring(D.raw.length),p.push(D);continue}if(D=this.tokenizer.heading(c)){c=c.substring(D.raw.length),p.push(D);continue}if(D=this.tokenizer.hr(c)){c=c.substring(D.raw.length),p.push(D);continue}if(D=this.tokenizer.blockquote(c)){c=c.substring(D.raw.length),p.push(D);continue}if(D=this.tokenizer.list(c)){c=c.substring(D.raw.length),p.push(D);continue}if(D=this.tokenizer.html(c)){c=c.substring(D.raw.length),p.push(D);continue}if(D=this.tokenizer.def(c)){c=c.substring(D.raw.length),l=p[p.length-1],l&&(l.type==="paragraph"||l.type==="text")?(l.raw+=` +`+D.raw,l.text+=` +`+D.raw,this.inlineQueue[this.inlineQueue.length-1].src=l.text):this.tokens.links[D.tag]||(this.tokens.links[D.tag]={href:D.href,title:D.title});continue}if(D=this.tokenizer.table(c)){c=c.substring(D.raw.length),p.push(D);continue}if(D=this.tokenizer.lheading(c)){c=c.substring(D.raw.length),p.push(D);continue}if(d=c,this.options.extensions&&this.options.extensions.startBlock&&function(){var F=1/0,S=c.slice(1),b=void 0;g.options.extensions.startBlock.forEach(function(w){b=w.call({lexer:this},S),typeof b=="number"&&b>=0&&(F=Math.min(F,b))}),F<1/0&&F>=0&&(d=c.substring(0,F+1))}(),this.state.top&&(D=this.tokenizer.paragraph(d))){l=p[p.length-1],m&&l.type==="paragraph"?(l.raw+=` +`+D.raw,l.text+=` +`+D.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=l.text):p.push(D),m=d.length!==c.length,c=c.substring(D.raw.length);continue}if(D=this.tokenizer.text(c)){c=c.substring(D.raw.length),l=p[p.length-1],l&&l.type==="text"?(l.raw+=` +`+D.raw,l.text+=` +`+D.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=l.text):p.push(D);continue}if(c){var y="Infinite loop on byte: "+c.charCodeAt(0);if(this.options.silent){console.error(y);break}else throw new Error(y)}}return this.state.top=!0,p},O.inline=function(c,p){return p===void 0&&(p=[]),this.inlineQueue.push({src:c,tokens:p}),p},O.inlineTokens=function(c,p){var g=this;p===void 0&&(p=[]);var D,l,d,m=c,y,F,S;if(this.tokens.links){var b=Object.keys(this.tokens.links);if(b.length>0)for(;(y=this.tokenizer.rules.inline.reflinkSearch.exec(m))!=null;)b.includes(y[0].slice(y[0].lastIndexOf("[")+1,-1))&&(m=m.slice(0,y.index)+"["+at("a",y[0].length-2)+"]"+m.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(y=this.tokenizer.rules.inline.blockSkip.exec(m))!=null;)m=m.slice(0,y.index)+"["+at("a",y[0].length-2)+"]"+m.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(y=this.tokenizer.rules.inline.escapedEmSt.exec(m))!=null;)m=m.slice(0,y.index+y[0].length-2)+"++"+m.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex),this.tokenizer.rules.inline.escapedEmSt.lastIndex--;for(;c;)if(F||(S=""),F=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(C){return(D=C.call({lexer:g},c,p))?(c=c.substring(D.raw.length),p.push(D),!0):!1}))){if(D=this.tokenizer.escape(c)){c=c.substring(D.raw.length),p.push(D);continue}if(D=this.tokenizer.tag(c)){c=c.substring(D.raw.length),l=p[p.length-1],l&&D.type==="text"&&l.type==="text"?(l.raw+=D.raw,l.text+=D.text):p.push(D);continue}if(D=this.tokenizer.link(c)){c=c.substring(D.raw.length),p.push(D);continue}if(D=this.tokenizer.reflink(c,this.tokens.links)){c=c.substring(D.raw.length),l=p[p.length-1],l&&D.type==="text"&&l.type==="text"?(l.raw+=D.raw,l.text+=D.text):p.push(D);continue}if(D=this.tokenizer.emStrong(c,m,S)){c=c.substring(D.raw.length),p.push(D);continue}if(D=this.tokenizer.codespan(c)){c=c.substring(D.raw.length),p.push(D);continue}if(D=this.tokenizer.br(c)){c=c.substring(D.raw.length),p.push(D);continue}if(D=this.tokenizer.del(c)){c=c.substring(D.raw.length),p.push(D);continue}if(D=this.tokenizer.autolink(c,Ge)){c=c.substring(D.raw.length),p.push(D);continue}if(!this.state.inLink&&(D=this.tokenizer.url(c,Ge))){c=c.substring(D.raw.length),p.push(D);continue}if(d=c,this.options.extensions&&this.options.extensions.startInline&&function(){var C=1/0,ee=c.slice(1),he=void 0;g.options.extensions.startInline.forEach(function(ke){he=ke.call({lexer:this},ee),typeof he=="number"&&he>=0&&(C=Math.min(C,he))}),C<1/0&&C>=0&&(d=c.substring(0,C+1))}(),D=this.tokenizer.inlineText(d,Le)){c=c.substring(D.raw.length),D.raw.slice(-1)!=="_"&&(S=D.raw.slice(-1)),F=!0,l=p[p.length-1],l&&l.type==="text"?(l.raw+=D.raw,l.text+=D.text):p.push(D);continue}if(c){var w="Infinite loop on byte: "+c.charCodeAt(0);if(this.options.silent){console.error(w);break}else throw new Error(w)}}return p},Q(I,null,[{key:"rules",get:function(){return{block:K,inline:ne}}}]),I}(),je=function(){function I(T){this.options=T||_e.NT}var O=I.prototype;return O.code=function(c,p,g){var D=(p||"").match(/\S*/)[0];if(this.options.highlight){var l=this.options.highlight(c,D);l!=null&&l!==c&&(g=!0,c=l)}return c=c.replace(/\n$/,"")+` +`,D?'
    '+(g?c:H(c,!0))+`
    +`:"
    "+(g?c:H(c,!0))+`
    +`},O.blockquote=function(c){return`
    +`+c+`
    +`},O.html=function(c){return c},O.heading=function(c,p,g,D){if(this.options.headerIds){var l=this.options.headerPrefix+D.slug(g);return"'+c+" +`}return""+c+" +`},O.hr=function(){return this.options.xhtml?`
    +`:`
    +`},O.list=function(c,p,g){var D=p?"ol":"ul",l=p&&g!==1?' start="'+g+'"':"";return"<"+D+l+`> +`+c+" +`},O.listitem=function(c){return"
  • "+c+`
  • +`},O.checkbox=function(c){return" "},O.paragraph=function(c){return"

    "+c+`

    +`},O.table=function(c,p){return p&&(p=""+p+""),` + +`+c+` +`+p+`
    +`},O.tablerow=function(c){return` +`+c+` +`},O.tablecell=function(c,p){var g=p.header?"th":"td",D=p.align?"<"+g+' align="'+p.align+'">':"<"+g+">";return D+c+(" +`)},O.strong=function(c){return""+c+""},O.em=function(c){return""+c+""},O.codespan=function(c){return""+c+""},O.br=function(){return this.options.xhtml?"
    ":"
    "},O.del=function(c){return""+c+""},O.link=function(c,p,g){if(c=ge(this.options.sanitize,this.options.baseUrl,c),c===null)return g;var D='",D},O.image=function(c,p,g){if(c=ge(this.options.sanitize,this.options.baseUrl,c),c===null)return g;var D=''+g+'":">",D},O.text=function(c){return c},I}(),ot=function(){function I(){}var O=I.prototype;return O.strong=function(c){return c},O.em=function(c){return c},O.codespan=function(c){return c},O.del=function(c){return c},O.html=function(c){return c},O.text=function(c){return c},O.link=function(c,p,g){return""+g},O.image=function(c,p,g){return""+g},O.br=function(){return""},I}(),lt=function(){function I(){this.seen={}}var O=I.prototype;return O.serialize=function(c){return c.toLowerCase().trim().replace(/<[!\/a-z].*?>/ig,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},O.getNextSafeSlug=function(c,p){var g=c,D=0;if(this.seen.hasOwnProperty(g)){D=this.seen[c];do D++,g=c+"-"+D;while(this.seen.hasOwnProperty(g))}return p||(this.seen[c]=D,this.seen[g]=0),g},O.slug=function(c,p){p===void 0&&(p={});var g=this.serialize(c);return this.getNextSafeSlug(g,p.dryrun)},I}(),Ie=function(){function I(T){this.options=T||_e.NT,this.options.renderer=this.options.renderer||new je,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new ot,this.slugger=new lt}I.parse=function(c,p){var g=new I(p);return g.parse(c)},I.parseInline=function(c,p){var g=new I(p);return g.parseInline(c)};var O=I.prototype;return O.parse=function(c,p){p===void 0&&(p=!0);var g="",D,l,d,m,y,F,S,b,w,C,ee,he,ke,xe,ce,We,Ue,Be,ze,$e=c.length;for(D=0;D<$e;D++){if(C=c[D],this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[C.type]&&(ze=this.options.extensions.renderers[C.type].call({parser:this},C),ze!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(C.type))){g+=ze||"";continue}switch(C.type){case"space":continue;case"hr":{g+=this.renderer.hr();continue}case"heading":{g+=this.renderer.heading(this.parseInline(C.tokens),C.depth,j(this.parseInline(C.tokens,this.textRenderer)),this.slugger);continue}case"code":{g+=this.renderer.code(C.text,C.lang,C.escaped);continue}case"table":{for(b="",S="",m=C.header.length,l=0;l0&&ce.tokens[0].type==="paragraph"?(ce.tokens[0].text=Be+" "+ce.tokens[0].text,ce.tokens[0].tokens&&ce.tokens[0].tokens.length>0&&ce.tokens[0].tokens[0].type==="text"&&(ce.tokens[0].tokens[0].text=Be+" "+ce.tokens[0].tokens[0].text)):ce.tokens.unshift({type:"text",text:Be}):xe+=Be),xe+=this.parse(ce.tokens,ke),w+=this.renderer.listitem(xe,Ue,We);g+=this.renderer.list(w,ee,he);continue}case"html":{g+=this.renderer.html(C.text);continue}case"paragraph":{g+=this.renderer.paragraph(this.parseInline(C.tokens));continue}case"text":{for(w=C.tokens?this.parseInline(C.tokens):C.text;D+1<$e&&c[D+1].type==="text";)C=c[++D],w+=` +`+(C.tokens?this.parseInline(C.tokens):C.text);g+=p?this.renderer.paragraph(w):w;continue}default:{var Ve='Token with "'+C.type+'" type was not found.';if(this.options.silent){console.error(Ve);return}else throw new Error(Ve)}}}return g},O.parseInline=function(c,p){p=p||this.renderer;var g="",D,l,d,m=c.length;for(D=0;D";if(O)return Promise.resolve(p);if(T){T(null,p);return}return p}if(O)return Promise.reject(c);if(T){T(c);return}throw c}}function jt(I,O){return function(T,c,p){typeof c=="function"&&(p=c,c=null);var g=B({},c);c=B({},De.defaults,g);var D=wt(c.silent,c.async,p);if(typeof T>"u"||T===null)return D(new Error("marked(): input parameter is undefined or null"));if(typeof T!="string")return D(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(T)+", string expected"));if(Je(c),c.hooks&&(c.hooks.options=c),p){var l=c.highlight,d;try{c.hooks&&(T=c.hooks.preprocess(T)),d=I(T,c)}catch(b){return D(b)}var m=function(w){var C;if(!w)try{c.walkTokens&&De.walkTokens(d,c.walkTokens),C=O(d,c),c.hooks&&(C=c.hooks.postprocess(C))}catch(ee){w=ee}return c.highlight=l,w?D(w):p(null,C)};if(!l||l.length<3||(delete c.highlight,!d.length))return m();var y=0;De.walkTokens(d,function(b){b.type==="code"&&(y++,setTimeout(function(){l(b.text,b.lang,function(w,C){if(w)return m(w);C!=null&&C!==b.text&&(b.text=C,b.escaped=!0),y--,y===0&&m()})},0))}),y===0&&m();return}if(c.async)return Promise.resolve(c.hooks?c.hooks.preprocess(T):T).then(function(b){return I(b,c)}).then(function(b){return c.walkTokens?Promise.all(De.walkTokens(b,c.walkTokens)).then(function(){return b}):b}).then(function(b){return O(b,c)}).then(function(b){return c.hooks?c.hooks.postprocess(b):b}).catch(D);try{c.hooks&&(T=c.hooks.preprocess(T));var F=I(T,c);c.walkTokens&&De.walkTokens(F,c.walkTokens);var S=O(F,c);return c.hooks&&(S=c.hooks.postprocess(S)),S}catch(b){return D(b)}}}function De(I,O,T){return jt(Qe.lex,Ie.parse)(I,O,T)}De.options=De.setOptions=function(I){return De.defaults=B({},De.defaults,I),G(De.defaults),De},De.getDefaults=V,De.defaults=_e.NT,De.use=function(){for(var I=De.defaults.extensions||{renderers:{},childTokens:{}},O=arguments.length,T=new Array(O),c=0;c{this.notifyClients({type:t,data:e.data})}))}notifyClients(t){for(const e of this.clients)e.postMessage(t)}status(t){t.postMessage({type:"status",message:`url: ${this.url} readyState: ${this.eventSource.readyState}`})}}self.addEventListener("connect",c=>{for(const t of c.ports)t.addEventListener("message",e=>{if(!self.EventSource){t.postMessage({type:"no-event-source"});return}if(e.data.type==="start"){const s=e.data.url;if(r[s]){const o=r[s];o.register(t),n[t]=o;return}let i=n[t];if(i){if(i.eventSource&&i.url===s)return;i.deregister(t)===0&&(i.close(),r[i.url]=null)}i=new l(s),i.register(t),r[s]=i,n[t]=i}else if(e.data.type==="listen")n[t].listen(e.data.eventType);else if(e.data.type==="close"){const s=n[t];if(!s)return;s.deregister(t)===0&&(s.close(),r[s.url]=null,n[t]=null)}else if(e.data.type==="status"){const s=n[t];if(!s){t.postMessage({type:"status",message:"not connected"});return}s.status(t)}else t.postMessage({type:"error",message:`received but don't know how to handle: ${e.data}`})}),t.start()})})(); diff --git a/data/gitea/public/assets/js/index.js b/data/gitea/public/assets/js/index.js new file mode 100644 index 0000000..d7d735f --- /dev/null +++ b/data/gitea/public/assets/js/index.js @@ -0,0 +1,232 @@ +var L7=Object.defineProperty;var R7=(oi,bi,wi)=>bi in oi?L7(oi,bi,{enumerable:!0,configurable:!0,writable:!0,value:wi}):oi[bi]=wi;var vl=(oi,bi,wi)=>(R7(oi,typeof bi!="symbol"?bi+"":bi,wi),wi),ev=(oi,bi,wi)=>{if(!bi.has(oi))throw TypeError("Cannot "+wi)};var Wr=(oi,bi,wi)=>(ev(oi,bi,"read from private field"),wi?wi.call(oi):bi.get(oi)),Vl=(oi,bi,wi)=>{if(bi.has(oi))throw TypeError("Cannot add the same private member more than once");bi instanceof WeakSet?bi.add(oi):bi.set(oi,wi)},Qa=(oi,bi,wi,vi)=>(ev(oi,bi,"write to private field"),vi?vi.call(oi,wi):bi.set(oi,wi),wi);var qf=(oi,bi,wi)=>(ev(oi,bi,"access private method"),wi);(function(){var __webpack_modules__={"./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js":function(oi,bi,wi){"use strict";wi.d(bi,{C4:function(){return fs},EW:function(){return bc},Gc:function(){return su},IG:function(){return Rc},IJ:function(){return ma},KR:function(){return mo},Kh:function(){return ec},Pr:function(){return Oc},QW:function(){return jd},X2:function(){return bn},bl:function(){return mn},fE:function(){return Da},g8:function(){return Ya},hZ:function(){return Wi},i9:function(){return Us},ju:function(){return ru},lW:function(){return cf},o5:function(){return _n},u4:function(){return ki},ux:function(){return Go},yC:function(){return Li}});var vi=wi("./node_modules/@vue/shared/dist/shared.esm-bundler.js");function ri(ln,...Tn){console.warn(`[Vue warn] ${ln}`,...Tn)}let yi;class Li{constructor(Tn=!1){this.detached=Tn,this._active=!0,this.effects=[],this.cleanups=[],this.parent=yi,!Tn&&yi&&(this.index=(yi.scopes||(yi.scopes=[])).push(this)-1)}get active(){return this._active}run(Tn){if(this._active){const ts=yi;try{return yi=this,Tn()}finally{yi=ts}}}on(){yi=this}off(){yi=this.parent}stop(Tn){if(this._active){let ts,xs;for(ts=0,xs=this.effects.length;ts=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),mn()}return this._dirtyLevel>=4}set dirty(Tn){this._dirtyLevel=Tn?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let Tn=sn,ts=Vn;try{return sn=!0,Vn=this,this._runnings++,un(this),this.fn()}finally{ls(this),this._runnings--,Vn=ts,sn=Tn}}stop(){var Tn;this.active&&(un(this),ls(this),(Tn=this.onStop)==null||Tn.call(this),this.active=!1)}}function Zi(ln){return ln.value}function un(ln){ln._trackId++,ln._depsLength=0}function ls(ln){if(ln.deps.length>ln._depsLength){for(let Tn=ln._depsLength;Tn{ts.dirty&&ts.run()});Tn&&(extend(ts,Tn),Tn.scope&&tn(ts,Tn.scope)),(!Tn||!Tn.lazy)&&ts.run();const xs=ts.run.bind(ts);return xs.effect=ts,xs}function qi(ln){ln.effect.stop()}let sn=!0,rs=0;const hs=[];function fs(){hs.push(sn),sn=!1}function yn(){hs.push(sn),sn=!0}function mn(){const ln=hs.pop();sn=ln===void 0?!0:ln}function Mn(){rs++}function pi(){for(rs--;!rs&&dn.length;)dn.shift()()}function rn(ln,Tn,ts){var xs;if(Tn.get(ln)!==ln._trackId){Tn.set(ln,ln._trackId);const As=ln.deps[ln._depsLength];As!==Tn?(As&&ks(As,ln),ln.deps[ln._depsLength++]=Tn):ln._depsLength++}}const dn=[];function pn(ln,Tn,ts){var xs;Mn();for(const As of ln.keys()){let Bs;As._dirtyLevel{const ts=new Map;return ts.cleanup=ln,ts.computed=Tn,ts},nn=new WeakMap,Ai=Symbol(""),Ri=Symbol("");function ki(ln,Tn,ts){if(sn&&Vn){let xs=nn.get(ln);xs||nn.set(ln,xs=new Map);let As=xs.get(ts);As||xs.set(ts,As=Pn(()=>xs.delete(ts))),rn(Vn,As,void 0)}}function Wi(ln,Tn,ts,xs,As,Bs){const Eo=nn.get(ln);if(!Eo)return;let qo=[];if(Tn==="clear")qo=[...Eo.values()];else if(ts==="length"&&(0,vi.cy)(ln)){const Wa=Number(xs);Eo.forEach((_c,ba)=>{(ba==="length"||!(0,vi.Bm)(ba)&&ba>=Wa)&&qo.push(_c)})}else switch(ts!==void 0&&qo.push(Eo.get(ts)),Tn){case"add":(0,vi.cy)(ln)?(0,vi.yI)(ts)&&qo.push(Eo.get("length")):(qo.push(Eo.get(Ai)),(0,vi.CE)(ln)&&qo.push(Eo.get(Ri)));break;case"delete":(0,vi.cy)(ln)||(qo.push(Eo.get(Ai)),(0,vi.CE)(ln)&&qo.push(Eo.get(Ri)));break;case"set":(0,vi.CE)(ln)&&qo.push(Eo.get(Ai));break}Mn();for(const Wa of qo)Wa&&pn(Wa,4,void 0);pi()}function an(ln,Tn){var ts;return(ts=nn.get(ln))==null?void 0:ts.get(Tn)}const Fn=(0,vi.pD)("__proto__,__v_isRef,__isVue"),en=new Set(Object.getOwnPropertyNames(Symbol).filter(ln=>ln!=="arguments"&&ln!=="caller").map(ln=>Symbol[ln]).filter(vi.Bm)),Fi=Oi();function Oi(){const ln={};return["includes","indexOf","lastIndexOf"].forEach(Tn=>{ln[Tn]=function(...ts){const xs=Go(this);for(let Bs=0,Eo=this.length;Bs{ln[Tn]=function(...ts){fs(),Mn();const xs=Go(this)[Tn].apply(this,ts);return pi(),mn(),xs}}),ln}function zi(ln){(0,vi.Bm)(ln)||(ln=String(ln));const Tn=Go(this);return ki(Tn,"has",ln),Tn.hasOwnProperty(ln)}class Ti{constructor(Tn=!1,ts=!1){this._isReadonly=Tn,this._isShallow=ts}get(Tn,ts,xs){const As=this._isReadonly,Bs=this._isShallow;if(ts==="__v_isReactive")return!As;if(ts==="__v_isReadonly")return As;if(ts==="__v_isShallow")return Bs;if(ts==="__v_raw")return xs===(As?Bs?rl:ra:Bs?Do:sa).get(Tn)||Object.getPrototypeOf(Tn)===Object.getPrototypeOf(xs)?Tn:void 0;const Eo=(0,vi.cy)(Tn);if(!As){if(Eo&&(0,vi.$3)(Fi,ts))return Reflect.get(Fi,ts,xs);if(ts==="hasOwnProperty")return zi}const qo=Reflect.get(Tn,ts,xs);return((0,vi.Bm)(ts)?en.has(ts):Fn(ts))||(As||ki(Tn,"get",ts),Bs)?qo:Us(qo)?Eo&&(0,vi.yI)(ts)?qo:qo.value:(0,vi.Gv)(qo)?As?Ta(qo):ec(qo):qo}}class Yi extends Ti{constructor(Tn=!1){super(!1,Tn)}set(Tn,ts,xs,As){let Bs=Tn[ts];if(!this._isShallow){const Wa=Zo(Bs);if(!Da(xs)&&!Zo(xs)&&(Bs=Go(Bs),xs=Go(xs)),!(0,vi.cy)(Tn)&&Us(Bs)&&!Us(xs))return Wa?!1:(Bs.value=xs,!0)}const Eo=(0,vi.cy)(Tn)&&(0,vi.yI)(ts)?Number(ts)ln,cs=ln=>Reflect.getPrototypeOf(ln);function Vs(ln,Tn,ts=!1,xs=!1){ln=ln.__v_raw;const As=Go(ln),Bs=Go(Tn);ts||((0,vi.$H)(Tn,Bs)&&ki(As,"get",Tn),ki(As,"get",Bs));const{has:Eo}=cs(As),qo=xs?Xn:ts?kl:El;if(Eo.call(As,Tn))return qo(ln.get(Tn));if(Eo.call(As,Bs))return qo(ln.get(Bs));ln!==As&&ln.get(Tn)}function uo(ln,Tn=!1){const ts=this.__v_raw,xs=Go(ts),As=Go(ln);return Tn||((0,vi.$H)(ln,As)&&ki(xs,"has",ln),ki(xs,"has",As)),ln===As?ts.has(ln):ts.has(ln)||ts.has(As)}function fo(ln,Tn=!1){return ln=ln.__v_raw,!Tn&&ki(Go(ln),"iterate",Ai),Reflect.get(ln,"size",ln)}function go(ln){ln=Go(ln);const Tn=Go(this);return cs(Tn).has.call(Tn,ln)||(Tn.add(ln),Wi(Tn,"add",ln,ln)),this}function Po(ln,Tn){Tn=Go(Tn);const ts=Go(this),{has:xs,get:As}=cs(ts);let Bs=xs.call(ts,ln);Bs||(ln=Go(ln),Bs=xs.call(ts,ln));const Eo=As.call(ts,ln);return ts.set(ln,Tn),Bs?(0,vi.$H)(Tn,Eo)&&Wi(ts,"set",ln,Tn,Eo):Wi(ts,"add",ln,Tn),this}function Jo(ln){const Tn=Go(this),{has:ts,get:xs}=cs(Tn);let As=ts.call(Tn,ln);As||(ln=Go(ln),As=ts.call(Tn,ln));const Bs=xs?xs.call(Tn,ln):void 0,Eo=Tn.delete(ln);return As&&Wi(Tn,"delete",ln,void 0,Bs),Eo}function ca(){const ln=Go(this),Tn=ln.size!==0,ts=void 0,xs=ln.clear();return Tn&&Wi(ln,"clear",void 0,void 0,ts),xs}function gi(ln,Tn){return function(xs,As){const Bs=this,Eo=Bs.__v_raw,qo=Go(Eo),Wa=Tn?Xn:ln?kl:El;return!ln&&ki(qo,"iterate",Ai),Eo.forEach((_c,ba)=>xs.call(As,Wa(_c),Wa(ba),Bs))}}function Si(ln,Tn,ts){return function(...xs){const As=this.__v_raw,Bs=Go(As),Eo=(0,vi.CE)(Bs),qo=ln==="entries"||ln===Symbol.iterator&&Eo,Wa=ln==="keys"&&Eo,_c=As[ln](...xs),ba=ts?Xn:Tn?kl:El;return!Tn&&ki(Bs,"iterate",Wa?Ri:Ai),{next(){const{value:ol,done:Al}=_c.next();return Al?{value:ol,done:Al}:{value:qo?[ba(ol[0]),ba(ol[1])]:ba(ol),done:Al}},[Symbol.iterator](){return this}}}}function $i(ln){return function(...Tn){return ln==="delete"?!1:ln==="clear"?void 0:this}}function kn(){const ln={get(Bs){return Vs(this,Bs)},get size(){return fo(this)},has:uo,add:go,set:Po,delete:Jo,clear:ca,forEach:gi(!1,!1)},Tn={get(Bs){return Vs(this,Bs,!1,!0)},get size(){return fo(this)},has:uo,add:go,set:Po,delete:Jo,clear:ca,forEach:gi(!1,!0)},ts={get(Bs){return Vs(this,Bs,!0)},get size(){return fo(this,!0)},has(Bs){return uo.call(this,Bs,!0)},add:$i("add"),set:$i("set"),delete:$i("delete"),clear:$i("clear"),forEach:gi(!0,!1)},xs={get(Bs){return Vs(this,Bs,!0,!0)},get size(){return fo(this,!0)},has(Bs){return uo.call(this,Bs,!0)},add:$i("add"),set:$i("set"),delete:$i("delete"),clear:$i("clear"),forEach:gi(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(Bs=>{ln[Bs]=Si(Bs,!1,!1),ts[Bs]=Si(Bs,!0,!1),Tn[Bs]=Si(Bs,!1,!0),xs[Bs]=Si(Bs,!0,!0)}),[ln,ts,Tn,xs]}const[Ln,Un,Jn,Ys]=kn();function bo(ln,Tn){const ts=Tn?ln?Ys:Jn:ln?Un:Ln;return(xs,As,Bs)=>As==="__v_isReactive"?!ln:As==="__v_isReadonly"?ln:As==="__v_raw"?xs:Reflect.get((0,vi.$3)(ts,As)&&As in xs?ts:xs,As,Bs)}const _o={get:bo(!1,!1)},pa={get:bo(!1,!0)},ka={get:bo(!0,!1)},Aa={get:bo(!0,!0)};function ha(ln,Tn,ts){const xs=Go(ts);if(xs!==ts&&Tn.call(ln,xs)){const As=toRawType(ln);ri(`Reactive ${As} contains both the raw and reactive versions of the same object${As==="Map"?" as keys":""}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`)}}const sa=new WeakMap,Do=new WeakMap,ra=new WeakMap,rl=new WeakMap;function bl(ln){switch(ln){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function nu(ln){return ln.__v_skip||!Object.isExtensible(ln)?0:bl((0,vi.Zf)(ln))}function ec(ln){return Zo(ln)?ln:va(ln,!1,Bi,_o,sa)}function su(ln){return va(ln,!1,Gi,pa,Do)}function Ta(ln){return va(ln,!0,Qi,ka,ra)}function La(ln){return va(ln,!0,On,Aa,rl)}function va(ln,Tn,ts,xs,As){if(!(0,vi.Gv)(ln)||ln.__v_raw&&!(Tn&&ln.__v_isReactive))return ln;const Bs=As.get(ln);if(Bs)return Bs;const Eo=nu(ln);if(Eo===0)return ln;const qo=new Proxy(ln,Eo===2?xs:ts);return As.set(ln,qo),qo}function Ya(ln){return Zo(ln)?Ya(ln.__v_raw):!!(ln&&ln.__v_isReactive)}function Zo(ln){return!!(ln&&ln.__v_isReadonly)}function Da(ln){return!!(ln&&ln.__v_isShallow)}function ru(ln){return ln?!!ln.__v_raw:!1}function Go(ln){const Tn=ln&&ln.__v_raw;return Tn?Go(Tn):ln}function Rc(ln){return Object.isExtensible(ln)&&(0,vi.yQ)(ln,"__v_skip",!0),ln}const El=ln=>(0,vi.Gv)(ln)?ec(ln):ln,kl=ln=>(0,vi.Gv)(ln)?Ta(ln):ln,tc=null;class Mc{constructor(Tn,ts,xs,As){this.getter=Tn,this._setter=ts,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new bn(()=>Tn(this._value),()=>Ts(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!As,this.__v_isReadonly=xs}get value(){const Tn=Go(this);return(!Tn._cacheable||Tn.effect.dirty)&&(0,vi.$H)(Tn._value,Tn._value=Tn.effect.run())&&Ts(Tn,4),Yn(Tn),Tn.effect._dirtyLevel>=2&&Ts(Tn,2),Tn._value}set value(Tn){this._setter(Tn)}get _dirty(){return this.effect.dirty}set _dirty(Tn){this.effect.dirty=Tn}}function bc(ln,Tn,ts=!1){let xs,As;const Bs=(0,vi.Tn)(ln);return Bs?(xs=ln,As=vi.tE):(xs=ln.get,As=ln.set),new Mc(xs,As,Bs||!As,ts)}function Yn(ln){var Tn;sn&&Vn&&(ln=Go(ln),rn(Vn,(Tn=ln.dep)!=null?Tn:ln.dep=Pn(()=>ln.dep=void 0,ln instanceof Mc?ln:void 0),void 0))}function Ts(ln,Tn=4,ts){ln=Go(ln);const xs=ln.dep;xs&&pn(xs,Tn,void 0)}function Us(ln){return!!(ln&&ln.__v_isRef===!0)}function mo(ln){return ea(ln,!1)}function ma(ln){return ea(ln,!0)}function ea(ln,Tn){return Us(ln)?ln:new Ra(ln,Tn)}class Ra{constructor(Tn,ts){this.__v_isShallow=ts,this.dep=void 0,this.__v_isRef=!0,this._rawValue=ts?Tn:Go(Tn),this._value=ts?Tn:El(Tn)}get value(){return Yn(this),this._value}set value(Tn){const ts=this.__v_isShallow||Da(Tn)||Zo(Tn);Tn=ts?Tn:Go(Tn),(0,vi.$H)(Tn,this._rawValue)&&(this._rawValue=Tn,this._value=ts?Tn:El(Tn),Ts(this,4,Tn))}}function Ka(ln){Ts(ln,4,void 0)}function ia(ln){return Us(ln)?ln.value:ln}function Ul(ln){return isFunction(ln)?ln():ia(ln)}const Ml={get:(ln,Tn,ts)=>ia(Reflect.get(ln,Tn,ts)),set:(ln,Tn,ts,xs)=>{const As=ln[Tn];return Us(As)&&!Us(ts)?(As.value=ts,!0):Reflect.set(ln,Tn,ts,xs)}};function Oc(ln){return Ya(ln)?ln:new Proxy(ln,Ml)}class xa{constructor(Tn){this.dep=void 0,this.__v_isRef=!0;const{get:ts,set:xs}=Tn(()=>Yn(this),()=>Ts(this));this._get=ts,this._set=xs}get value(){return this._get()}set value(Tn){this._set(Tn)}}function Dc(ln){return new xa(ln)}function jd(ln){const Tn=(0,vi.cy)(ln)?new Array(ln.length):{};for(const ts in ln)Tn[ts]=Ja(ln,ts);return Tn}class Fc{constructor(Tn,ts,xs){this._object=Tn,this._key=ts,this._defaultValue=xs,this.__v_isRef=!0}get value(){const Tn=this._object[this._key];return Tn===void 0?this._defaultValue:Tn}set value(Tn){this._object[this._key]=Tn}get dep(){return an(Go(this._object),this._key)}}class Iu{constructor(Tn){this._getter=Tn,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function cf(ln,Tn,ts){return Us(ln)?ln:(0,vi.Tn)(ln)?new Iu(ln):(0,vi.Gv)(ln)&&arguments.length>1?Ja(ln,Tn,ts):mo(ln)}function Ja(ln,Tn,ts){const xs=ln[Tn];return Us(xs)?xs:new Fc(ln,Tn,ts)}const vu=null,Sd={GET:"get",HAS:"has",ITERATE:"iterate"},Pu={SET:"set",ADD:"add",DELETE:"delete",CLEAR:"clear"},Cd={SKIP:"__v_skip",IS_REACTIVE:"__v_isReactive",IS_READONLY:"__v_isReadonly",IS_SHALLOW:"__v_isShallow",RAW:"__v_raw"}},"./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js":function(oi,bi,wi){"use strict";wi.d(bi,{$u:function(){return Pc},Bs:function(){return Lp},CE:function(){return lc},Df:function(){return bu},FK:function(){return $a},Gy:function(){return uf},K9:function(){return sv},Lk:function(){return Gu},MZ:function(){return Ol},OW:function(){return Wl},Q3:function(){return lv},QP:function(){return qu},Qi:function(){return bl},RG:function(){return Vu},Wv:function(){return _h},bF:function(){return Ca},bU:function(){return fv},bo:function(){return _c},dY:function(){return nn},eW:function(){return Yu},g2:function(){return bc},h:function(){return Tp},hi:function(){return $u},jt:function(){return nu},k6:function(){return su},nI:function(){return _f},pI:function(){return hf},pM:function(){return Ed},pR:function(){return ff},qL:function(){return qi},rE:function(){return Rp},sV:function(){return Bu},uX:function(){return bh},v6:function(){return xh},wB:function(){return xs},xo:function(){return Dl}});var vi=wi("./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js"),ri=wi("./node_modules/@vue/shared/dist/shared.esm-bundler.js");const yi=[];function Li(ui){yi.push(ui)}function Ji(){yi.pop()}function tn(ui,...mi){(0,vi.C4)();const Ei=yi.length?yi[yi.length-1].component:null,Di=Ei&&Ei.appContext.config.warnHandler,Ni=_n();if(Di)En(Di,Ei,11,[ui+mi.map(Vi=>{var cn,An;return(An=(cn=Vi.toString)==null?void 0:cn.call(Vi))!=null?An:JSON.stringify(Vi)}).join(""),Ei&&Ei.proxy,Ni.map(({vnode:Vi})=>`at <${uu(Ei,Vi.type)}>`).join(` +`),Ni]);else{const Vi=[`[Vue warn]: ${ui}`,...mi];Ni.length&&Vi.push(` +`,...In(Ni)),console.warn(...Vi)}(0,vi.bl)()}function _n(){let ui=yi[yi.length-1];if(!ui)return[];const mi=[];for(;ui;){const Ei=mi[0];Ei&&Ei.vnode===ui?Ei.recurseCount++:mi.push({vnode:ui,recurseCount:0});const Di=ui.component&&ui.component.parent;ui=Di&&Di.vnode}return mi}function In(ui){const mi=[];return ui.forEach((Ei,Di)=>{mi.push(...Di===0?[]:[` +`],...Vn(Ei))}),mi}function Vn({vnode:ui,recurseCount:mi}){const Ei=mi>0?`... (${mi} recursive calls)`:"",Di=ui.component?ui.component.parent==null:!1,Ni=` at <${uu(ui.component,ui.type,Di)}`,Vi=">"+Ei;return ui.props?[Ni,...bn(ui.props),Vi]:[Ni+Vi]}function bn(ui){const mi=[],Ei=Object.keys(ui);return Ei.slice(0,3).forEach(Di=>{mi.push(...Zi(Di,ui[Di]))}),Ei.length>3&&mi.push(" ..."),mi}function Zi(ui,mi,Ei){return(0,ri.Kg)(mi)?(mi=JSON.stringify(mi),Ei?mi:[`${ui}=${mi}`]):typeof mi=="number"||typeof mi=="boolean"||mi==null?Ei?mi:[`${ui}=${mi}`]:(0,vi.i9)(mi)?(mi=Zi(ui,(0,vi.ux)(mi.value),!0),Ei?mi:[`${ui}=Ref<`,mi,">"]):(0,ri.Tn)(mi)?[`${ui}=fn${mi.name?`<${mi.name}>`:""}`]:(mi=(0,vi.ux)(mi),Ei?mi:[`${ui}=`,mi])}function un(ui,mi){}const ls={SETUP_FUNCTION:0,0:"SETUP_FUNCTION",RENDER_FUNCTION:1,1:"RENDER_FUNCTION",WATCH_GETTER:2,2:"WATCH_GETTER",WATCH_CALLBACK:3,3:"WATCH_CALLBACK",WATCH_CLEANUP:4,4:"WATCH_CLEANUP",NATIVE_EVENT_HANDLER:5,5:"NATIVE_EVENT_HANDLER",COMPONENT_EVENT_HANDLER:6,6:"COMPONENT_EVENT_HANDLER",VNODE_HOOK:7,7:"VNODE_HOOK",DIRECTIVE_HOOK:8,8:"DIRECTIVE_HOOK",TRANSITION_HOOK:9,9:"TRANSITION_HOOK",APP_ERROR_HANDLER:10,10:"APP_ERROR_HANDLER",APP_WARN_HANDLER:11,11:"APP_WARN_HANDLER",FUNCTION_REF:12,12:"FUNCTION_REF",ASYNC_COMPONENT_LOADER:13,13:"ASYNC_COMPONENT_LOADER",SCHEDULER:14,14:"SCHEDULER"},ks={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ."};function En(ui,mi,Ei,Di){try{return Di?ui(...Di):ui()}catch(Ni){sn(Ni,mi,Ei)}}function qi(ui,mi,Ei,Di){if((0,ri.Tn)(ui)){const Ni=En(ui,mi,Ei,Di);return Ni&&(0,ri.yL)(Ni)&&Ni.catch(Vi=>{sn(Vi,mi,Ei)}),Ni}if((0,ri.cy)(ui)){const Ni=[];for(let Vi=0;Vi>>1,Ni=yn[Di],Vi=Fi(Ni);Vimn&&yn.splice(mi,1)}function an(ui){(0,ri.cy)(ui)?Mn.push(...ui):(!pi||!pi.includes(ui,ui.allowRecurse?rn+1:rn))&&Mn.push(ui),ki()}function Fn(ui,mi,Ei=hs?mn+1:0){for(;EiFi(Ei)-Fi(Di));if(Mn.length=0,pi){pi.push(...mi);return}for(pi=mi,rn=0;rnui.id==null?1/0:ui.id,Oi=(ui,mi)=>{const Ei=Fi(ui)-Fi(mi);if(Ei===0){if(ui.pre&&!mi.pre)return-1;if(mi.pre&&!ui.pre)return 1}return Ei};function zi(ui){fs=!1,hs=!0,yn.sort(Oi);const mi=ri.tE;try{for(mn=0;mnPn){const Di=mi.ownerInstance,Ni=Di&&Ju(Di.type);return sn(`Maximum recursive updates exceeded${Ni?` in component <${Ni}>`:""}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,null,10),!0}else ui.set(mi,Ei+1)}}let Yi=!1;const wn=new Set,Bi=new Map;function Qi(ui){const mi=ui.type.__hmrId;let Ei=Bi.get(mi);Ei||(On(mi,ui.type),Ei=Bi.get(mi)),Ei.instances.add(ui)}function Gi(ui){Bi.get(ui.type.__hmrId).instances.delete(ui)}function On(ui,mi){return Bi.has(ui)?!1:(Bi.set(ui,{initialDef:Xn(mi),instances:new Set}),!0)}function Xn(ui){return Cm(ui)?ui.__vccOpts:ui}function cs(ui,mi){const Ei=Bi.get(ui);Ei&&(Ei.initialDef.render=mi,[...Ei.instances].forEach(Di=>{mi&&(Di.render=mi,Xn(Di.type).render=mi),Di.renderCache=[],Yi=!0,Di.effect.dirty=!0,Di.update(),Yi=!1}))}function Vs(ui,mi){const Ei=Bi.get(ui);if(!Ei)return;mi=Xn(mi),uo(Ei.initialDef,mi);const Di=[...Ei.instances];for(const Ni of Di){const Vi=Xn(Ni.type);wn.has(Vi)||(Vi!==Ei.initialDef&&uo(Vi,mi),wn.add(Vi)),Ni.appContext.propsCache.delete(Ni.type),Ni.appContext.emitsCache.delete(Ni.type),Ni.appContext.optionsCache.delete(Ni.type),Ni.ceReload?(wn.add(Vi),Ni.ceReload(mi.styles),wn.delete(Vi)):Ni.parent?(Ni.parent.effect.dirty=!0,Ri(Ni.parent.update)):Ni.appContext.reload?Ni.appContext.reload():typeof window<"u"?window.location.reload():console.warn("[HMR] Root or manually mounted instance modified. Full reload required.")}an(()=>{for(const Ni of Di)wn.delete(Xn(Ni.type))})}function uo(ui,mi){extend(ui,mi);for(const Ei in ui)Ei!=="__file"&&!(Ei in mi)&&delete ui[Ei]}function fo(ui){return(mi,Ei)=>{try{return ui(mi,Ei)}catch(Di){console.error(Di),console.warn("[HMR] Something went wrong during Vue component hot-reload. Full reload required.")}}}let go,Po=null,Jo=!1;function ca(ui,...mi){go?go.emit(ui,...mi):Jo||Po.push({event:ui,args:mi})}function gi(ui,mi){var Ei,Di;go=ui,go?(go.enabled=!0,Po.forEach(({event:Ni,args:Vi})=>go.emit(Ni,...Vi)),Po=[]):typeof window<"u"&&window.HTMLElement&&!((Di=(Ei=window.navigator)==null?void 0:Ei.userAgent)!=null&&Di.includes("jsdom"))?((mi.__VUE_DEVTOOLS_HOOK_REPLAY__=mi.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(Vi=>{gi(Vi,mi)}),setTimeout(()=>{go||(mi.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Jo=!0,Po=[])},3e3)):(Jo=!0,Po=[])}function Si(ui,mi){ca("app:init",ui,mi,{Fragment:$a,Text:vf,Comment:yl,Static:Yf})}function $i(ui){ca("app:unmount",ui)}const kn=null,Ln=null,Un=null,Jn=ui=>{go&&typeof go.cleanupBuffer=="function"&&!go.cleanupBuffer(ui)&&Un(ui)};function Ys(ui){return mi=>{ca(ui,mi.appContext.app,mi.uid,mi.parent?mi.parent.uid:void 0,mi)}}const bo=null,_o=null;function pa(ui){return(mi,Ei,Di)=>{ca(ui,mi.appContext.app,mi.uid,mi,Ei,Di)}}function ka(ui,mi,Ei){ca("component:emit",ui.appContext.app,ui,mi,Ei)}function Aa(ui,mi,...Ei){if(ui.isUnmounted)return;const Di=ui.vnode.props||ri.MZ;let Ni=Ei;const Vi=mi.startsWith("update:"),cn=Vi&&mi.slice(7);if(cn&&cn in Di){const ds=`${cn==="modelValue"?"model":cn}Modifiers`,{number:Cn,trim:is}=Di[ds]||ri.MZ;is&&(Ni=Ei.map(Ss=>(0,ri.Kg)(Ss)?Ss.trim():Ss)),Cn&&(Ni=Ei.map(ri.bB))}let An,qn=Di[An=(0,ri.rU)(mi)]||Di[An=(0,ri.rU)((0,ri.PT)(mi))];!qn&&Vi&&(qn=Di[An=(0,ri.rU)((0,ri.Tg)(mi))]),qn&&qi(qn,ui,6,Ni);const Qn=Di[An+"Once"];if(Qn){if(!ui.emitted)ui.emitted={};else if(ui.emitted[An])return;ui.emitted[An]=!0,qi(Qn,ui,6,Ni)}}function ha(ui,mi,Ei=!1){const Di=mi.emitsCache,Ni=Di.get(ui);if(Ni!==void 0)return Ni;const Vi=ui.emits;let cn={},An=!1;if(!(0,ri.Tn)(ui)){const qn=Qn=>{const ds=ha(Qn,mi,!0);ds&&(An=!0,(0,ri.X$)(cn,ds))};!Ei&&mi.mixins.length&&mi.mixins.forEach(qn),ui.extends&&qn(ui.extends),ui.mixins&&ui.mixins.forEach(qn)}return!Vi&&!An?((0,ri.Gv)(ui)&&Di.set(ui,null),null):((0,ri.cy)(Vi)?Vi.forEach(qn=>cn[qn]=null):(0,ri.X$)(cn,Vi),(0,ri.Gv)(ui)&&Di.set(ui,cn),cn)}function sa(ui,mi){return!ui||!(0,ri.Mp)(mi)?!1:(mi=mi.slice(2).replace(/Once$/,""),(0,ri.$3)(ui,mi[0].toLowerCase()+mi.slice(1))||(0,ri.$3)(ui,(0,ri.Tg)(mi))||(0,ri.$3)(ui,mi))}let Do=null,ra=null;function rl(ui){const mi=Do;return Do=ui,ra=ui&&ui.type.__scopeId||null,mi}function bl(ui){ra=ui}function nu(){ra=null}const ec=ui=>su;function su(ui,mi=Do,Ei){if(!mi||ui._n)return ui;const Di=(...Ni)=>{Di._d&&Jf(-1);const Vi=rl(mi);let cn;try{cn=ui(...Ni)}finally{rl(Vi),Di._d&&Jf(1)}return cn};return Di._n=!0,Di._c=!0,Di._d=!0,Di}let Ta=!1;function La(){Ta=!0}function va(ui){const{type:mi,vnode:Ei,proxy:Di,withProxy:Ni,propsOptions:[Vi],slots:cn,attrs:An,emit:qn,render:Qn,renderCache:ds,props:Cn,data:is,setupState:Ss,ctx:qs,inheritAttrs:oo}=ui,Qo=rl(ui);let Vo,Os;try{if(Ei.shapeFlag&4){const js=Ni||Di,Ks=js;Vo=tl(Qn.call(Ks,js,ds,Cn,Ss,is,qs)),Os=An}else{const js=mi;Vo=tl(js.length>1?js(Cn,{attrs:An,slots:cn,emit:qn}):js(Cn,null)),Os=mi.props?An:Da(An)}}catch(js){bf.length=0,sn(js,ui,1),Vo=Ca(yl)}let os=Vo,bs;if(Os&&oo!==!1){const js=Object.keys(Os),{shapeFlag:Ks}=os;js.length&&Ks&7&&(Vi&&js.some(ri.CP)&&(Os=ru(Os,Vi)),os=cu(os,Os))}return Ei.dirs&&(os=cu(os),os.dirs=os.dirs?os.dirs.concat(Ei.dirs):Ei.dirs),Ei.transition&&(os.transition=Ei.transition),Vo=os,rl(Qo),Vo}const Ya=ui=>{const mi=ui.children,Ei=ui.dynamicChildren,Di=Zo(mi,!1);if(!Di)return[ui,void 0];const Ni=mi.indexOf(Di),Vi=Ei?Ei.indexOf(Di):-1,cn=An=>{mi[Ni]=An,Ei&&(Vi>-1?Ei[Vi]=An:An.patchFlag>0&&(ui.dynamicChildren=[...Ei,An]))};return[tl(Di),cn]};function Zo(ui,mi=!0){let Ei;for(let Di=0;Di{let mi;for(const Ei in ui)(Ei==="class"||Ei==="style"||(0,ri.Mp)(Ei))&&((mi||(mi={}))[Ei]=ui[Ei]);return mi},ru=(ui,mi)=>{const Ei={};for(const Di in ui)(!(0,ri.CP)(Di)||!(Di.slice(9)in mi))&&(Ei[Di]=ui[Di]);return Ei},Go=ui=>ui.shapeFlag&7||ui.type===yl;function Rc(ui,mi,Ei){const{props:Di,children:Ni,component:Vi}=ui,{props:cn,children:An,patchFlag:qn}=mi,Qn=Vi.emitsOptions;if(mi.dirs||mi.transition)return!0;if(Ei&&qn>=0){if(qn&1024)return!0;if(qn&16)return Di?El(Di,cn,Qn):!!cn;if(qn&8){const ds=mi.dynamicProps;for(let Cn=0;Cnui.__isSuspense;let Ra=0;const Ka={name:"Suspense",__isSuspense:!0,process(ui,mi,Ei,Di,Ni,Vi,cn,An,qn,Qn){if(ui==null)Ml(mi,Ei,Di,Ni,Vi,cn,An,qn,Qn);else{if(Vi&&Vi.deps>0&&!ui.suspense.isInFallback){mi.suspense=ui.suspense,mi.suspense.vnode=mi,mi.el=ui.el;return}Oc(ui,mi,Ei,Di,Ni,cn,An,qn,Qn)}},hydrate:jd,create:Dc,normalize:Fc},ia=null;function Ul(ui,mi){const Ei=ui.props&&ui.props[mi];(0,ri.Tn)(Ei)&&Ei()}function Ml(ui,mi,Ei,Di,Ni,Vi,cn,An,qn){const{p:Qn,o:{createElement:ds}}=qn,Cn=ds("div"),is=ui.suspense=Dc(ui,Ni,Di,mi,Cn,Ei,Vi,cn,An,qn);Qn(null,is.pendingBranch=ui.ssContent,Cn,null,Di,is,Vi,cn),is.deps>0?(Ul(ui,"onPending"),Ul(ui,"onFallback"),Qn(null,ui.ssFallback,mi,Ei,Di,null,Vi,cn),Ja(is,ui.ssFallback)):is.resolve(!1,!0)}function Oc(ui,mi,Ei,Di,Ni,Vi,cn,An,{p:qn,um:Qn,o:{createElement:ds}}){const Cn=mi.suspense=ui.suspense;Cn.vnode=mi,mi.el=ui.el;const is=mi.ssContent,Ss=mi.ssFallback,{activeBranch:qs,pendingBranch:oo,isInFallback:Qo,isHydrating:Vo}=Cn;if(oo)Cn.pendingBranch=is,Vc(is,oo)?(qn(oo,is,Cn.hiddenContainer,null,Ni,Cn,Vi,cn,An),Cn.deps<=0?Cn.resolve():Qo&&(Vo||(qn(qs,Ss,Ei,Di,Ni,null,Vi,cn,An),Ja(Cn,Ss)))):(Cn.pendingId=Ra++,Vo?(Cn.isHydrating=!1,Cn.activeBranch=oo):Qn(oo,Ni,Cn),Cn.deps=0,Cn.effects.length=0,Cn.hiddenContainer=ds("div"),Qo?(qn(null,is,Cn.hiddenContainer,null,Ni,Cn,Vi,cn,An),Cn.deps<=0?Cn.resolve():(qn(qs,Ss,Ei,Di,Ni,null,Vi,cn,An),Ja(Cn,Ss))):qs&&Vc(is,qs)?(qn(qs,is,Ei,Di,Ni,Cn,Vi,cn,An),Cn.resolve(!0)):(qn(null,is,Cn.hiddenContainer,null,Ni,Cn,Vi,cn,An),Cn.deps<=0&&Cn.resolve()));else if(qs&&Vc(is,qs))qn(qs,is,Ei,Di,Ni,Cn,Vi,cn,An),Ja(Cn,is);else if(Ul(mi,"onPending"),Cn.pendingBranch=is,is.shapeFlag&512?Cn.pendingId=is.component.suspenseId:Cn.pendingId=Ra++,qn(null,is,Cn.hiddenContainer,null,Ni,Cn,Vi,cn,An),Cn.deps<=0)Cn.resolve();else{const{timeout:Os,pendingId:os}=Cn;Os>0?setTimeout(()=>{Cn.pendingId===os&&Cn.fallback(Ss)},Os):Os===0&&Cn.fallback(Ss)}}let xa=!1;function Dc(ui,mi,Ei,Di,Ni,Vi,cn,An,qn,Qn,ds=!1){const{p:Cn,m:is,um:Ss,n:qs,o:{parentNode:oo,remove:Qo}}=Qn;let Vo;const Os=vu(ui);Os&&mi?.pendingBranch&&(Vo=mi.pendingId,mi.deps++);const os=ui.props?(0,ri.Ro)(ui.props.timeout):void 0,bs=Vi,js={vnode:ui,parent:mi,parentComponent:Ei,namespace:cn,container:Di,hiddenContainer:Ni,deps:0,pendingId:Ra++,timeout:typeof os=="number"?os:-1,activeBranch:null,pendingBranch:null,isInFallback:!ds,isHydrating:ds,isUnmounted:!1,effects:[],resolve(Ks=!1,Ns=!1){const{vnode:Gs,activeBranch:Gr,pendingBranch:eo,pendingId:To,effects:fa,parentComponent:aa,container:Pa}=js;let Va=!1;js.isHydrating?js.isHydrating=!1:Ks||(Va=Gr&&eo.transition&&eo.transition.mode==="out-in",Va&&(Gr.transition.afterLeave=()=>{To===js.pendingId&&(is(eo,Pa,Vi===bs?qs(Gr):Vi,0),an(fa))}),Gr&&(oo(Gr.el)!==js.hiddenContainer&&(Vi=qs(Gr)),Ss(Gr,aa,js,!0)),Va||is(eo,Pa,Vi,0)),Ja(js,eo),js.pendingBranch=null,js.isInFallback=!1;let wo=js.parent,Yo=!1;for(;wo;){if(wo.pendingBranch){wo.effects.push(...fa),Yo=!0;break}wo=wo.parent}!Yo&&!Va&&an(fa),js.effects=[],Os&&mi&&mi.pendingBranch&&Vo===mi.pendingId&&(mi.deps--,mi.deps===0&&!Ns&&mi.resolve()),Ul(Gs,"onResolve")},fallback(Ks){if(!js.pendingBranch)return;const{vnode:Ns,activeBranch:Gs,parentComponent:Gr,container:eo,namespace:To}=js;Ul(Ns,"onFallback");const fa=qs(Gs),aa=()=>{js.isInFallback&&(Cn(null,Ks,eo,fa,Gr,null,To,An,qn),Ja(js,Ks))},Pa=Ks.transition&&Ks.transition.mode==="out-in";Pa&&(Gs.transition.afterLeave=aa),js.isInFallback=!0,Ss(Gs,Gr,null,!0),Pa||aa()},move(Ks,Ns,Gs){js.activeBranch&&is(js.activeBranch,Ks,Ns,Gs),js.container=Ks},next(){return js.activeBranch&&qs(js.activeBranch)},registerDep(Ks,Ns){const Gs=!!js.pendingBranch;Gs&&js.deps++;const Gr=Ks.vnode.el;Ks.asyncDep.catch(eo=>{sn(eo,Ks,0)}).then(eo=>{if(Ks.isUnmounted||js.isUnmounted||js.pendingId!==Ks.suspenseId)return;Ks.asyncResolved=!0;const{vnode:To}=Ks;Eh(Ks,eo,!1),Gr&&(To.el=Gr);const fa=!Gr&&Ks.subTree.el;Ns(Ks,To,oo(Gr||Ks.subTree.el),Gr?null:qs(Ks.subTree),js,cn,qn),fa&&Qo(fa),kl(Ks,To.el),Gs&&--js.deps===0&&js.resolve()})},unmount(Ks,Ns){js.isUnmounted=!0,js.activeBranch&&Ss(js.activeBranch,Ei,Ks,Ns),js.pendingBranch&&Ss(js.pendingBranch,Ei,Ks,Ns)}};return js}function jd(ui,mi,Ei,Di,Ni,Vi,cn,An,qn){const Qn=mi.suspense=Dc(mi,Di,Ei,ui.parentNode,document.createElement("div"),null,Ni,Vi,cn,An,!0),ds=qn(ui,Qn.pendingBranch=mi.ssContent,Ei,Qn,Vi,cn);return Qn.deps===0&&Qn.resolve(!1,!0),ds}function Fc(ui){const{shapeFlag:mi,children:Ei}=ui,Di=mi&32;ui.ssContent=Iu(Di?Ei.default:Ei),ui.ssFallback=Di?Iu(Ei.fallback):Ca(yl)}function Iu(ui){let mi;if((0,ri.Tn)(ui)){const Ei=ql&&ui._c;Ei&&(ui._d=!1,bh()),ui=ui(),Ei&&(ui._d=!0,mi=Xl,xc())}return(0,ri.cy)(ui)&&(ui=Zo(ui)),ui=tl(ui),mi&&!ui.dynamicChildren&&(ui.dynamicChildren=mi.filter(Ei=>Ei!==ui)),ui}function cf(ui,mi){mi&&mi.pendingBranch?(0,ri.cy)(ui)?mi.effects.push(...ui):mi.effects.push(ui):an(ui)}function Ja(ui,mi){ui.activeBranch=mi;const{vnode:Ei,parentComponent:Di}=ui;let Ni=mi.el;for(;!Ni&&mi.component;)mi=mi.component.subTree,Ni=mi.el;Ei.el=Ni,Di&&Di.subTree===Ei&&(Di.vnode.el=Ni,kl(Di,Ni))}function vu(ui){var mi;return((mi=ui.props)==null?void 0:mi.suspensible)!=null&&ui.props.suspensible!==!1}const Sd=Symbol.for("v-scx"),Pu=()=>{{const ui=rc(Sd);return ui}};function Cd(ui,mi){return As(ui,null,mi)}function ln(ui,mi){return As(ui,null,{flush:"post"})}function Tn(ui,mi){return As(ui,null,{flush:"sync"})}const ts={};function xs(ui,mi,Ei){return As(ui,mi,Ei)}function As(ui,mi,{immediate:Ei,deep:Di,flush:Ni,once:Vi,onTrack:cn,onTrigger:An}=ri.MZ){if(mi&&Vi){const Ns=mi;mi=(...Gs)=>{Ns(...Gs),Ks()}}const qn=Ns=>{tn("Invalid watch source: ",Ns,"A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.")},Qn=ga,ds=Ns=>Di===!0?Ns:qo(Ns,Di===!1?1:void 0);let Cn,is=!1,Ss=!1;if((0,vi.i9)(ui)?(Cn=()=>ui.value,is=(0,vi.fE)(ui)):(0,vi.g8)(ui)?(Cn=()=>ds(ui),is=!0):(0,ri.cy)(ui)?(Ss=!0,is=ui.some(Ns=>(0,vi.g8)(Ns)||(0,vi.fE)(Ns)),Cn=()=>ui.map(Ns=>{if((0,vi.i9)(Ns))return Ns.value;if((0,vi.g8)(Ns))return ds(Ns);if((0,ri.Tn)(Ns))return En(Ns,Qn,2)})):(0,ri.Tn)(ui)?mi?Cn=()=>En(ui,Qn,2):Cn=()=>(qs&&qs(),qi(ui,Qn,3,[oo])):Cn=ri.tE,mi&&Di){const Ns=Cn;Cn=()=>qo(Ns())}let qs,oo=Ns=>{qs=bs.onStop=()=>{En(Ns,Qn,4),qs=bs.onStop=void 0}},Qo;if(id)if(oo=ri.tE,mi?Ei&&qi(mi,Qn,3,[Cn(),Ss?[]:void 0,oo]):Cn(),Ni==="sync"){const Ns=Pu();Qo=Ns.__watcherHandles||(Ns.__watcherHandles=[])}else return ri.tE;let Vo=Ss?new Array(ui.length).fill(ts):ts;const Os=()=>{if(!(!bs.active||!bs.dirty))if(mi){const Ns=bs.run();(Di||is||(Ss?Ns.some((Gs,Gr)=>(0,ri.$H)(Gs,Vo[Gr])):(0,ri.$H)(Ns,Vo)))&&(qs&&qs(),qi(mi,Qn,3,[Ns,Vo===ts?void 0:Ss&&Vo[0]===ts?[]:Vo,oo]),Vo=Ns)}else bs.run()};Os.allowRecurse=!!mi;let os;Ni==="sync"?os=Os:Ni==="post"?os=()=>el(Os,Qn&&Qn.suspense):(Os.pre=!0,Qn&&(Os.id=Qn.uid),os=()=>Ri(Os));const bs=new vi.X2(Cn,ri.tE,os),js=(0,vi.o5)(),Ks=()=>{bs.stop(),js&&(0,ri.TF)(js.effects,bs)};return mi?Ei?Os():Vo=bs.run():Ni==="post"?el(bs.run.bind(bs),Qn&&Qn.suspense):bs.run(),Qo&&Qo.push(Ks),Ks}function Bs(ui,mi,Ei){const Di=this.proxy,Ni=(0,ri.Kg)(ui)?ui.includes(".")?Eo(Di,ui):()=>Di[ui]:ui.bind(Di,Di);let Vi;(0,ri.Tn)(mi)?Vi=mi:(Vi=mi.handler,Ei=mi);const cn=Tu(this),An=As(Ni,Vi.bind(Di),Ei);return cn(),An}function Eo(ui,mi){const Ei=mi.split(".");return()=>{let Di=ui;for(let Ni=0;Ni0){if(Ei>=mi)return ui;Ei++}if(Di=Di||new Set,Di.has(ui))return ui;if(Di.add(ui),(0,vi.i9)(ui))qo(ui.value,mi,Ei,Di);else if((0,ri.cy)(ui))for(let Ni=0;Ni{qo(Ni,mi,Ei,Di)});else if((0,ri.Qd)(ui))for(const Ni in ui)qo(ui[Ni],mi,Ei,Di);return ui}function Wa(ui){isBuiltInDirective(ui)&&tn("Do not use built-in directive ids as custom directive id: "+ui)}function _c(ui,mi){if(Do===null)return ui;const Ei=nd(Do)||Do.proxy,Di=ui.dirs||(ui.dirs=[]);for(let Ni=0;Ni{ui.isMounted=!0}),Dl(()=>{ui.isUnmounting=!0}),ui}const Tl=[Function,Array],qu={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Tl,onEnter:Tl,onAfterEnter:Tl,onEnterCancelled:Tl,onBeforeLeave:Tl,onLeave:Tl,onAfterLeave:Tl,onLeaveCancelled:Tl,onBeforeAppear:Tl,onAppear:Tl,onAfterAppear:Tl,onAppearCancelled:Tl},ff={name:"BaseTransition",props:qu,setup(ui,{slots:mi}){const Ei=_f(),Di=uf();return()=>{const Ni=mi.default&&bu(mi.default(),!0);if(!Ni||!Ni.length)return;let Vi=Ni[0];if(Ni.length>1){let is=!1;for(const Ss of Ni)if(Ss.type!==yl){Vi=Ss,is=!0;break}}const cn=(0,vi.ux)(ui),{mode:An}=cn;if(Di.isLeaving)return Nf(Vi);const qn=Ic(Vi);if(!qn)return Nf(Vi);const Qn=Wl(qn,cn,Di,Ei);Ol(qn,Qn);const ds=Ei.subTree,Cn=ds&&Ic(ds);if(Cn&&Cn.type!==yl&&!Vc(qn,Cn)){const is=Wl(Cn,cn,Di,Ei);if(Ol(Cn,is),An==="out-in")return Di.isLeaving=!0,is.afterLeave=()=>{Di.isLeaving=!1,Ei.update.active!==!1&&(Ei.effect.dirty=!0,Ei.update())},Nf(Vi);An==="in-out"&&qn.type!==yl&&(is.delayLeave=(Ss,qs,oo)=>{const Qo=Na(Di,Cn);Qo[String(Cn.key)]=Cn,Ss[ol]=()=>{qs(),Ss[ol]=void 0,delete Qn.delayedLeave},Qn.delayedLeave=oo})}return Vi}}};function Na(ui,mi){const{leavingVNodes:Ei}=ui;let Di=Ei.get(mi.type);return Di||(Di=Object.create(null),Ei.set(mi.type,Di)),Di}function Wl(ui,mi,Ei,Di){const{appear:Ni,mode:Vi,persisted:cn=!1,onBeforeEnter:An,onEnter:qn,onAfterEnter:Qn,onEnterCancelled:ds,onBeforeLeave:Cn,onLeave:is,onAfterLeave:Ss,onLeaveCancelled:qs,onBeforeAppear:oo,onAppear:Qo,onAfterAppear:Vo,onAppearCancelled:Os}=mi,os=String(ui.key),bs=Na(Ei,ui),js=(Gs,Gr)=>{Gs&&qi(Gs,Di,9,Gr)},Ks=(Gs,Gr)=>{const eo=Gr[1];js(Gs,Gr),(0,ri.cy)(Gs)?Gs.every(To=>To.length<=1)&&eo():Gs.length<=1&&eo()},Ns={mode:Vi,persisted:cn,beforeEnter(Gs){let Gr=An;if(!Ei.isMounted)if(Ni)Gr=oo||An;else return;Gs[ol]&&Gs[ol](!0);const eo=bs[os];eo&&Vc(ui,eo)&&eo.el[ol]&&eo.el[ol](),js(Gr,[Gs])},enter(Gs){let Gr=qn,eo=Qn,To=ds;if(!Ei.isMounted)if(Ni)Gr=Qo||qn,eo=Vo||Qn,To=Os||ds;else return;let fa=!1;const aa=Gs[Al]=Pa=>{fa||(fa=!0,Pa?js(To,[Gs]):js(eo,[Gs]),Ns.delayedLeave&&Ns.delayedLeave(),Gs[Al]=void 0)};Gr?Ks(Gr,[Gs,aa]):aa()},leave(Gs,Gr){const eo=String(ui.key);if(Gs[Al]&&Gs[Al](!0),Ei.isUnmounting)return Gr();js(Cn,[Gs]);let To=!1;const fa=Gs[ol]=aa=>{To||(To=!0,Gr(),aa?js(qs,[Gs]):js(Ss,[Gs]),Gs[ol]=void 0,bs[eo]===ui&&delete bs[eo])};bs[eo]=ui,is?Ks(is,[Gs,fa]):fa()},clone(Gs){return Wl(Gs,mi,Ei,Di)}};return Ns}function Nf(ui){if(ou(ui))return ui=cu(ui),ui.children=null,ui}function Ic(ui){if(!ou(ui))return ui;const{shapeFlag:mi,children:Ei}=ui;if(Ei){if(mi&16)return Ei[0];if(mi&32&&(0,ri.Tn)(Ei.default))return Ei.default()}}function Ol(ui,mi){ui.shapeFlag&6&&ui.component?Ol(ui.component.subTree,mi):ui.shapeFlag&128?(ui.ssContent.transition=mi.clone(ui.ssContent),ui.ssFallback.transition=mi.clone(ui.ssFallback)):ui.transition=mi}function bu(ui,mi=!1,Ei){let Di=[],Ni=0;for(let Vi=0;Vi1)for(let Vi=0;Vi!!ui.type.__asyncLoader;function kd(ui){isFunction(ui)&&(ui={loader:ui});const{loader:mi,loadingComponent:Ei,errorComponent:Di,delay:Ni=200,timeout:Vi,suspensible:cn=!0,onError:An}=ui;let qn=null,Qn,ds=0;const Cn=()=>(ds++,qn=null,is()),is=()=>{let Ss;return qn||(Ss=qn=mi().catch(qs=>{if(qs=qs instanceof Error?qs:new Error(String(qs)),An)return new Promise((oo,Qo)=>{An(qs,()=>oo(Cn()),()=>Qo(qs),ds+1)});throw qs}).then(qs=>Ss!==qn&&qn?qn:(qs&&(qs.__esModule||qs[Symbol.toStringTag]==="Module")&&(qs=qs.default),Qn=qs,qs)))};return Ed({name:"AsyncComponentWrapper",__asyncLoader:is,get __asyncResolved(){return Qn},setup(){const Ss=ga;if(Qn)return()=>_u(Qn,Ss);const qs=Os=>{qn=null,sn(Os,Ss,13,!Di)};if(cn&&Ss.suspense||id)return is().then(Os=>()=>_u(Os,Ss)).catch(Os=>(qs(Os),()=>Di?Ca(Di,{error:Os}):null));const oo=ref(!1),Qo=ref(),Vo=ref(!!Ni);return Ni&&setTimeout(()=>{Vo.value=!1},Ni),Vi!=null&&setTimeout(()=>{if(!oo.value&&!Qo.value){const Os=new Error(`Async component timed out after ${Vi}ms.`);qs(Os),Qo.value=Os}},Vi),is().then(()=>{oo.value=!0,Ss.parent&&ou(Ss.parent.vnode)&&(Ss.parent.effect.dirty=!0,Ri(Ss.parent.update))}).catch(Os=>{qs(Os),Qo.value=Os}),()=>{if(oo.value&&Qn)return _u(Qn,Ss);if(Qo.value&&Di)return Ca(Di,{error:Qo.value});if(Ei&&!Vo.value)return Ca(Ei)}}})}function _u(ui,mi){const{ref:Ei,props:Di,children:Ni,ce:Vi}=mi.vnode,cn=Ca(ui,Di,Ni);return cn.ref=Ei,cn.ce=Vi,delete mi.vnode.ce,cn}const ou=ui=>ui.type.__isKeepAlive,fh={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(ui,{slots:mi}){const Ei=_f(),Di=Ei.ctx;if(!Di.renderer)return()=>{const Os=mi.default&&mi.default();return Os&&Os.length===1?Os[0]:Os};const Ni=new Map,Vi=new Set;let cn=null;const An=Ei.suspense,{renderer:{p:qn,m:Qn,um:ds,o:{createElement:Cn}}}=Di,is=Cn("div");Di.activate=(Os,os,bs,js,Ks)=>{const Ns=Os.component;Qn(Os,os,bs,0,An),qn(Ns.vnode,Os,os,bs,Ns,An,js,Os.slotScopeIds,Ks),el(()=>{Ns.isDeactivated=!1,Ns.a&&(0,ri.DY)(Ns.a);const Gs=Os.props&&Os.props.onVnodeMounted;Gs&&Nl(Gs,Ns.parent,Os)},An)},Di.deactivate=Os=>{const os=Os.component;Qn(Os,is,null,1,An),el(()=>{os.da&&(0,ri.DY)(os.da);const bs=Os.props&&Os.props.onVnodeUnmounted;bs&&Nl(bs,os.parent,Os),os.isDeactivated=!0},An)};function Ss(Os){wu(Os),ds(Os,Ei,An,!0)}function qs(Os){Ni.forEach((os,bs)=>{const js=Ju(os.type);js&&(!Os||!Os(js))&&oo(bs)})}function oo(Os){const os=Ni.get(Os);!cn||!Vc(os,cn)?Ss(os):cn&&wu(cn),Ni.delete(Os),Vi.delete(Os)}xs(()=>[ui.include,ui.exclude],([Os,os])=>{Os&&qs(bs=>yu(Os,bs)),os&&qs(bs=>!yu(os,bs))},{flush:"post",deep:!0});let Qo=null;const Vo=()=>{Qo!=null&&Ni.set(Qo,xu(Ei.subTree))};return Bu(Vo),Pc(Vo),Dl(()=>{Ni.forEach(Os=>{const{subTree:os,suspense:bs}=Ei,js=xu(os);if(Os.type===js.type&&Os.key===js.key){wu(js);const Ks=js.component.da;Ks&&el(Ks,bs);return}Ss(Os)})}),()=>{if(Qo=null,!mi.default)return cn=null;const Os=mi.default(),os=Os[0];if(Os.length>1)return cn=null,Os;if(!ku(os)||!(os.shapeFlag&4)&&!(os.shapeFlag&128))return cn=null,os;let bs=xu(os);const js=bs.type,Ks=Ju(zl(bs)?bs.type.__asyncResolved||{}:js),{include:Ns,exclude:Gs,max:Gr}=ui;if(Ns&&(!Ks||!yu(Ns,Ks))||Gs&&Ks&&yu(Gs,Ks))return cn=bs,os;const eo=bs.key==null?js:bs.key,To=Ni.get(eo);return bs.el&&(bs=cu(bs),os.shapeFlag&128&&(os.ssContent=bs)),Qo=eo,To?(bs.el=To.el,bs.component=To.component,bs.transition&&Ol(bs,bs.transition),bs.shapeFlag|=512,Vi.delete(eo),Vi.add(eo)):(Vi.add(eo),Gr&&Vi.size>parseInt(Gr,10)&&oo(Vi.values().next().value)),bs.shapeFlag|=256,cn=bs,ea(os.type)?os:bs}}},cm=null;function yu(ui,mi){return(0,ri.cy)(ui)?ui.some(Ei=>yu(Ei,mi)):(0,ri.Kg)(ui)?ui.split(",").includes(mi):(0,ri.gd)(ui)?ui.test(mi):!1}function dh(ui,mi){au(ui,"a",mi)}function Bf(ui,mi){au(ui,"da",mi)}function au(ui,mi,Ei=ga){const Di=ui.__wdc||(ui.__wdc=()=>{let Ni=Ei;for(;Ni;){if(Ni.isDeactivated)return;Ni=Ni.parent}return ui()});if(Nu(mi,Di,Ei),Ei){let Ni=Ei.parent;for(;Ni&&Ni.parent;)ou(Ni.parent.vnode)&&df(Di,mi,Ei,Ni),Ni=Ni.parent}}function df(ui,mi,Ei,Di){const Ni=Nu(mi,ui,Di,!0);$u(()=>{(0,ri.TF)(Di[mi],Ni)},Ei)}function wu(ui){ui.shapeFlag&=-257,ui.shapeFlag&=-513}function xu(ui){return ui.shapeFlag&128?ui.ssContent:ui}function Nu(ui,mi,Ei=ga,Di=!1){if(Ei){const Ni=Ei[ui]||(Ei[ui]=[]),Vi=mi.__weh||(mi.__weh=(...cn)=>{if(Ei.isUnmounted)return;(0,vi.C4)();const An=Tu(Ei),qn=qi(mi,Ei,ui,cn);return An(),(0,vi.bl)(),qn});return Di?Ni.unshift(Vi):Ni.push(Vi),Vi}}const ic=ui=>(mi,Ei=ga)=>(!id||ui==="sp")&&Nu(ui,(...Di)=>mi(...Di),Ei),Ad=ic("bm"),Bu=ic("m"),Hu=ic("bu"),Pc=ic("u"),Dl=ic("bum"),$u=ic("um"),Td=ic("sp"),Ld=ic("rtg"),Hf=ic("rtc");function hh(ui,mi=ga){Nu("ec",ui,mi)}function hf(ui,mi,Ei,Di){let Ni;const Vi=Ei&&Ei[Di];if((0,ri.cy)(ui)||(0,ri.Kg)(ui)){Ni=new Array(ui.length);for(let cn=0,An=ui.length;cnmi(cn,An,void 0,Vi&&Vi[An]));else{const cn=Object.keys(ui);Ni=new Array(cn.length);for(let An=0,qn=cn.length;An{const Vi=Di.fn(...Ni);return Vi&&(Vi.key=Di.key),Vi}:Di.fn)}return ui}function Vu(ui,mi,Ei={},Di,Ni){if(Do.isCE||Do.parent&&zl(Do.parent)&&Do.parent.isCE)return mi!=="default"&&(Ei.name=mi),Ca("slot",Ei,Di&&Di());let Vi=ui[mi];Vi&&Vi._c&&(Vi._d=!1),bh();const cn=Vi&&$f(Vi(Ei)),An=_h($a,{key:Ei.key||cn&&cn.key||`_${mi}`},cn||(Di?Di():[]),cn&&ui._===1?64:-2);return!Ni&&An.scopeId&&(An.slotScopeIds=[An.scopeId+"-s"]),Vi&&Vi._c&&(Vi._d=!0),An}function $f(ui){return ui.some(mi=>ku(mi)?!(mi.type===yl||mi.type===$a&&!$f(mi.children)):!0)?ui:null}function Rd(ui,mi){const Ei={};for(const Di in ui)Ei[mi&&/[A-Z]/.test(Di)?`on:${Di}`:toHandlerKey(Di)]=ui[Di];return Ei}const Md=ui=>ui?wm(ui)?nd(ui)||ui.proxy:Md(ui.parent):null,qc=(0,ri.X$)(Object.create(null),{$:ui=>ui,$el:ui=>ui.vnode.el,$data:ui=>ui.data,$props:ui=>ui.props,$attrs:ui=>ui.attrs,$slots:ui=>ui.slots,$refs:ui=>ui.refs,$parent:ui=>Md(ui.parent),$root:ui=>Md(ui.root),$emit:ui=>ui.emit,$options:ui=>Nc(ui),$forceUpdate:ui=>ui.f||(ui.f=()=>{ui.effect.dirty=!0,Ri(ui.update)}),$nextTick:ui=>ui.n||(ui.n=nn.bind(ui.proxy)),$watch:ui=>Bs.bind(ui)}),Od=ui=>ui==="_"||ui==="$",ci=(ui,mi)=>ui!==ri.MZ&&!ui.__isScriptSetup&&(0,ri.$3)(ui,mi),di={get({_:ui},mi){if(mi==="__v_skip")return!0;const{ctx:Ei,setupState:Di,data:Ni,props:Vi,accessCache:cn,type:An,appContext:qn}=ui;let Qn;if(mi[0]!=="$"){const Ss=cn[mi];if(Ss!==void 0)switch(Ss){case 1:return Di[mi];case 2:return Ni[mi];case 4:return Ei[mi];case 3:return Vi[mi]}else{if(ci(Di,mi))return cn[mi]=1,Di[mi];if(Ni!==ri.MZ&&(0,ri.$3)(Ni,mi))return cn[mi]=2,Ni[mi];if((Qn=ui.propsOptions[0])&&(0,ri.$3)(Qn,mi))return cn[mi]=3,Vi[mi];if(Ei!==ri.MZ&&(0,ri.$3)(Ei,mi))return cn[mi]=4,Ei[mi];Xo&&(cn[mi]=0)}}const ds=qc[mi];let Cn,is;if(ds)return mi==="$attrs"&&(0,vi.u4)(ui.attrs,"get",""),ds(ui);if((Cn=An.__cssModules)&&(Cn=Cn[mi]))return Cn;if(Ei!==ri.MZ&&(0,ri.$3)(Ei,mi))return cn[mi]=4,Ei[mi];if(is=qn.config.globalProperties,(0,ri.$3)(is,mi))return is[mi]},set({_:ui},mi,Ei){const{data:Di,setupState:Ni,ctx:Vi}=ui;return ci(Ni,mi)?(Ni[mi]=Ei,!0):Di!==ri.MZ&&(0,ri.$3)(Di,mi)?(Di[mi]=Ei,!0):(0,ri.$3)(ui.props,mi)||mi[0]==="$"&&mi.slice(1)in ui?!1:(Vi[mi]=Ei,!0)},has({_:{data:ui,setupState:mi,accessCache:Ei,ctx:Di,appContext:Ni,propsOptions:Vi}},cn){let An;return!!Ei[cn]||ui!==ri.MZ&&(0,ri.$3)(ui,cn)||ci(mi,cn)||(An=Vi[0])&&(0,ri.$3)(An,cn)||(0,ri.$3)(Di,cn)||(0,ri.$3)(qc,cn)||(0,ri.$3)(Ni.config.globalProperties,cn)},defineProperty(ui,mi,Ei){return Ei.get!=null?ui._.accessCache[mi]=0:(0,ri.$3)(Ei,"value")&&this.set(ui,mi,Ei.value,null),Reflect.defineProperty(ui,mi,Ei)}},xi=(0,ri.X$)({},di,{get(ui,mi){if(mi!==Symbol.unscopables)return di.get(ui,mi,ui)},has(ui,mi){return mi[0]!=="_"&&!(0,ri.BH)(mi)}});function Ci(ui){const mi={};return Object.defineProperty(mi,"_",{configurable:!0,enumerable:!1,get:()=>ui}),Object.keys(qc).forEach(Ei=>{Object.defineProperty(mi,Ei,{configurable:!0,enumerable:!1,get:()=>qc[Ei](ui),set:NOOP})}),mi}function Ii(ui){const{ctx:mi,propsOptions:[Ei]}=ui;Ei&&Object.keys(Ei).forEach(Di=>{Object.defineProperty(mi,Di,{enumerable:!0,configurable:!0,get:()=>ui.props[Di],set:NOOP})})}function Pi(ui){const{ctx:mi,setupState:Ei}=ui;Object.keys(toRaw(Ei)).forEach(Di=>{if(!Ei.__isScriptSetup){if(Od(Di[0])){tn(`setup() return property ${JSON.stringify(Di)} should not start with "$" or "_" which are reserved prefixes for Vue internals.`);return}Object.defineProperty(mi,Di,{enumerable:!0,configurable:!0,get:()=>Ei[Di],set:NOOP})}})}const Ui=ui=>tn(`${ui}() is a compiler-hint helper that is only usable inside + + {{template "custom/footer" .}} + + diff --git a/data/gitea/templates/base/footer_content.tmpl b/data/gitea/templates/base/footer_content.tmpl new file mode 100644 index 0000000..c86d48c --- /dev/null +++ b/data/gitea/templates/base/footer_content.tmpl @@ -0,0 +1,37 @@ + diff --git a/data/gitea/templates/base/head.tmpl b/data/gitea/templates/base/head.tmpl new file mode 100644 index 0000000..e23e63f --- /dev/null +++ b/data/gitea/templates/base/head.tmpl @@ -0,0 +1,50 @@ + + + + + {{if .Title}}{{.Title}} - {{end}}{{if .Repository.Name}}{{.Repository.Name}} - {{end}}{{AppName}} + {{if .ManifestData}}{{end}} + + + + +{{if .GoGetImport}} + + +{{end}} +{{if and .EnableFeed .FeedURL}} + + +{{end}} + + + + {{template "base/head_script" .}} + + {{template "base/head_opengraph" .}} + {{template "base/head_style" .}} + {{template "custom/header" .}} + + + {{template "custom/body_outer_pre" .}} + +
    + + + {{template "custom/body_inner_pre" .}} + + {{if not .PageIsInstall}} + {{template "base/head_navbar" .}} + {{end}} + +{{if false}} + {{/* to make html structure "likely" complete to prevent IDE warnings */}} +
    + + +{{end}} diff --git a/data/gitea/templates/base/head_navbar.tmpl b/data/gitea/templates/base/head_navbar.tmpl new file mode 100644 index 0000000..a0c8468 --- /dev/null +++ b/data/gitea/templates/base/head_navbar.tmpl @@ -0,0 +1,221 @@ +{{$notificationUnreadCount := 0}} +{{if and .IsSigned .NotificationUnreadCount}} + {{$notificationUnreadCount = call .NotificationUnreadCount}} +{{end}} + + diff --git a/data/gitea/templates/base/head_opengraph.tmpl b/data/gitea/templates/base/head_opengraph.tmpl new file mode 100644 index 0000000..f1f3899 --- /dev/null +++ b/data/gitea/templates/base/head_opengraph.tmpl @@ -0,0 +1,47 @@ +{{- /* og:description - a one to two sentence description of your object, maybe it only needs at most 300 bytes */ -}} +{{if .PageIsUserProfile}} + + + + + {{if .ContextUser.Description}} + + {{end}} +{{else if .Repository}} + {{if .Issue}} + + + {{if .Issue.Content}} + + {{end}} + {{else if or .PageIsDiff .IsViewFile}} + + + {{if and .PageIsDiff .Commit}} + {{- $commitMessageParts := StringUtils.Cut .Commit.Message "\n" -}} + {{- $commitMessageBody := index $commitMessageParts 1 -}} + {{- if $commitMessageBody -}} + + {{- end -}} + {{end}} + {{else}} + + + {{if .Repository.Description}} + + {{end}} + {{end}} + + {{if (.Repository.AvatarLink ctx)}} + + {{else}} + + {{end}} +{{else}} + + + + + +{{end}} + diff --git a/data/gitea/templates/base/head_script.tmpl b/data/gitea/templates/base/head_script.tmpl new file mode 100644 index 0000000..22e08e9 --- /dev/null +++ b/data/gitea/templates/base/head_script.tmpl @@ -0,0 +1,50 @@ +{{/* +==== DO NOT EDIT ==== +If you are customizing Gitea, please do not change this file. +If you introduce mistakes in it, Gitea JavaScript code wouldn't run correctly. +*/}} + + diff --git a/data/gitea/templates/base/head_style.tmpl b/data/gitea/templates/base/head_style.tmpl new file mode 100644 index 0000000..f97e188 --- /dev/null +++ b/data/gitea/templates/base/head_style.tmpl @@ -0,0 +1,2 @@ + + diff --git a/data/gitea/templates/base/markup_codepreview.tmpl b/data/gitea/templates/base/markup_codepreview.tmpl new file mode 100644 index 0000000..a1a4f26 --- /dev/null +++ b/data/gitea/templates/base/markup_codepreview.tmpl @@ -0,0 +1,25 @@ +
    +
    + {{.FilePath}} + {{$link := HTMLFormat `%s` .RepoLink .CommitID (.CommitID | ShortSha) -}} + {{- if eq .LineStart .LineStop -}} + {{ctx.Locale.Tr "repo.code_preview_line_in" .LineStart $link}} + {{- else -}} + {{ctx.Locale.Tr "repo.code_preview_line_from_to" .LineStart .LineStop $link}} + {{- end}} +
    + + + {{- range $idx, $line := .HighlightLines -}} + + + {{- if $.EscapeStatus.Escaped -}} + {{- $lineEscapeStatus := index $.LineEscapeStatus $idx -}} + + {{- end}} + {{/* only div works, span generates incorrect HTML structure */}} + + {{- end -}} + +
    {{if $lineEscapeStatus.Escaped}}{{end}}
    {{$line.FormattedContent}}
    +
    diff --git a/data/gitea/templates/base/modal_actions_confirm.tmpl b/data/gitea/templates/base/modal_actions_confirm.tmpl new file mode 100644 index 0000000..9f7eb4a --- /dev/null +++ b/data/gitea/templates/base/modal_actions_confirm.tmpl @@ -0,0 +1,27 @@ +{{/* +Two buttons (negative, positive): +* ModalButtonTypes: "yes" (default) or "confirm" +* ModalButtonCancelText +* ModalButtonOkText + +Single danger button (GitHub-like): +* ModalButtonDangerText "This action will destroy your data" + +The ".ok.button" and ".cancel.button" selectors are also used by Fomantic Modal internally +*/}} +
    + {{if .ModalButtonDangerText}} + + {{else}} + {{$textNegitive := ctx.Locale.Tr "modal.no"}} + {{$textPositive := ctx.Locale.Tr "modal.yes"}} + {{if eq .ModalButtonTypes "confirm"}} + {{$textNegitive = ctx.Locale.Tr "modal.cancel"}} + {{$textPositive = ctx.Locale.Tr "modal.confirm"}} + {{end}} + {{if .ModalButtonCancelText}}{{$textNegitive = .ModalButtonCancelText}}{{end}} + {{if .ModalButtonOkText}}{{$textPositive = .ModalButtonOkText}}{{end}} + + + {{end}} +
    diff --git a/data/gitea/templates/base/paginate.tmpl b/data/gitea/templates/base/paginate.tmpl new file mode 100644 index 0000000..9a7a632 --- /dev/null +++ b/data/gitea/templates/base/paginate.tmpl @@ -0,0 +1,34 @@ +{{$paginationParams := .Page.GetParams}} +{{$paginationLink := $.Link}} +{{if eq $paginationLink AppSubUrl}}{{$paginationLink = print $paginationLink "/"}}{{end}} +{{with .Page.Paginater}} + {{if gt .TotalPages 1}} + + {{end}} +{{end}} diff --git a/data/gitea/templates/custom/body_inner_post.tmpl b/data/gitea/templates/custom/body_inner_post.tmpl new file mode 100644 index 0000000..e69de29 diff --git a/data/gitea/templates/custom/body_inner_pre.tmpl b/data/gitea/templates/custom/body_inner_pre.tmpl new file mode 100644 index 0000000..e69de29 diff --git a/data/gitea/templates/custom/body_outer_post.tmpl b/data/gitea/templates/custom/body_outer_post.tmpl new file mode 100644 index 0000000..e69de29 diff --git a/data/gitea/templates/custom/body_outer_pre.tmpl b/data/gitea/templates/custom/body_outer_pre.tmpl new file mode 100644 index 0000000..e69de29 diff --git a/data/gitea/templates/custom/extra_links.tmpl b/data/gitea/templates/custom/extra_links.tmpl new file mode 100644 index 0000000..e69de29 diff --git a/data/gitea/templates/custom/extra_links_footer.tmpl b/data/gitea/templates/custom/extra_links_footer.tmpl new file mode 100644 index 0000000..e69de29 diff --git a/data/gitea/templates/custom/extra_tabs.tmpl b/data/gitea/templates/custom/extra_tabs.tmpl new file mode 100644 index 0000000..e69de29 diff --git a/data/gitea/templates/custom/footer.tmpl b/data/gitea/templates/custom/footer.tmpl new file mode 100644 index 0000000..e69de29 diff --git a/data/gitea/templates/custom/header.tmpl b/data/gitea/templates/custom/header.tmpl new file mode 100644 index 0000000..e69de29 diff --git a/data/gitea/templates/devtest/fetch-action.tmpl b/data/gitea/templates/devtest/fetch-action.tmpl new file mode 100644 index 0000000..66f41fc --- /dev/null +++ b/data/gitea/templates/devtest/fetch-action.tmpl @@ -0,0 +1,44 @@ +{{template "base/head" .}} +
    + {{template "base/alert" .}} +
    +

    link-action

    +
    + Use "window.fetch" to send a request to backend, the request is defined in an "A" or "BUTTON" element. + It might be renamed to "link-fetch-action" to match the "form-fetch-action". +
    +
    + + + +
    +
    +
    +

    form-fetch-action

    +
    Use "window.fetch" to send a form request to backend
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    bad action url
    +
    +
    +
    +
    +
    + +{{template "base/footer" .}} diff --git a/data/gitea/templates/devtest/flex-list.tmpl b/data/gitea/templates/devtest/flex-list.tmpl new file mode 100644 index 0000000..015ab1e --- /dev/null +++ b/data/gitea/templates/devtest/flex-list.tmpl @@ -0,0 +1,115 @@ +{{template "base/head" .}} + +
    +
    +

    Flex List (standalone)

    +
    +
    +
    +
    + {{svg "octicon-info" 32}} +
    +
    +
    + Flex Item + + with label + +
    +
    + consists of leading/main/trailing part +
    +
    + main part contains title and (multiple) body lines +
    +
    +
    + + + +
    +
    + +
    +
    + {{svg "octicon-info" 32}} +
    +
    +
    + Very loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong title +
    +
    + consists of leading/main/trailing part +
    +
    + Very loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong content + Truncate very loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong content +
    +
    +
    + +
    +
    + +
    +
    + {{svg "octicon-repo" 32}} +
    +
    + +
    + when inside header, the trailing part will wrap below the title +
    +
    +
    +
    + +
    + +

    Flex List (with "ui segment")

    +
    +
    +
    item 1
    +
    item 2
    +
    +
    +
    +

    Flex List (with "ui segment")

    +
    +
    item 1
    +
    item 2
    +
    +
    + +

    If parent provides the padding/margin space:

    +
    +
    +
    item 1 (no padding top)
    +
    item 2 (no padding bottom)
    +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/devtest/fomantic-dropdown.tmpl b/data/gitea/templates/devtest/fomantic-dropdown.tmpl new file mode 100644 index 0000000..57a7c13 --- /dev/null +++ b/data/gitea/templates/devtest/fomantic-dropdown.tmpl @@ -0,0 +1,109 @@ +{{template "base/head" .}} + +
    +
    +

    Dropdown

    +
    + + + + +
    + + +
    +
    + +

    Selection

    +
    + {{/* the "selection" class is optional, it will be added by JS automatically */}} + + +
    +

    Dropdown Button (demo only without menu)

    +
    + + + +
    + +
    + + + +
    + +
    +
    +
    Other button align with ...
    + +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/devtest/fomantic-modal.tmpl b/data/gitea/templates/devtest/fomantic-modal.tmpl new file mode 100644 index 0000000..f31cdc1 --- /dev/null +++ b/data/gitea/templates/devtest/fomantic-modal.tmpl @@ -0,0 +1,73 @@ +{{template "base/head" .}} +
    + {{template "base/alert" .}} + + + + + + + + + + + + + + + + +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/devtest/gitea-ui.tmpl b/data/gitea/templates/devtest/gitea-ui.tmpl new file mode 100644 index 0000000..ea293fd --- /dev/null +++ b/data/gitea/templates/devtest/gitea-ui.tmpl @@ -0,0 +1,207 @@ +{{template "base/head" .}} + +
    +
    +

    Link

    + +

    Button

    +
    + Style: + + + + +
    +
    + State: + +
    +
    +
      +
    • +

      General purpose:

      + + + + +
    • +
    • +

      Recommended colors:

      + + + + +
    • +
    • +

      Inline / Plain:

      +
      + + + +
      +
    • +
    + +
    +
    + +
    +

    Buttons

    +
    +
    +
    +
    +
    + +
    +

    Tooltip

    +
    text with tooltip
    +
    text with interactive tooltip
    +
    + +
    +

    Loading

    +
    loading ...
    +
    +

    loading ...

    +

    loading ...

    +

    loading ...

    +

    loading ...

    +
    +
    + +
    +

    <origin-url>

    +
    +
    +
    + +
    +

    <overflow-menu>

    + + + +
    + +
    +

    GiteaAbsoluteDate

    +
    +
    +
    +
    +
    +
    relative-time:
    +
    + +
    +

    LocaleNumber

    +
    {{ctx.Locale.PrettyNumber 1}}
    +
    {{ctx.Locale.PrettyNumber 12}}
    +
    {{ctx.Locale.PrettyNumber 123}}
    +
    {{ctx.Locale.PrettyNumber 1234}}
    +
    {{ctx.Locale.PrettyNumber 12345}}
    +
    {{ctx.Locale.PrettyNumber 123456}}
    +
    {{ctx.Locale.PrettyNumber 1234567}}
    +
    + +
    +

    TimeSince

    +
    Now: {{TimeSince .TimeNow ctx.Locale}}
    +
    5s past: {{TimeSince .TimePast5s ctx.Locale}}
    +
    5s future: {{TimeSince .TimeFuture5s ctx.Locale}}
    +
    2m past: {{TimeSince .TimePast2m ctx.Locale}}
    +
    2m future: {{TimeSince .TimeFuture2m ctx.Locale}}
    +
    1y past: {{TimeSince .TimePast1y ctx.Locale}}
    +
    1y future: {{TimeSince .TimeFuture1y ctx.Locale}}
    +
    + +
    +

    SVG alignment

    + +

    Text with SVG

    +
    {{svg "octicon-alert"}} {{svg "octicon-x"}} text (block)
    +
    {{svg "octicon-alert"}} {{svg "octicon-x"}} text
    (inline)
    + +
    {{svg "octicon-alert"}} flex item with very very very very very very very very long content
    + +
    +
    {{svg "octicon-alert"}} flex every line
    +
    {{svg "octicon-alert"}} flex every item
    +
    {{svg "octicon-alert"}} flex item with very very very very very very very very long content
    +
    + +

    Button with SVG

    +
    + +
    + + 123 +
    + +
    + +

    Input with SVG

    +
    + +
    +
    + +
    +

    Toast

    +
    + + + +
    +
    + +
    +

    ComboMarkdownEditor

    +
    ps: no JS code attached, so just a layout
    + {{template "shared/combomarkdowneditor" .}} +
    + +

    Tailwind CSS Demo

    +
    + +
    + + +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/devtest/label.tmpl b/data/gitea/templates/devtest/label.tmpl new file mode 100644 index 0000000..c4b52a3 --- /dev/null +++ b/data/gitea/templates/devtest/label.tmpl @@ -0,0 +1,27 @@ +{{template "base/head" .}} + +
    +
    +

    Label

    +
    + simple label + red label + green label +
    +
    + basic label + basic red label + basic green label +
    +
    + long content must be in a non-flex "gt-ellipsis" element, otherwise it won't get ellipsis. very looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong label +
    +
    + very looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong label +
    +
    + very looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong label +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/devtest/list.tmpl b/data/gitea/templates/devtest/list.tmpl new file mode 100644 index 0000000..90b1fcc --- /dev/null +++ b/data/gitea/templates/devtest/list.tmpl @@ -0,0 +1,15 @@ +{{template "base/head" .}} + +
      + {{range .SubNames}} +
    • {{.}}
    • + {{end}} +
    + + + +{{template "base/footer" .}} diff --git a/data/gitea/templates/devtest/tmplerr-sub.tmpl b/data/gitea/templates/devtest/tmplerr-sub.tmpl new file mode 100644 index 0000000..f7974eb --- /dev/null +++ b/data/gitea/templates/devtest/tmplerr-sub.tmpl @@ -0,0 +1,3 @@ +sub template triggers an executing error + + {{ctx.Locale.NoSuch "asdf"}} diff --git a/data/gitea/templates/devtest/tmplerr.tmpl b/data/gitea/templates/devtest/tmplerr.tmpl new file mode 100644 index 0000000..dd938c8 --- /dev/null +++ b/data/gitea/templates/devtest/tmplerr.tmpl @@ -0,0 +1,12 @@ +{{template "base/head" .}} +
    +
    +
    + hello hello hello hello hello hello hello hello hello hello +
    +
    + {{template "devtest/tmplerr-sub" .}} +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/explore/code.tmpl b/data/gitea/templates/explore/code.tmpl new file mode 100644 index 0000000..039933f --- /dev/null +++ b/data/gitea/templates/explore/code.tmpl @@ -0,0 +1,8 @@ +{{template "base/head" .}} +
    + {{template "explore/navbar" .}} +
    + {{template "shared/search/code/search" .}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/explore/navbar.tmpl b/data/gitea/templates/explore/navbar.tmpl new file mode 100644 index 0000000..9797e0f --- /dev/null +++ b/data/gitea/templates/explore/navbar.tmpl @@ -0,0 +1,24 @@ + + + diff --git a/data/gitea/templates/explore/repo_list.tmpl b/data/gitea/templates/explore/repo_list.tmpl new file mode 100644 index 0000000..fa66ef3 --- /dev/null +++ b/data/gitea/templates/explore/repo_list.tmpl @@ -0,0 +1,71 @@ +
    + {{range .Repos}} +
    +
    + {{template "repo/icon" .}} +
    +
    +
    +
    + {{if and (or $.PageIsExplore $.PageIsProfileStarList) .Owner}} + + {{end}} + {{.Name}} + + {{if .IsArchived}} + {{ctx.Locale.Tr "repo.desc.archived"}} + {{end}} + {{if .IsPrivate}} + {{ctx.Locale.Tr "repo.desc.private"}} + {{else}} + {{if .Owner.Visibility.IsPrivate}} + {{ctx.Locale.Tr "repo.desc.internal"}} + {{end}} + {{end}} + {{if .IsTemplate}} + {{ctx.Locale.Tr "repo.desc.template"}} + {{end}} + {{if eq .ObjectFormatName "sha256"}} + {{ctx.Locale.Tr "repo.desc.sha256"}} + {{end}} + +
    + +
    + {{$description := .DescriptionHTML $.Context}} + {{if $description}} +
    {{$description}}
    + {{end}} + {{if .Topics}} +
    + {{range .Topics}} + {{if ne . ""}}{{.}}{{end}} + {{end}} +
    + {{end}} +
    {{ctx.Locale.Tr "org.repo_updated"}} {{TimeSinceUnix .UpdatedUnix ctx.Locale}}
    +
    +
    + {{else}} +
    + {{ctx.Locale.Tr "search.no_results"}} +
    + {{end}} +
    diff --git a/data/gitea/templates/explore/repos.tmpl b/data/gitea/templates/explore/repos.tmpl new file mode 100644 index 0000000..aa5716a --- /dev/null +++ b/data/gitea/templates/explore/repos.tmpl @@ -0,0 +1,16 @@ +{{template "base/head" .}} +
    + + {{if 0}} + {{template "explore/navbar" .}} + {{end}} +
    + +

    Source code repository

    +

    This is a collection of some of my work. Some repositories contain contributions from others. Feel also free to create an account and contribute! Anonymous contribution is a allowed and for registering e-mail verififation is not required so you don't have to enter an existing e-mailaddress.

    + {{template "shared/repo_search" .}} + {{template "explore/repo_list" .}} + {{template "base/paginate" .}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/explore/search.tmpl b/data/gitea/templates/explore/search.tmpl new file mode 100644 index 0000000..1d984a2 --- /dev/null +++ b/data/gitea/templates/explore/search.tmpl @@ -0,0 +1,23 @@ + +
    diff --git a/data/gitea/templates/explore/user_list.tmpl b/data/gitea/templates/explore/user_list.tmpl new file mode 100644 index 0000000..f2cf939 --- /dev/null +++ b/data/gitea/templates/explore/user_list.tmpl @@ -0,0 +1,33 @@ +
    + {{range .Users}} +
    +
    + {{ctx.AvatarUtils.Avatar . 48}} +
    +
    +
    + {{template "shared/user/name" .}} + {{if .Visibility.IsPrivate}} + {{ctx.Locale.Tr "repo.desc.private"}} + {{end}} +
    +
    + {{if .Location}} + {{svg "octicon-location"}}{{.Location}} + {{end}} + {{if and .Email (or (and $.ShowUserEmail $.IsSigned (not .KeepEmailPrivate)) $.PageIsAdminUsers)}} + + {{svg "octicon-mail"}} + {{.Email}} + + {{end}} + {{svg "octicon-calendar"}}{{ctx.Locale.Tr "user.joined_on" (DateTime "short" .CreatedUnix)}} +
    +
    +
    + {{else}} +
    + {{ctx.Locale.Tr "search.no_results"}} +
    + {{end}} +
    diff --git a/data/gitea/templates/explore/users.tmpl b/data/gitea/templates/explore/users.tmpl new file mode 100644 index 0000000..e904612 --- /dev/null +++ b/data/gitea/templates/explore/users.tmpl @@ -0,0 +1,10 @@ +{{template "base/head" .}} +
    + {{template "explore/navbar" .}} +
    + {{template "explore/search" .}} + {{template "explore/user_list" .}} + {{template "base/paginate" .}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/home.tmpl b/data/gitea/templates/home.tmpl new file mode 100644 index 0000000..94d8ade --- /dev/null +++ b/data/gitea/templates/home.tmpl @@ -0,0 +1,95 @@ +{{template "base/head" .}} + +
    +
    +
    +
    +
    +

    + {{AppName}} +

    +

    Home of Retoor

    +

    Full Stack Software Developer

    +

    On this site you can find my last work, research and code snippets. It's all for free under MIT license unless stated otherwise in repository source folder.

    +
    +
    +
    + +
    +

    + C Development +

    +

    + With C I mostly reinvent to wheel and rewrite existing applications from scratch to learn what is under the hood. I am able to to write nginx-grade webservers with webdav support. I also have experience in writing Redis quality key-value stores. Projects made: +

  • HTTP(S) Server with support for reverse proxy and load balancing
  • +
  • WebDav Server with support for HTTP ranges (Streaming of media) and user authentication
  • +
  • PubSub Server
  • +
  • Restfull Sqlite3 Server
  • + I write servers primarely in C. WebDav, HTTP, PubSub +
  • JSON protocol: Only JSON communication for PubSub and database queries. Including Python bindings
  • +
  • Extremely fast json library, three times aster than Python's original to be used with JSON protocol.Has abaliity to find JSON data within data for parsing streams
  • +

    +
    +
    +

    + Python development +

    +

    + Python is my goto language for software development. + Technologies I prefer to work with but not limited to are: + +

      +
    • Django
    • +
    • aiohttp
    • +
    • FastAPI
    • +
    • dataset
    • +
    +

    +
    +
    +

    + Databases +

    +

    + I have experience with: +

      + +
    • MS SQL
    • +
    • Postgres SQL
    • +
    • MySQL
    • +
    • Redis
    • +
    • SQLite
    • +
    +

    +
    +
    +

    + Other languages +

    +

    + I have professional experience with: +

      + +
    • C#
    • +
    • VB .NET
    • +
    • VB 6
    • +
    • Java
    • +
    • PHP
    • +
    • Python
    • +
    • Delhpi (.NET)
    • +
    • Actionscript
    • +
    • Node
    • +
    • JavaScript (ECMAScript)
    • +
    +

    +
    + +
    + +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/install.tmpl b/data/gitea/templates/install.tmpl new file mode 100644 index 0000000..5055031 --- /dev/null +++ b/data/gitea/templates/install.tmpl @@ -0,0 +1,353 @@ +{{template "base/head" .}} +
    +
    +
    +

    + {{ctx.Locale.Tr "install.title"}} +

    +
    + {{template "base/alert" .}} + +

    {{ctx.Locale.Tr "install.docker_helper" "https://docs.gitea.com/installation/install-with-docker"}}

    + +
    + +

    {{ctx.Locale.Tr "install.db_title"}}

    +

    {{ctx.Locale.Tr "install.require_db_desc"}}

    +
    + + +
    + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + +
    +
    + + +
    +
    + + + {{ctx.Locale.Tr "install.db_schema_helper"}} +
    +
    + +
    +
    + + + {{ctx.Locale.Tr "install.sqlite_helper"}} +
    +
    + + {{if .Err_DbInstalledBefore}} +
    +

    {{ctx.Locale.Tr "install.reinstall_confirm_message"}}

    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    + {{end}} + + +

    {{ctx.Locale.Tr "install.general_title"}}

    +
    + + + {{ctx.Locale.Tr "install.app_name_helper"}} +
    +
    + + + {{ctx.Locale.Tr "install.repo_path_helper"}} +
    +
    + + + {{ctx.Locale.Tr "install.lfs_path_helper"}} +
    +
    + + + {{ctx.Locale.Tr "install.run_user_helper"}} +
    +
    + + + {{ctx.Locale.Tr "install.domain_helper"}} +
    +
    + + + {{ctx.Locale.Tr "install.ssh_port_helper"}} +
    +
    + + + {{ctx.Locale.Tr "install.http_port_helper"}} +
    +
    + + + {{ctx.Locale.Tr "install.app_url_helper"}} +
    +
    + + + {{ctx.Locale.Tr "install.log_root_path_helper"}} +
    +
    +
    + + +
    + {{ctx.Locale.Tr "install.enable_update_checker_helper"}} +
    + + +

    {{ctx.Locale.Tr "install.optional_title"}}

    +
    + +
    + + {{ctx.Locale.Tr "install.email_title"}} + +
    + + +
    +
    + + +
    +
    + + + {{ctx.Locale.TrString "install.smtp_from_helper"}}{{/* it contains lt/gt chars*/}} +
    +
    + + +
    +
    + + +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    + + +
    + + {{ctx.Locale.Tr "install.server_service_title"}} + +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    + + + {{ctx.Locale.Tr "install.no_reply_address_helper"}} +
    +
    + + + {{ctx.Locale.Tr "install.password_algorithm_helper"}} +
    +
    + + +
    + + {{ctx.Locale.Tr "install.admin_title"}} + +

    {{ctx.Locale.Tr "install.admin_setting_desc"}}

    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    + +
    + + {{if .EnvConfigKeys}} + +

    {{ctx.Locale.Tr "install.env_config_keys"}}

    +
    +
    + {{ctx.Locale.Tr "install.env_config_keys_prompt"}} +
    +
    + {{range .EnvConfigKeys}}{{.}}{{end}} +
    +
    + {{end}} + +
    +
    + These configuration options will be written into: {{.CustomConfFile}} +
    +
    + +
    +
    +
    +
    +
    +
    +
    + +{{template "base/footer" .}} diff --git a/data/gitea/templates/mail/auth/activate.tmpl b/data/gitea/templates/mail/auth/activate.tmpl new file mode 100644 index 0000000..b1bb4cb --- /dev/null +++ b/data/gitea/templates/mail/auth/activate.tmpl @@ -0,0 +1,17 @@ + + + + + + {{.locale.Tr "mail.activate_account.title" (.DisplayName|DotEscape)}} + + +{{$activate_url := printf "%suser/activate?code=%s" AppUrl (QueryEscape .Code)}} + +

    {{.locale.Tr "mail.activate_account.text_1" (.DisplayName|DotEscape) AppName}}


    +

    {{.locale.Tr "mail.activate_account.text_2" .ActiveCodeLives}}

    {{$activate_url}}


    +

    {{.locale.Tr "mail.link_not_working_do_paste"}}

    + +

    © {{AppName}}

    + + diff --git a/data/gitea/templates/mail/auth/activate_email.tmpl b/data/gitea/templates/mail/auth/activate_email.tmpl new file mode 100644 index 0000000..3d32f80 --- /dev/null +++ b/data/gitea/templates/mail/auth/activate_email.tmpl @@ -0,0 +1,17 @@ + + + + + + {{.locale.Tr "mail.activate_email.title" (.DisplayName|DotEscape)}} + + +{{$activate_url := printf "%suser/activate_email?code=%s&email=%s" AppUrl (QueryEscape .Code) (QueryEscape .Email)}} + +

    {{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}


    +

    {{.locale.Tr "mail.activate_email.text" .ActiveCodeLives}}

    {{$activate_url}}


    +

    {{.locale.Tr "mail.link_not_working_do_paste"}}

    + +

    © {{AppName}}

    + + diff --git a/data/gitea/templates/mail/auth/register_notify.tmpl b/data/gitea/templates/mail/auth/register_notify.tmpl new file mode 100644 index 0000000..62dbf7d --- /dev/null +++ b/data/gitea/templates/mail/auth/register_notify.tmpl @@ -0,0 +1,18 @@ + + + + + + {{.locale.Tr "mail.register_notify.title" (.DisplayName|DotEscape) AppName}} + + +{{$set_pwd_url := printf "%[1]suser/forgot_password" AppUrl}} + +

    {{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}


    +

    {{.locale.Tr "mail.register_notify.text_1" AppName}}


    +

    {{.locale.Tr "mail.register_notify.text_2" .Username}}

    {{AppUrl}}user/login


    +

    {{.locale.Tr "mail.register_notify.text_3" $set_pwd_url}}


    + +

    © {{AppName}}

    + + diff --git a/data/gitea/templates/mail/auth/reset_passwd.tmpl b/data/gitea/templates/mail/auth/reset_passwd.tmpl new file mode 100644 index 0000000..55b1ece --- /dev/null +++ b/data/gitea/templates/mail/auth/reset_passwd.tmpl @@ -0,0 +1,17 @@ + + + + + + {{.locale.Tr "mail.reset_password.title" (.DisplayName|DotEscape)}} + + +{{$recover_url := printf "%suser/recover_account?code=%s" AppUrl (QueryEscape .Code)}} + +

    {{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}


    +

    {{.locale.Tr "mail.reset_password.text" .ResetPwdCodeLives}}

    {{$recover_url}}


    +

    {{.locale.Tr "mail.link_not_working_do_paste"}}

    + +

    © {{AppName}}

    + + diff --git a/data/gitea/templates/mail/issue/assigned.tmpl b/data/gitea/templates/mail/issue/assigned.tmpl new file mode 100644 index 0000000..5720319 --- /dev/null +++ b/data/gitea/templates/mail/issue/assigned.tmpl @@ -0,0 +1,29 @@ + + + + + + {{.Subject}} + + +{{$repo_url := HTMLFormat "%s" .Issue.Repo.HTMLURL .Issue.Repo.FullName}} +{{$link := HTMLFormat "#%d" .Link .Issue.Index}} + +

    + {{if .IsPull}} + {{.locale.Tr "mail.issue_assigned.pull" .Doer.Name $link $repo_url}} + {{else}} + {{.locale.Tr "mail.issue_assigned.issue" .Doer.Name $link $repo_url}} + {{end}} +

    + + + diff --git a/data/gitea/templates/mail/issue/default.tmpl b/data/gitea/templates/mail/issue/default.tmpl new file mode 100644 index 0000000..395b118 --- /dev/null +++ b/data/gitea/templates/mail/issue/default.tmpl @@ -0,0 +1,91 @@ + + + + + {{.Subject}} + + + + + + + {{if .IsMention}}

    {{.locale.Tr "mail.issue.x_mentioned_you" .Doer.Name}}

    {{end}} + {{if eq .ActionName "push"}} +

    + {{if .Comment.IsForcePush}} + {{$oldCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.OldCommit}} + {{$oldShortSha := ShortSha .Comment.OldCommit}} + {{$oldCommitLink := HTMLFormat "%[2]s" $oldCommitUrl $oldShortSha}} + + {{$newCommitUrl := printf "%s/commit/%s" .Comment.Issue.PullRequest.BaseRepo.HTMLURL .Comment.NewCommit}} + {{$newShortSha := ShortSha .Comment.NewCommit}} + {{$newCommitLink := HTMLFormat "%[2]s" $newCommitUrl $newShortSha}} + + {{.locale.Tr "mail.issue.action.force_push" .Doer.Name .Comment.Issue.PullRequest.HeadBranch $oldCommitLink $newCommitLink}} + {{else}} + {{.locale.TrN (len .Comment.Commits) "mail.issue.action.push_1" "mail.issue.action.push_n" .Doer.Name .Comment.Issue.PullRequest.HeadBranch (len .Comment.Commits)}} + {{end}} +

    + {{end}} +

    + {{if eq .ActionName "close"}} + {{.locale.Tr "mail.issue.action.close" .Doer.Name .Issue.Index}} + {{else if eq .ActionName "reopen"}} + {{.locale.Tr "mail.issue.action.reopen" .Doer.Name .Issue.Index}} + {{else if eq .ActionName "merge"}} + {{.locale.Tr "mail.issue.action.merge" .Doer.Name .Issue.Index .Issue.PullRequest.BaseBranch}} + {{else if eq .ActionName "approve"}} + {{.locale.Tr "mail.issue.action.approve" .Doer.Name}} + {{else if eq .ActionName "reject"}} + {{.locale.Tr "mail.issue.action.reject" .Doer.Name}} + {{else if eq .ActionName "review"}} + {{.locale.Tr "mail.issue.action.review" .Doer.Name}} + {{else if eq .ActionName "review_dismissed"}} + {{.locale.Tr "mail.issue.action.review_dismissed" .Doer.Name .Comment.Review.Reviewer.Name}} + {{else if eq .ActionName "ready_for_review"}} + {{.locale.Tr "mail.issue.action.ready_for_review" .Doer.Name}} + {{end}} + + {{- if eq .Body ""}} + {{if eq .ActionName "new"}} + {{.locale.Tr "mail.issue.action.new" .Doer.Name .Issue.Index}} + {{end}} + {{else}} + {{.Body}} + {{end -}} + {{- range .ReviewComments}} +


    + {{$.locale.Tr "mail.issue.in_tree_path" .TreePath}} +
    +
    {{.Patch}}
    +
    {{.RenderedContent}}
    +
    + {{end -}} + {{if eq .ActionName "push"}} + + {{end}} +

    + + + diff --git a/data/gitea/templates/mail/notify/collaborator.tmpl b/data/gitea/templates/mail/notify/collaborator.tmpl new file mode 100644 index 0000000..9810c70 --- /dev/null +++ b/data/gitea/templates/mail/notify/collaborator.tmpl @@ -0,0 +1,21 @@ + + + + + + {{.Subject}} + + + +

    {{.locale.Tr "mail.repo.collaborator.added.text"}} {{.RepoName}}

    + + + diff --git a/data/gitea/templates/mail/notify/repo_transfer.tmpl b/data/gitea/templates/mail/notify/repo_transfer.tmpl new file mode 100644 index 0000000..8c8b276 --- /dev/null +++ b/data/gitea/templates/mail/notify/repo_transfer.tmpl @@ -0,0 +1,19 @@ + + + + + {{.Subject}} + + +{{$url := HTMLFormat "%[2]s" .Link .Repo}} + +

    {{.Subject}}. + {{.locale.Tr "mail.repo.transfer.body" $url}} +

    +

    + --- +
    + {{.locale.Tr "mail.view_it_on" AppName}}. +

    + + diff --git a/data/gitea/templates/mail/release.tmpl b/data/gitea/templates/mail/release.tmpl new file mode 100644 index 0000000..90a3caa --- /dev/null +++ b/data/gitea/templates/mail/release.tmpl @@ -0,0 +1,61 @@ + + + + + {{.Subject}} + + + + + +{{$release_url := HTMLFormat "%s" .Release.HTMLURL .Release.TagName}} +{{$repo_url := HTMLFormat "%s" .Release.Repo.HTMLURL .Release.Repo.FullName}} + +

    + {{.locale.Tr "mail.release.new.text" .Release.Publisher.Name $release_url $repo_url}} +

    +

    {{.locale.Tr "mail.release.title" .Release.Title}}

    +

    + {{.locale.Tr "mail.release.note"}}
    + {{- if eq .Release.RenderedNote ""}} + {{else}} + {{.Release.RenderedNote}} + {{end -}} +

    +

    +

    + --- +
    + {{.locale.Tr "mail.release.downloads"}} +

    +

    + + + diff --git a/data/gitea/templates/mail/team_invite.tmpl b/data/gitea/templates/mail/team_invite.tmpl new file mode 100644 index 0000000..cb0c0c0 --- /dev/null +++ b/data/gitea/templates/mail/team_invite.tmpl @@ -0,0 +1,15 @@ + + + + + + + +

    {{.locale.Tr "mail.team_invite.text_1" (DotEscape .Inviter.DisplayName) (DotEscape .Team.Name) (DotEscape .Organization.DisplayName)}}

    +

    {{.locale.Tr "mail.team_invite.text_2"}}

    {{.InviteURL}}

    +

    {{.locale.Tr "mail.link_not_working_do_paste"}}

    +

    {{.locale.Tr "mail.team_invite.text_3" .Invite.Email}}

    + +

    © {{AppName}}

    + + diff --git a/data/gitea/templates/org/create.tmpl b/data/gitea/templates/org/create.tmpl new file mode 100644 index 0000000..004cd9b --- /dev/null +++ b/data/gitea/templates/org/create.tmpl @@ -0,0 +1,57 @@ +{{template "base/head" .}} +
    +
    +
    +
    + {{.CsrfTokenHtml}} +

    + {{ctx.Locale.Tr "new_org"}} +

    +
    + {{template "base/alert" .}} +
    + + + {{ctx.Locale.Tr "org.org_name_helper"}} +
    + +
    + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    + +
    + + +
    +
    +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/org/follow_unfollow.tmpl b/data/gitea/templates/org/follow_unfollow.tmpl new file mode 100644 index 0000000..ba0bd01 --- /dev/null +++ b/data/gitea/templates/org/follow_unfollow.tmpl @@ -0,0 +1,7 @@ + diff --git a/data/gitea/templates/org/header.tmpl b/data/gitea/templates/org/header.tmpl new file mode 100644 index 0000000..7361df9 --- /dev/null +++ b/data/gitea/templates/org/header.tmpl @@ -0,0 +1,32 @@ +
    + {{ctx.AvatarUtils.Avatar .Org 100 "org-avatar"}} +
    +
    + {{.Org.DisplayName}} + + {{if .Org.Visibility.IsLimited}}{{ctx.Locale.Tr "org.settings.visibility.limited_shortname"}}{{end}} + {{if .Org.Visibility.IsPrivate}}{{ctx.Locale.Tr "org.settings.visibility.private_shortname"}}{{end}} + + + {{if .EnableFeed}} + + {{svg "octicon-rss" 24}} + + {{end}} + {{if .IsSigned}} + {{template "org/follow_unfollow" .}} + {{end}} + +
    + {{if .RenderedDescription}}
    {{.RenderedDescription}}
    {{end}} +
    + {{if .Org.Location}}
    {{svg "octicon-location"}} {{.Org.Location}}
    {{end}} + {{if .Org.Website}}
    {{svg "octicon-link"}} {{.Org.Website}}
    {{end}} + {{if .IsSigned}} + {{if .Org.Email}}
    {{svg "octicon-mail"}} {{.Org.Email}}
    {{end}} + {{end}} +
    +
    +
    + +{{template "org/menu" .}} diff --git a/data/gitea/templates/org/home.tmpl b/data/gitea/templates/org/home.tmpl new file mode 100644 index 0000000..4851b69 --- /dev/null +++ b/data/gitea/templates/org/home.tmpl @@ -0,0 +1,68 @@ +{{template "base/head" .}} +
    + {{template "org/header" .}} + +
    +
    +
    + {{if .ProfileReadme}} +
    {{.ProfileReadme}}
    + {{end}} + {{template "shared/repo_search" .}} + {{template "explore/repo_list" .}} + {{template "base/paginate" .}} +
    + + {{if .ShowMemberAndTeamTab}} +
    + {{if .CanCreateOrgRepo}} +
    + {{ctx.Locale.Tr "new_repo"}} + {{if not .DisableNewPullMirrors}} + {{ctx.Locale.Tr "new_migrate"}} + {{end}} +
    +
    + {{end}} + {{if .NumMembers}} +

    + {{ctx.Locale.Tr "org.members"}} + {{.NumMembers}} {{svg "octicon-chevron-right"}} +

    +
    + {{$isMember := .IsOrganizationMember}} + {{range .Members}} + {{if or $isMember (call $.IsPublicMember .ID)}} + {{ctx.AvatarUtils.Avatar . 48}} + {{end}} + {{end}} +
    + {{end}} + {{if .IsOrganizationMember}} +
    + {{ctx.Locale.Tr "org.teams"}} + {{.Org.NumTeams}} {{svg "octicon-chevron-right"}} +
    + + {{if .IsOrganizationOwner}} + + {{end}} + {{end}} +
    + {{end}} +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/org/member/members.tmpl b/data/gitea/templates/org/member/members.tmpl new file mode 100644 index 0000000..4388dc9 --- /dev/null +++ b/data/gitea/templates/org/member/members.tmpl @@ -0,0 +1,90 @@ +{{template "base/head" .}} +
    + {{template "org/header" .}} +
    + {{template "base/alert" .}} + +
    + {{range .Members}} + {{$isPublic := index $.MembersIsPublicMember .ID}} +
    + +
    +
    + {{template "shared/user/name" .}} + {{if not $isPublic}} + {{ctx.Locale.Tr "org.members.private"}} + {{end}} +
    + {{if not $.PublicOnly}} +
    + {{ctx.Locale.Tr "org.members.member_role"}} + {{if index $.MembersIsUserOrgOwner .ID}}{{svg "octicon-shield-lock"}} {{ctx.Locale.Tr "org.members.owner"}}{{else}}{{ctx.Locale.Tr "org.members.member"}}{{end}} +
    + {{if $.IsOrganizationOwner}} +
    + {{ctx.Locale.Tr "admin.users.2fa"}} + + {{if index $.MembersTwoFaStatus .ID}} + {{svg "octicon-check"}} + {{else}} + {{svg "octicon-x"}} + {{end}} + +
    + {{end}} + {{end}} +
    +
    + {{if or (eq $.SignedUser.ID .ID) $.IsOrganizationOwner}} + {{if $isPublic}} + {{svg "octicon-eye-closed" 12 "icon"}}{{ctx.Locale.Tr "org.members.public_helper"}} + {{else}} + {{svg "octicon-eye" 12 "icon"}}{{ctx.Locale.Tr "org.members.private_helper"}} + {{end}} + {{end}} + {{if eq $.SignedUser.ID .ID}} +
    + +
    + {{else if $.IsOrganizationOwner}} +
    + +
    + {{end}} +
    +
    + {{end}} +
    + + {{template "base/paginate" .}} +
    +
    + + + +{{template "base/footer" .}} diff --git a/data/gitea/templates/org/menu.tmpl b/data/gitea/templates/org/menu.tmpl new file mode 100644 index 0000000..698a955 --- /dev/null +++ b/data/gitea/templates/org/menu.tmpl @@ -0,0 +1,50 @@ + diff --git a/data/gitea/templates/org/projects/list.tmpl b/data/gitea/templates/org/projects/list.tmpl new file mode 100644 index 0000000..80dde1c --- /dev/null +++ b/data/gitea/templates/org/projects/list.tmpl @@ -0,0 +1,24 @@ +{{template "base/head" .}} +{{if .ContextUser.IsOrganization}} +
    + {{template "org/header" .}} +
    + {{template "projects/list" .}} +
    +
    +{{else}} +
    +
    +
    +
    + {{template "shared/user/profile_big_avatar" .}} +
    +
    + {{template "user/overview/header" .}} + {{template "projects/list" .}} +
    +
    +
    +
    +{{end}} +{{template "base/footer" .}} diff --git a/data/gitea/templates/org/projects/new.tmpl b/data/gitea/templates/org/projects/new.tmpl new file mode 100644 index 0000000..fc52130 --- /dev/null +++ b/data/gitea/templates/org/projects/new.tmpl @@ -0,0 +1,9 @@ +{{template "base/head" .}} +
    + {{template "shared/user/org_profile_avatar" .}} +
    + {{template "user/overview/header" .}} + {{template "projects/new" .}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/org/projects/view.tmpl b/data/gitea/templates/org/projects/view.tmpl new file mode 100644 index 0000000..e1ab81c --- /dev/null +++ b/data/gitea/templates/org/projects/view.tmpl @@ -0,0 +1,11 @@ +{{template "base/head" .}} +
    + {{template "shared/user/org_profile_avatar" .}} +
    + {{template "user/overview/header" .}} +
    +
    + {{template "projects/view" .}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/org/settings/actions.tmpl b/data/gitea/templates/org/settings/actions.tmpl new file mode 100644 index 0000000..abb9c98 --- /dev/null +++ b/data/gitea/templates/org/settings/actions.tmpl @@ -0,0 +1,11 @@ +{{template "org/settings/layout_head" (dict "ctxData" . "pageClass" "organization settings actions")}} +
    + {{if eq .PageType "runners"}} + {{template "shared/actions/runner_list" .}} + {{else if eq .PageType "secrets"}} + {{template "shared/secrets/add_list" .}} + {{else if eq .PageType "variables"}} + {{template "shared/variables/variable_list" .}} + {{end}} +
    +{{template "org/settings/layout_footer" .}} diff --git a/data/gitea/templates/org/settings/applications.tmpl b/data/gitea/templates/org/settings/applications.tmpl new file mode 100644 index 0000000..df5f4e9 --- /dev/null +++ b/data/gitea/templates/org/settings/applications.tmpl @@ -0,0 +1,9 @@ +{{template "org/settings/layout_head" (dict "ctxData" . "pageClass" "organization settings options")}} +
    +

    + {{ctx.Locale.Tr "settings.applications"}} +

    + + {{template "user/settings/applications_oauth2_list" .}} +
    +{{template "org/settings/layout_footer" .}} diff --git a/data/gitea/templates/org/settings/applications_oauth2_edit.tmpl b/data/gitea/templates/org/settings/applications_oauth2_edit.tmpl new file mode 100644 index 0000000..987803a --- /dev/null +++ b/data/gitea/templates/org/settings/applications_oauth2_edit.tmpl @@ -0,0 +1,5 @@ +{{template "org/settings/layout_head" (dict "ctxData" . "pageClass" "organization settings options")}} +
    + {{template "user/settings/applications_oauth2_edit_form" .}} +
    +{{template "org/settings/layout_footer" .}} diff --git a/data/gitea/templates/org/settings/blocked_users.tmpl b/data/gitea/templates/org/settings/blocked_users.tmpl new file mode 100644 index 0000000..eab5ec0 --- /dev/null +++ b/data/gitea/templates/org/settings/blocked_users.tmpl @@ -0,0 +1,5 @@ +{{template "org/settings/layout_head" (dict "ctxData" . "pageClass" "organization settings blocked_users")}} +
    + {{template "shared/user/blocked_users" .}} +
    +{{template "org/settings/layout_footer" .}} diff --git a/data/gitea/templates/org/settings/delete.tmpl b/data/gitea/templates/org/settings/delete.tmpl new file mode 100644 index 0000000..e1ef471 --- /dev/null +++ b/data/gitea/templates/org/settings/delete.tmpl @@ -0,0 +1,35 @@ +{{template "org/settings/layout_head" (dict "ctxData" . "pageClass" "organization settings delete")}} + +
    +

    + {{ctx.Locale.Tr "org.settings.delete_account"}} +

    +
    +
    +

    {{svg "octicon-alert"}} {{ctx.Locale.Tr "org.settings.delete_prompt"}}

    +
    +
    + {{.CsrfTokenHtml}} +
    + + +
    + +
    +
    +
    + + + +{{template "org/settings/layout_footer" .}} diff --git a/data/gitea/templates/org/settings/hook_new.tmpl b/data/gitea/templates/org/settings/hook_new.tmpl new file mode 100644 index 0000000..f89ee5f --- /dev/null +++ b/data/gitea/templates/org/settings/hook_new.tmpl @@ -0,0 +1,7 @@ +{{template "org/settings/layout_head" (dict "ctxData" . "pageClass" "organization settings new webhook")}} +
    + {{$CustomHeaderTitle := ctx.Locale.Tr "repo.settings.update_webhook"}} + {{if .PageIsSettingsHooksNew}}{{$CustomHeaderTitle = ctx.Locale.Tr "repo.settings.add_webhook"}}{{end}} + {{template "webhook/new" (dict "ctxData" . "CustomHeaderTitle" $CustomHeaderTitle)}} +
    +{{template "org/settings/layout_footer" .}} diff --git a/data/gitea/templates/org/settings/hooks.tmpl b/data/gitea/templates/org/settings/hooks.tmpl new file mode 100644 index 0000000..9f30796 --- /dev/null +++ b/data/gitea/templates/org/settings/hooks.tmpl @@ -0,0 +1,5 @@ +{{template "org/settings/layout_head" (dict "ctxData" . "pageClass" "organization settings webhooks")}} +
    + {{template "repo/settings/webhook/list" .}} +
    +{{template "org/settings/layout_footer" .}} diff --git a/data/gitea/templates/org/settings/labels.tmpl b/data/gitea/templates/org/settings/labels.tmpl new file mode 100644 index 0000000..25a562c --- /dev/null +++ b/data/gitea/templates/org/settings/labels.tmpl @@ -0,0 +1,15 @@ +{{template "org/settings/layout_head" (dict "ctxData" . "pageClass" "organization settings labels")}} +
    +
    +
    + {{ctx.Locale.Tr "org.settings.labels_desc"}} +
    + +
    +
    + {{template "repo/issue/labels/label_new" .}} + {{template "repo/issue/labels/label_list" .}} +
    +{{template "repo/issue/labels/edit_delete_label" .}} +{{template "org/settings/layout_footer" .}} + diff --git a/data/gitea/templates/org/settings/layout_footer.tmpl b/data/gitea/templates/org/settings/layout_footer.tmpl new file mode 100644 index 0000000..09d88c0 --- /dev/null +++ b/data/gitea/templates/org/settings/layout_footer.tmpl @@ -0,0 +1,11 @@ +{{if false}}{{/* to make html structure "likely" complete to prevent IDE warnings */}} +
    +
    +
    + {{/* block: org-setting-content */}} +{{end}} + +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/org/settings/layout_head.tmpl b/data/gitea/templates/org/settings/layout_head.tmpl new file mode 100644 index 0000000..31dad2c --- /dev/null +++ b/data/gitea/templates/org/settings/layout_head.tmpl @@ -0,0 +1,14 @@ +{{template "base/head" .ctxData}} +
    + {{template "org/header" .ctxData}} +
    + {{template "org/settings/navbar" .ctxData}} +
    + {{template "base/alert" .ctxData}} + {{/* block: org-setting-content */}} + +{{if false}}{{/* to make html structure "likely" complete to prevent IDE warnings */}} +
    +
    +
    +{{end}} diff --git a/data/gitea/templates/org/settings/navbar.tmpl b/data/gitea/templates/org/settings/navbar.tmpl new file mode 100644 index 0000000..ce792f6 --- /dev/null +++ b/data/gitea/templates/org/settings/navbar.tmpl @@ -0,0 +1,48 @@ + diff --git a/data/gitea/templates/org/settings/options.tmpl b/data/gitea/templates/org/settings/options.tmpl new file mode 100644 index 0000000..62debfc --- /dev/null +++ b/data/gitea/templates/org/settings/options.tmpl @@ -0,0 +1,102 @@ +{{template "org/settings/layout_head" (dict "ctxData" . "pageClass" "organization settings options")}} +
    +

    + {{ctx.Locale.Tr "org.settings.options"}} +

    +
    +
    + {{.CsrfTokenHtml}} +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    + +
    +
    + +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    + + {{if .SignedUser.IsAdmin}} +
    + +
    + + +

    {{ctx.Locale.Tr "admin.users.max_repo_creation_desc"}}

    +
    + {{end}} + +
    + +
    +
    + +
    + +
    + {{.CsrfTokenHtml}} +
    + + +
    + +
    + + +
    +
    +
    +
    +{{template "org/settings/layout_footer" .}} diff --git a/data/gitea/templates/org/settings/packages.tmpl b/data/gitea/templates/org/settings/packages.tmpl new file mode 100644 index 0000000..91106c3 --- /dev/null +++ b/data/gitea/templates/org/settings/packages.tmpl @@ -0,0 +1,6 @@ +{{template "org/settings/layout_head" (dict "ctxData" . "pageClass" "organization settings packages")}} +
    + {{template "package/shared/cleanup_rules/list" .}} + {{template "package/shared/cargo" .}} +
    +{{template "org/settings/layout_footer" .}} diff --git a/data/gitea/templates/org/settings/packages_cleanup_rules_edit.tmpl b/data/gitea/templates/org/settings/packages_cleanup_rules_edit.tmpl new file mode 100644 index 0000000..ff4c2dd --- /dev/null +++ b/data/gitea/templates/org/settings/packages_cleanup_rules_edit.tmpl @@ -0,0 +1,5 @@ +{{template "org/settings/layout_head" (dict "ctxData" . "pageClass" "organization settings packages")}} +
    + {{template "package/shared/cleanup_rules/edit" .}} +
    +{{template "org/settings/layout_footer" .}} diff --git a/data/gitea/templates/org/settings/packages_cleanup_rules_preview.tmpl b/data/gitea/templates/org/settings/packages_cleanup_rules_preview.tmpl new file mode 100644 index 0000000..5a2f061 --- /dev/null +++ b/data/gitea/templates/org/settings/packages_cleanup_rules_preview.tmpl @@ -0,0 +1,5 @@ +{{template "org/settings/layout_head" (dict "ctxData" . "pageClass" "organization settings packages")}} +
    + {{template "package/shared/cleanup_rules/preview" .}} +
    +{{template "org/settings/layout_footer" .}} diff --git a/data/gitea/templates/org/settings/runners_edit.tmpl b/data/gitea/templates/org/settings/runners_edit.tmpl new file mode 100644 index 0000000..acd67a4 --- /dev/null +++ b/data/gitea/templates/org/settings/runners_edit.tmpl @@ -0,0 +1,5 @@ +{{template "org/settings/layout_head" (dict "ctxData" . "pageClass" "organization settings runners")}} +
    + {{template "shared/actions/runner_edit" .}} +
    +{{template "org/settings/layout_footer" .}} diff --git a/data/gitea/templates/org/team/invite.tmpl b/data/gitea/templates/org/team/invite.tmpl new file mode 100644 index 0000000..1167828 --- /dev/null +++ b/data/gitea/templates/org/team/invite.tmpl @@ -0,0 +1,23 @@ +{{template "base/head" .}} +
    +
    + {{template "base/alert" .}} +
    +
    + {{ctx.AvatarUtils.Avatar .Organization 140}} +
    +
    +
    {{ctx.Locale.Tr "org.teams.invite.title" .Team.Name .Organization.Name}}
    +
    {{ctx.Locale.Tr "org.teams.invite.by" .Inviter.Name}}
    +
    {{ctx.Locale.Tr "org.teams.invite.description"}}
    +
    +
    +
    + {{.CsrfTokenHtml}} + +
    +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/org/team/members.tmpl b/data/gitea/templates/org/team/members.tmpl new file mode 100644 index 0000000..5433f01 --- /dev/null +++ b/data/gitea/templates/org/team/members.tmpl @@ -0,0 +1,88 @@ +{{template "base/head" .}} +
    + {{template "org/header" .}} +
    + {{template "base/alert" .}} +
    + {{template "org/team/sidebar" .}} +
    + {{template "org/team/navbar" .}} + {{if .IsOrganizationOwner}} +
    +
    + {{.CsrfTokenHtml}} + + + +
    +
    + {{end}} +
    +
    + {{range .Team.Members}} +
    + +
    +
    + {{template "shared/user/name" .}} +
    +
    +
    + {{if and $.IsOrganizationOwner (not (and ($.Team.IsOwnerTeam) (eq (len $.Team.Members) 1)))}} +
    + +
    + {{end}} +
    +
    + {{else}} +
    + {{ctx.Locale.Tr "org.teams.members.none"}} +
    + {{end}} +
    +
    + {{if and .Invites $.IsOrganizationOwner}} +

    {{ctx.Locale.Tr "org.teams.invite_team_member.list"}}

    +
    +
    + {{range .Invites}} +
    +
    + {{.Email}} +
    +
    +
    + {{$.CsrfTokenHtml}} + + +
    +
    +
    + {{end}} +
    +
    + {{end}} +
    +
    +
    +
    + +{{template "base/footer" .}} diff --git a/data/gitea/templates/org/team/navbar.tmpl b/data/gitea/templates/org/team/navbar.tmpl new file mode 100644 index 0000000..9704f63 --- /dev/null +++ b/data/gitea/templates/org/team/navbar.tmpl @@ -0,0 +1,4 @@ + diff --git a/data/gitea/templates/org/team/new.tmpl b/data/gitea/templates/org/team/new.tmpl new file mode 100644 index 0000000..9608eac --- /dev/null +++ b/data/gitea/templates/org/team/new.tmpl @@ -0,0 +1,161 @@ +{{template "base/head" .}} +
    + {{template "org/header" .}} +
    +
    +
    +
    + {{.CsrfTokenHtml}} +

    + {{if .PageIsOrgTeamsNew}}{{ctx.Locale.Tr "org.create_new_team"}}{{else}}{{ctx.Locale.Tr "org.teams.settings"}}{{end}} +

    +
    + {{template "base/alert" .}} +
    + + {{if eq .Team.LowerName "owners"}} + + {{end}} + + {{ctx.Locale.Tr "org.team_name_helper"}} +
    +
    + + + {{ctx.Locale.Tr "org.team_desc_helper"}} +
    + {{if not (eq .Team.LowerName "owners")}} +
    + +
    +
    +
    + + + {{ctx.Locale.Tr "org.teams.specific_repositories_helper"}} +
    +
    +
    +
    + + + {{ctx.Locale.Tr "org.teams.all_repositories_helper"}} +
    +
    + +
    +
    + + + {{ctx.Locale.Tr "org.teams.can_create_org_repo_helper"}} +
    +
    +
    +
    + +
    +
    +
    + + + {{ctx.Locale.Tr "org.teams.general_access_helper"}} +
    +
    +
    +
    + + + {{ctx.Locale.Tr "org.teams.admin_access_helper"}} +
    +
    +
    +
    + +
    + + + + + + + + + + + + {{range $t, $unit := $.Units}} + {{if ge $unit.MaxPerm 2}} + + + + + + + {{end}} + {{end}} + +
    {{ctx.Locale.Tr "units.unit"}}{{ctx.Locale.Tr "org.teams.none_access"}} + {{svg "octicon-question" 16 "tw-ml-1"}}{{ctx.Locale.Tr "org.teams.read_access"}} + {{svg "octicon-question" 16 "tw-ml-1"}}{{ctx.Locale.Tr "org.teams.write_access"}} + {{svg "octicon-question" 16 "tw-ml-1"}}
    +
    +
    + + {{ctx.Locale.Tr $unit.DescKey}} +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    + {{range $t, $unit := $.Units}} + {{if lt $unit.MaxPerm 2}} +
    +
    + + + {{ctx.Locale.Tr $unit.DescKey}} +
    +
    + {{end}} + {{end}} +
    + {{end}} + +
    + {{if .PageIsOrgTeamsNew}} + + {{else}} + + {{if not (eq .Team.LowerName "owners")}} + + {{end}} + {{end}} +
    +
    +
    +
    +
    +
    +
    + + +{{template "base/footer" .}} diff --git a/data/gitea/templates/org/team/repositories.tmpl b/data/gitea/templates/org/team/repositories.tmpl new file mode 100644 index 0000000..502cf97 --- /dev/null +++ b/data/gitea/templates/org/team/repositories.tmpl @@ -0,0 +1,61 @@ +{{template "base/head" .}} +
    + {{template "org/header" .}} +
    + {{template "base/alert" .}} +
    + {{template "org/team/sidebar" .}} +
    + {{template "org/team/navbar" .}} + {{$canAddRemove := and $.IsOrganizationOwner (not $.Team.IncludesAllRepositories)}} + {{if $canAddRemove}} +
    +
    + {{.CsrfTokenHtml}} + + +
    +
    + + +
    +
    + {{end}} +
    +
    + {{range .Team.Repos}} +
    +
    + {{template "repo/icon" .}} +
    + +
    + {{if $canAddRemove}} +
    + {{$.CsrfTokenHtml}} + +
    + {{end}} +
    +
    + {{else}} +
    + {{ctx.Locale.Tr "org.teams.repos.none"}} +
    + {{end}} +
    +
    +
    +
    +
    +
    + +{{template "base/footer" .}} diff --git a/data/gitea/templates/org/team/sidebar.tmpl b/data/gitea/templates/org/team/sidebar.tmpl new file mode 100644 index 0000000..ac41cda --- /dev/null +++ b/data/gitea/templates/org/team/sidebar.tmpl @@ -0,0 +1,94 @@ +
    +

    + {{.Team.Name}} +
    + {{if .Team.IsMember ctx $.SignedUser.ID}} +
    + +
    + {{else if .IsOrganizationOwner}} +
    + {{$.CsrfTokenHtml}} + + +
    + {{end}} +
    +

    +
    +
    + {{if .Team.Description}} + {{.Team.Description}} + {{else}} + {{ctx.Locale.Tr "org.teams.no_desc"}} + {{end}} +
    + {{if eq .Team.LowerName "owners"}} +
    + {{ctx.Locale.Tr "org.teams.owners_permission_desc"}} +
    + {{else}} +
    +

    {{ctx.Locale.Tr "org.team_access_desc"}}

    +
      + {{if .Team.IncludesAllRepositories}} +
    • {{ctx.Locale.Tr "org.teams.all_repositories"}}
    • + {{else}} +
    • {{ctx.Locale.Tr "org.teams.specific_repositories"}}
    • + {{end}} + {{if .Team.CanCreateOrgRepo}} +
    • {{ctx.Locale.Tr "org.teams.can_create_org_repo"}}
    • + {{end}} +
    + {{if (eq .Team.AccessMode 2)}} +

    {{ctx.Locale.Tr "org.settings.permission"}}

    + {{ctx.Locale.Tr "org.teams.write_permission_desc"}} + {{else if (eq .Team.AccessMode 3)}} +

    {{ctx.Locale.Tr "org.settings.permission"}}

    + {{ctx.Locale.Tr "org.teams.admin_permission_desc"}} + {{else}} + + + + + + + + + {{range $t, $unit := $.Units}} + {{if (not $unit.Type.UnitGlobalDisabled)}} + + + + + {{end}} + {{end}} + +
    {{ctx.Locale.Tr "units.unit"}}{{ctx.Locale.Tr "org.team_permission_desc"}}
    {{ctx.Locale.Tr $unit.NameKey}}{{if eq ($.Team.UnitAccessMode $.Context $unit.Type) 0 -}} + {{ctx.Locale.Tr "org.teams.none_access"}} + {{- else if or (eq $.Team.ID 0) (eq ($.Team.UnitAccessMode $.Context $unit.Type) 1) -}} + {{ctx.Locale.Tr "org.teams.read_access"}} + {{- else if eq ($.Team.UnitAccessMode $.Context $unit.Type) 2 -}} + {{ctx.Locale.Tr "org.teams.write_access"}} + {{- end}}
    + {{end}} +
    + {{end}} +
    + {{if .IsOrganizationOwner}} + + {{end}} +
    + diff --git a/data/gitea/templates/org/team/teams.tmpl b/data/gitea/templates/org/team/teams.tmpl new file mode 100644 index 0000000..53c909e --- /dev/null +++ b/data/gitea/templates/org/team/teams.tmpl @@ -0,0 +1,56 @@ +{{template "base/head" .}} +
    + {{template "org/header" .}} +
    + {{template "base/alert" .}} + {{if .IsOrganizationOwner}} + +
    + {{end}} + +
    + {{range .Teams}} +
    +
    + {{.Name}} +
    + {{ctx.Locale.Tr "view"}} + {{if .IsMember ctx $.SignedUser.ID}} +
    + +
    + {{else if $.IsOrganizationOwner}} +
    + {{$.CsrfTokenHtml}} + +
    + {{end}} +
    +
    +
    + {{range .Members}} + {{template "shared/user/avatarlink" dict "user" .}} + {{end}} +
    + +
    + {{end}} +
    +
    +
    + +{{template "base/footer" .}} diff --git a/data/gitea/templates/package/content/alpine.tmpl b/data/gitea/templates/package/content/alpine.tmpl new file mode 100644 index 0000000..5c144b9 --- /dev/null +++ b/data/gitea/templates/package/content/alpine.tmpl @@ -0,0 +1,52 @@ +{{if eq .PackageDescriptor.Package.Type "alpine"}} +

    {{ctx.Locale.Tr "packages.installation"}}

    +
    +
    +
    + +
    /$branch/$repository
    +

    {{ctx.Locale.Tr "packages.alpine.registry.info"}}

    +
    +
    + +
    curl -JO 
    +
    +
    + +
    +
    sudo apk add {{$.PackageDescriptor.Package.Name}}={{$.PackageDescriptor.Version.Version}}
    +
    +
    +
    + +
    +
    +
    + +

    {{ctx.Locale.Tr "packages.alpine.repository"}}

    +
    + + + + + + + + + + + + + + + +
    {{ctx.Locale.Tr "packages.alpine.repository.branches"}}
    {{StringUtils.Join .Branches ", "}}
    {{ctx.Locale.Tr "packages.alpine.repository.repositories"}}
    {{StringUtils.Join .Repositories ", "}}
    {{ctx.Locale.Tr "packages.alpine.repository.architectures"}}
    {{StringUtils.Join .Architectures ", "}}
    +
    + + {{if .PackageDescriptor.Metadata.Description}} +

    {{ctx.Locale.Tr "packages.about"}}

    +
    + {{.PackageDescriptor.Metadata.Description}} +
    + {{end}} +{{end}} diff --git a/data/gitea/templates/package/content/cargo.tmpl b/data/gitea/templates/package/content/cargo.tmpl new file mode 100644 index 0000000..7fd88a2 --- /dev/null +++ b/data/gitea/templates/package/content/cargo.tmpl @@ -0,0 +1,63 @@ +{{if eq .PackageDescriptor.Package.Type "cargo"}} +

    {{ctx.Locale.Tr "packages.installation"}}

    +
    +
    +
    + +
    [registry]
    +default = "gitea"
    +
    +[registries.gitea]
    +index = "sparse+" # Sparse index
    +# index = "" # Git
    +
    +[net]
    +git-fetch-with-cli = true
    +
    +
    + +
    cargo add {{.PackageDescriptor.Package.Name}}@{{.PackageDescriptor.Version.Version}}
    +
    +
    + +
    +
    +
    + + {{if or .PackageDescriptor.Metadata.Description .PackageDescriptor.Metadata.Readme}} +

    {{ctx.Locale.Tr "packages.about"}}

    + {{if .PackageDescriptor.Metadata.Description}}
    {{.PackageDescriptor.Metadata.Description}}
    {{end}} + {{if .PackageDescriptor.Metadata.Readme}}
    {{RenderMarkdownToHtml $.Context .PackageDescriptor.Metadata.Readme}}
    {{end}} + {{end}} + + {{if .PackageDescriptor.Metadata.Dependencies}} +

    {{ctx.Locale.Tr "packages.dependencies"}}

    +
    + + + + + + + + + {{range .PackageDescriptor.Metadata.Dependencies}} + + + + + {{end}} + +
    {{ctx.Locale.Tr "packages.dependency.id"}}{{ctx.Locale.Tr "packages.dependency.version"}}
    {{.Name}}{{.Req}}
    +
    + {{end}} + + {{if .PackageDescriptor.Metadata.Keywords}} +

    {{ctx.Locale.Tr "packages.keywords"}}

    +
    + {{range .PackageDescriptor.Metadata.Keywords}} + {{.}} + {{end}} +
    + {{end}} +{{end}} diff --git a/data/gitea/templates/package/content/chef.tmpl b/data/gitea/templates/package/content/chef.tmpl new file mode 100644 index 0000000..03ce9f8 --- /dev/null +++ b/data/gitea/templates/package/content/chef.tmpl @@ -0,0 +1,48 @@ +{{if eq .PackageDescriptor.Package.Type "chef"}} +

    {{ctx.Locale.Tr "packages.installation"}}

    +
    +
    +
    + +
    knife[:supermarket_site] = ''
    +
    +
    + +
    knife supermarket install {{.PackageDescriptor.Package.Name}} {{.PackageDescriptor.Version.Version}}
    +
    +
    + +
    +
    +
    + + {{if or .PackageDescriptor.Metadata.Description .PackageDescriptor.Metadata.LongDescription}} +

    {{ctx.Locale.Tr "packages.about"}}

    +
    + {{if .PackageDescriptor.Metadata.Description}}

    {{.PackageDescriptor.Metadata.Description}}

    {{end}} + {{if .PackageDescriptor.Metadata.LongDescription}}{{RenderMarkdownToHtml $.Context .PackageDescriptor.Metadata.LongDescription}}{{end}} +
    + {{end}} + + {{if .PackageDescriptor.Metadata.Dependencies}} +

    {{ctx.Locale.Tr "packages.dependencies"}}

    +
    + + + + + + + + + {{range $dependency, $version := .PackageDescriptor.Metadata.Dependencies}} + + + + + {{end}} + +
    {{ctx.Locale.Tr "packages.dependency.id"}}{{ctx.Locale.Tr "packages.dependency.version"}}
    {{$dependency}}{{$version}}
    +
    + {{end}} +{{end}} diff --git a/data/gitea/templates/package/content/composer.tmpl b/data/gitea/templates/package/content/composer.tmpl new file mode 100644 index 0000000..c2dc634 --- /dev/null +++ b/data/gitea/templates/package/content/composer.tmpl @@ -0,0 +1,50 @@ +{{if eq .PackageDescriptor.Package.Type "composer"}} +

    {{ctx.Locale.Tr "packages.installation"}}

    +
    +
    +
    + +
    {
    +	"repositories": [{
    +			"type": "composer",
    +			"url": ""
    +		}
    +	]
    +}
    +
    +
    + +
    composer require {{.PackageDescriptor.Package.Name}}:{{.PackageDescriptor.Version.Version}}
    +
    +
    + +
    +
    +
    + + {{if .PackageDescriptor.Metadata.Description}} +

    {{ctx.Locale.Tr "packages.about"}}

    +
    + {{.PackageDescriptor.Metadata.Description}} +
    + {{end}} + + {{if or .PackageDescriptor.Metadata.Require .PackageDescriptor.Metadata.RequireDev}} +

    {{ctx.Locale.Tr "packages.dependencies"}}

    +
    +
    + {{template "package/content/composer_dependencies" dict "root" $ "dependencies" .PackageDescriptor.Metadata.Require "title" (ctx.Locale.Tr "packages.composer.dependencies")}} + {{template "package/content/composer_dependencies" dict "root" $ "dependencies" .PackageDescriptor.Metadata.RequireDev "title" (ctx.Locale.Tr "packages.composer.dependencies.development")}} +
    +
    + {{end}} + + {{if or .PackageDescriptor.Metadata.Keywords}} +

    {{ctx.Locale.Tr "packages.keywords"}}

    +
    + {{range .PackageDescriptor.Metadata.Keywords}} + {{.}} + {{end}} +
    + {{end}} +{{end}} diff --git a/data/gitea/templates/package/content/composer_dependencies.tmpl b/data/gitea/templates/package/content/composer_dependencies.tmpl new file mode 100644 index 0000000..dba4575 --- /dev/null +++ b/data/gitea/templates/package/content/composer_dependencies.tmpl @@ -0,0 +1,19 @@ +{{if .dependencies}} +

    {{.title}}

    + + + + + + + + + {{range $dependency, $version := .dependencies}} + + + + + {{end}} + +
    {{ctx.Locale.Tr "packages.dependency.id"}}{{ctx.Locale.Tr "packages.dependency.version"}}
    {{$dependency}}{{$version}}
    +{{end}} diff --git a/data/gitea/templates/package/content/conan.tmpl b/data/gitea/templates/package/content/conan.tmpl new file mode 100644 index 0000000..b68a45f --- /dev/null +++ b/data/gitea/templates/package/content/conan.tmpl @@ -0,0 +1,34 @@ +{{if eq .PackageDescriptor.Package.Type "conan"}} +

    {{ctx.Locale.Tr "packages.installation"}}

    +
    +
    +
    + +
    conan remote add gitea 
    +
    +
    + +
    conan install --remote=gitea {{.PackageDescriptor.Package.Name}}/{{.PackageDescriptor.Version.Version}}
    +
    +
    + +
    +
    +
    + + {{if .PackageDescriptor.Metadata.Description}} +

    {{ctx.Locale.Tr "packages.about"}}

    +
    + {{if .PackageDescriptor.Metadata.Description}}{{.PackageDescriptor.Metadata.Description}}{{end}} +
    + {{end}} + + {{if or .PackageDescriptor.Metadata.Keywords}} +

    {{ctx.Locale.Tr "packages.keywords"}}

    +
    + {{range .PackageDescriptor.Metadata.Keywords}} + {{.}} + {{end}} +
    + {{end}} +{{end}} diff --git a/data/gitea/templates/package/content/conda.tmpl b/data/gitea/templates/package/content/conda.tmpl new file mode 100644 index 0000000..031b51a --- /dev/null +++ b/data/gitea/templates/package/content/conda.tmpl @@ -0,0 +1,30 @@ +{{if eq .PackageDescriptor.Package.Type "conda"}} +

    {{ctx.Locale.Tr "packages.installation"}}

    +
    +
    +
    + +
    channel_alias: 
    +channels:
    +  - 
    +default_channels:
    +  - 
    +
    +
    + + {{$channel := .PackageDescriptor.PackageProperties.GetByName "conda.channel"}} +
    conda install{{if $channel}} -c {{$channel}}{{end}} {{.PackageDescriptor.PackageProperties.GetByName "conda.name"}}={{.PackageDescriptor.Version.Version}}
    +
    +
    + +
    +
    +
    + + {{if or .PackageDescriptor.Metadata.Description .PackageDescriptor.Metadata.Summary}} +

    {{ctx.Locale.Tr "packages.about"}}

    +
    + {{if .PackageDescriptor.Metadata.Description}}{{.PackageDescriptor.Metadata.Description}}{{else}}{{.PackageDescriptor.Metadata.Summary}}{{end}} +
    + {{end}} +{{end}} diff --git a/data/gitea/templates/package/content/container.tmpl b/data/gitea/templates/package/content/container.tmpl new file mode 100644 index 0000000..fe393f4 --- /dev/null +++ b/data/gitea/templates/package/content/container.tmpl @@ -0,0 +1,90 @@ +{{if eq .PackageDescriptor.Package.Type "container"}} +

    {{ctx.Locale.Tr "packages.installation"}}

    +
    +
    +
    + + {{if eq .PackageDescriptor.Metadata.Type "helm"}} +
    helm pull oci://{{.RegistryHost}}/{{.PackageDescriptor.Owner.LowerName}}/{{.PackageDescriptor.Package.LowerName}} --version {{.PackageDescriptor.Version.LowerVersion}}
    + {{else}} + {{$separator := ":"}} + {{if not .PackageDescriptor.Metadata.IsTagged}} + {{$separator = "@"}} + {{end}} +
    docker pull {{.RegistryHost}}/{{.PackageDescriptor.Owner.LowerName}}/{{.PackageDescriptor.Package.LowerName}}{{$separator}}{{.PackageDescriptor.Version.LowerVersion}}
    + {{end}} +
    +
    + +
    {{range .PackageDescriptor.Files}}{{if eq .File.LowerName "manifest.json"}}{{.Properties.GetByName "container.digest"}}{{end}}{{end}}
    +
    +
    + +
    +
    +
    + {{if .PackageDescriptor.Metadata.Manifests}} +

    {{ctx.Locale.Tr "packages.container.multi_arch"}}

    +
    + + + + + + + + + + {{range .PackageDescriptor.Metadata.Manifests}} + + + + + + {{end}} + +
    {{ctx.Locale.Tr "packages.container.digest"}}{{ctx.Locale.Tr "packages.container.multi_arch"}}{{ctx.Locale.Tr "admin.packages.size"}}
    {{.Digest}}{{.Platform}}{{FileSize .Size}}
    +
    + {{end}} + {{if .PackageDescriptor.Metadata.Description}} +

    {{ctx.Locale.Tr "packages.about"}}

    +
    + {{.PackageDescriptor.Metadata.Description}} +
    + {{end}} + {{if .PackageDescriptor.Metadata.ImageLayers}} +

    {{ctx.Locale.Tr "packages.container.layers"}}

    +
    + + + {{range .PackageDescriptor.Metadata.ImageLayers}} + + + + {{end}} + +
    {{.}}
    +
    + {{end}} + {{if .PackageDescriptor.Metadata.Labels}} +

    {{ctx.Locale.Tr "packages.container.labels"}}

    +
    + + + + + + + + + {{range $key, $value := .PackageDescriptor.Metadata.Labels}} + + + + + {{end}} + +
    {{ctx.Locale.Tr "packages.container.labels.key"}}{{ctx.Locale.Tr "packages.container.labels.value"}}
    {{$key}}{{$value}}
    +
    + {{end}} +{{end}} diff --git a/data/gitea/templates/package/content/cran.tmpl b/data/gitea/templates/package/content/cran.tmpl new file mode 100644 index 0000000..ae58e6f --- /dev/null +++ b/data/gitea/templates/package/content/cran.tmpl @@ -0,0 +1,59 @@ +{{if eq .PackageDescriptor.Package.Type "cran"}} +

    {{ctx.Locale.Tr "packages.installation"}}

    +
    +
    +
    + +
    options("repos" = c(getOption("repos"), c(gitea="")))
    +
    +
    + +
    install.packages("{{.PackageDescriptor.Package.Name}}")
    +
    +
    + +
    +
    +
    + + {{if or .PackageDescriptor.Metadata.Description .PackageDescriptor.Metadata.Title}} +

    {{ctx.Locale.Tr "packages.about"}}

    +
    + {{if .PackageDescriptor.Metadata.Description}}{{.PackageDescriptor.Metadata.Description}}{{.PackageDescriptor.Metadata.Title}}{{else}}{{end}} +
    + {{end}} + + {{if or .PackageDescriptor.Metadata.Imports .PackageDescriptor.Metadata.Depends .PackageDescriptor.Metadata.LinkingTo .PackageDescriptor.Metadata.Suggests}} +

    {{ctx.Locale.Tr "packages.dependencies"}}

    +
    + + + {{if .PackageDescriptor.Metadata.Imports}} + + + + + {{end}} + {{if .PackageDescriptor.Metadata.Depends}} + + + + + {{end}} + {{if .PackageDescriptor.Metadata.LinkingTo}} + + + + + {{end}} + {{if .PackageDescriptor.Metadata.Suggests}} + + + + + {{end}} + +
    Imports{{StringUtils.Join .PackageDescriptor.Metadata.Imports ", "}}
    Depends{{StringUtils.Join .PackageDescriptor.Metadata.Depends ", "}}
    LinkingTo{{StringUtils.Join .PackageDescriptor.Metadata.LinkingTo ", "}}
    Suggests{{StringUtils.Join .PackageDescriptor.Metadata.Suggests ", "}}
    +
    + {{end}} +{{end}} diff --git a/data/gitea/templates/package/content/debian.tmpl b/data/gitea/templates/package/content/debian.tmpl new file mode 100644 index 0000000..73b8257 --- /dev/null +++ b/data/gitea/templates/package/content/debian.tmpl @@ -0,0 +1,65 @@ +{{if eq .PackageDescriptor.Package.Type "debian"}} +

    {{ctx.Locale.Tr "packages.installation"}}

    +
    +
    +
    + +
    sudo curl  -o /etc/apt/keyrings/gitea-{{$.PackageDescriptor.Owner.Name}}.asc
    +echo "deb [signed-by=/etc/apt/keyrings/gitea-{{$.PackageDescriptor.Owner.Name}}.asc]  $distribution $component" | sudo tee -a /etc/apt/sources.list.d/gitea.list
    +sudo apt update
    +

    {{ctx.Locale.Tr "packages.debian.registry.info"}}

    +
    +
    + +
    +
    sudo apt install {{$.PackageDescriptor.Package.Name}}={{$.PackageDescriptor.Version.Version}}
    +
    +
    +
    + +
    +
    +
    + +

    {{ctx.Locale.Tr "packages.debian.repository"}}

    +
    + + + + + + + + + + + + + + + +
    {{ctx.Locale.Tr "packages.debian.repository.distributions"}}
    {{StringUtils.Join .Distributions ", "}}
    {{ctx.Locale.Tr "packages.debian.repository.components"}}
    {{StringUtils.Join .Components ", "}}
    {{ctx.Locale.Tr "packages.debian.repository.architectures"}}
    {{StringUtils.Join .Architectures ", "}}
    +
    + + {{if .PackageDescriptor.Metadata.Description}} +

    {{ctx.Locale.Tr "packages.about"}}

    +
    + {{.PackageDescriptor.Metadata.Description}} +
    + {{end}} + + {{if .PackageDescriptor.Metadata.Dependencies}} +

    {{ctx.Locale.Tr "packages.dependencies"}}

    +
    + + + {{range .PackageDescriptor.Metadata.Dependencies}} + + + + {{end}} + +
    {{.}}
    +
    + {{end}} +{{end}} diff --git a/data/gitea/templates/package/content/generic.tmpl b/data/gitea/templates/package/content/generic.tmpl new file mode 100644 index 0000000..2fd9521 --- /dev/null +++ b/data/gitea/templates/package/content/generic.tmpl @@ -0,0 +1,18 @@ +{{if eq .PackageDescriptor.Package.Type "generic"}} +

    {{ctx.Locale.Tr "packages.installation"}}

    +
    +
    +
    + +
    
    +{{- range .PackageDescriptor.Files -}}
    +curl -OJ 
    +{{end -}}
    +				
    +
    +
    + +
    +
    +
    +{{end}} diff --git a/data/gitea/templates/package/content/go.tmpl b/data/gitea/templates/package/content/go.tmpl new file mode 100644 index 0000000..80d1ab2 --- /dev/null +++ b/data/gitea/templates/package/content/go.tmpl @@ -0,0 +1,14 @@ +{{if eq .PackageDescriptor.Package.Type "go"}} +

    {{ctx.Locale.Tr "packages.installation"}}

    +
    +
    +
    + +
    GOPROXY= go install {{$.PackageDescriptor.Package.Name}}@{{$.PackageDescriptor.Version.Version}}
    +
    +
    + +
    +
    +
    +{{end}} diff --git a/data/gitea/templates/package/content/helm.tmpl b/data/gitea/templates/package/content/helm.tmpl new file mode 100644 index 0000000..da846e9 --- /dev/null +++ b/data/gitea/templates/package/content/helm.tmpl @@ -0,0 +1,57 @@ +{{if eq .PackageDescriptor.Package.Type "helm"}} +

    {{ctx.Locale.Tr "packages.installation"}}

    +
    +
    +
    + +
    helm repo add {{AppDomain}} 
    +helm repo update
    +
    +
    + +
    helm install {{.PackageDescriptor.Package.Name}} {{AppDomain}}/{{.PackageDescriptor.Package.Name}}
    +
    +
    + +
    +
    +
    + + {{if .PackageDescriptor.Metadata.Description}} +

    {{ctx.Locale.Tr "packages.about"}}

    +
    + {{.PackageDescriptor.Metadata.Description}} +
    + {{end}} + + {{if .PackageDescriptor.Metadata.Dependencies}} +

    {{ctx.Locale.Tr "packages.dependencies"}}

    +
    + + + + + + + + + {{range .PackageDescriptor.Metadata.Dependencies}} + + + + + {{end}} + +
    {{ctx.Locale.Tr "packages.dependency.id"}}{{ctx.Locale.Tr "packages.dependency.version"}}
    {{.Name}}{{.Version}}
    +
    + {{end}} + + {{if .PackageDescriptor.Metadata.Keywords}} +

    {{ctx.Locale.Tr "packages.keywords"}}

    +
    + {{range .PackageDescriptor.Metadata.Keywords}} + {{.}} + {{end}} +
    + {{end}} +{{end}} diff --git a/data/gitea/templates/package/content/maven.tmpl b/data/gitea/templates/package/content/maven.tmpl new file mode 100644 index 0000000..f56595a --- /dev/null +++ b/data/gitea/templates/package/content/maven.tmpl @@ -0,0 +1,75 @@ +{{if and (eq .PackageDescriptor.Package.Type "maven") (not .PackageDescriptor.Metadata)}} +

    {{ctx.Locale.Tr "packages.installation"}}

    +
    {{ctx.Locale.Tr "packages.no_metadata"}}
    +{{end}} +{{if and (eq .PackageDescriptor.Package.Type "maven") .PackageDescriptor.Metadata}} +

    {{ctx.Locale.Tr "packages.installation"}}

    +
    +
    +
    + +
    <repositories>
    +	<repository>
    +		<id>gitea</id>
    +			<url></url>
    +	</repository>
    +</repositories>
    +
    +<distributionManagement>
    +	<repository>
    +		<id>gitea</id>
    +		<url></url>
    +	</repository>
    +
    +	<snapshotRepository>
    +		<id>gitea</id>
    +		<url></url>
    +	</snapshotRepository>
    +</distributionManagement>
    +
    +
    + +
    <dependency>
    +	<groupId>{{.PackageDescriptor.Metadata.GroupID}}</groupId>
    +	<artifactId>{{.PackageDescriptor.Metadata.ArtifactID}}</artifactId>
    +	<version>{{.PackageDescriptor.Version.Version}}</version>
    +</dependency>
    +
    +
    + +
    mvn install
    +
    +
    + +
    mvn dependency:get -DremoteRepositories= -Dartifact={{.PackageDescriptor.Metadata.GroupID}}:{{.PackageDescriptor.Metadata.ArtifactID}}:{{.PackageDescriptor.Version.Version}}
    +
    +
    + +
    +
    +
    + + {{if .PackageDescriptor.Metadata.Description}} +

    {{ctx.Locale.Tr "packages.about"}}

    +
    + {{.PackageDescriptor.Metadata.Description}} +
    + {{end}} + + {{if .PackageDescriptor.Metadata.Dependencies}} +

    {{ctx.Locale.Tr "packages.dependencies"}}

    +
    +
    + {{range .PackageDescriptor.Metadata.Dependencies}} +
    + {{svg "octicon-package-dependencies" 16 ""}} +
    +
    {{.GroupID}}:{{.ArtifactID}}
    +
    {{.Version}}
    +
    +
    + {{end}} +
    +
    + {{end}} +{{end}} diff --git a/data/gitea/templates/package/content/npm.tmpl b/data/gitea/templates/package/content/npm.tmpl new file mode 100644 index 0000000..a78a07d --- /dev/null +++ b/data/gitea/templates/package/content/npm.tmpl @@ -0,0 +1,56 @@ +{{if eq .PackageDescriptor.Package.Type "npm"}} +

    {{ctx.Locale.Tr "packages.installation"}}

    +
    +
    +
    + +
    {{if .PackageDescriptor.Metadata.Scope}}{{.PackageDescriptor.Metadata.Scope}}:{{end}}registry=
    +
    +
    + +
    npm install {{.PackageDescriptor.Package.Name}}@{{.PackageDescriptor.Version.Version}}
    +
    +
    + +
    "{{.PackageDescriptor.Package.Name}}": "{{.PackageDescriptor.Version.Version}}"
    +
    +
    + +
    +
    +
    + + {{if or .PackageDescriptor.Metadata.Description .PackageDescriptor.Metadata.Readme}} +

    {{ctx.Locale.Tr "packages.about"}}

    +
    + {{if .PackageDescriptor.Metadata.Readme}} +
    + {{RenderMarkdownToHtml $.Context .PackageDescriptor.Metadata.Readme}} +
    + {{else if .PackageDescriptor.Metadata.Description}} + {{.PackageDescriptor.Metadata.Description}} + {{end}} +
    + {{end}} + + {{if or .PackageDescriptor.Metadata.Dependencies .PackageDescriptor.Metadata.DevelopmentDependencies .PackageDescriptor.Metadata.PeerDependencies .PackageDescriptor.Metadata.OptionalDependencies}} +

    {{ctx.Locale.Tr "packages.dependencies"}}

    +
    +
    + {{template "package/content/npm_dependencies" dict "root" $ "dependencies" .PackageDescriptor.Metadata.Dependencies "title" (ctx.Locale.Tr "packages.npm.dependencies")}} + {{template "package/content/npm_dependencies" dict "root" $ "dependencies" .PackageDescriptor.Metadata.DevelopmentDependencies "title" (ctx.Locale.Tr "packages.npm.dependencies.development")}} + {{template "package/content/npm_dependencies" dict "root" $ "dependencies" .PackageDescriptor.Metadata.PeerDependencies "title" (ctx.Locale.Tr "packages.npm.dependencies.peer")}} + {{template "package/content/npm_dependencies" dict "root" $ "dependencies" .PackageDescriptor.Metadata.OptionalDependencies "title" (ctx.Locale.Tr "packages.npm.dependencies.optional")}} +
    +
    + {{end}} + + {{if .PackageDescriptor.Metadata.Keywords}} +

    {{ctx.Locale.Tr "packages.keywords"}}

    +
    + {{range .PackageDescriptor.Metadata.Keywords}} + {{.}} + {{end}} +
    + {{end}} +{{end}} diff --git a/data/gitea/templates/package/content/npm_dependencies.tmpl b/data/gitea/templates/package/content/npm_dependencies.tmpl new file mode 100644 index 0000000..dba4575 --- /dev/null +++ b/data/gitea/templates/package/content/npm_dependencies.tmpl @@ -0,0 +1,19 @@ +{{if .dependencies}} +

    {{.title}}

    + + + + + + + + + {{range $dependency, $version := .dependencies}} + + + + + {{end}} + +
    {{ctx.Locale.Tr "packages.dependency.id"}}{{ctx.Locale.Tr "packages.dependency.version"}}
    {{$dependency}}{{$version}}
    +{{end}} diff --git a/data/gitea/templates/package/content/nuget.tmpl b/data/gitea/templates/package/content/nuget.tmpl new file mode 100644 index 0000000..f1fe420 --- /dev/null +++ b/data/gitea/templates/package/content/nuget.tmpl @@ -0,0 +1,51 @@ +{{if eq .PackageDescriptor.Package.Type "nuget"}} +

    {{ctx.Locale.Tr "packages.installation"}}

    +
    +
    +
    + +
    dotnet nuget add source --name {{.PackageDescriptor.Owner.Name}} --username your_username --password your_token 
    +
    +
    + +
    dotnet add package --source {{.PackageDescriptor.Owner.Name}} --version {{.PackageDescriptor.Version.Version}} {{.PackageDescriptor.Package.Name}}
    +
    +
    + +
    +
    +
    + + {{if or .PackageDescriptor.Metadata.Description .PackageDescriptor.Metadata.ReleaseNotes .PackageDescriptor.Metadata.Readme}} +

    {{ctx.Locale.Tr "packages.about"}}

    + {{if .PackageDescriptor.Metadata.Description}}
    {{RenderMarkdownToHtml $.Context .PackageDescriptor.Metadata.Description}}
    {{end}} + {{if .PackageDescriptor.Metadata.Readme}}
    {{RenderMarkdownToHtml $.Context .PackageDescriptor.Metadata.Readme}}
    {{end}} + {{if .PackageDescriptor.Metadata.ReleaseNotes}}
    {{RenderMarkdownToHtml $.Context .PackageDescriptor.Metadata.ReleaseNotes}}
    {{end}} + {{end}} + + {{if .PackageDescriptor.Metadata.Dependencies}} +

    {{ctx.Locale.Tr "packages.dependencies"}}

    +
    + + + + + + + + + + {{range $framework, $dependencies := .PackageDescriptor.Metadata.Dependencies}} + {{range $dependencies}} + + + + + + {{end}} + {{end}} + +
    {{ctx.Locale.Tr "packages.dependency.id"}}{{ctx.Locale.Tr "packages.dependency.version"}}{{ctx.Locale.Tr "packages.nuget.dependency.framework"}}
    {{.ID}}{{.Version}}{{$framework}}
    +
    + {{end}} +{{end}} diff --git a/data/gitea/templates/package/content/pub.tmpl b/data/gitea/templates/package/content/pub.tmpl new file mode 100644 index 0000000..f2c7ac9 --- /dev/null +++ b/data/gitea/templates/package/content/pub.tmpl @@ -0,0 +1,19 @@ +{{if eq .PackageDescriptor.Package.Type "pub"}} +

    {{ctx.Locale.Tr "packages.installation"}}

    +
    +
    +
    + +
    dart pub add {{.PackageDescriptor.Package.Name}}:{{.PackageDescriptor.Version.Version}} --hosted-url=
    +
    +
    + +
    +
    +
    + {{if or .PackageDescriptor.Metadata.Description .PackageDescriptor.Metadata.Readme}} +

    {{ctx.Locale.Tr "packages.about"}}

    + {{if .PackageDescriptor.Metadata.Description}}
    {{.PackageDescriptor.Metadata.Description}}
    {{end}} + {{if .PackageDescriptor.Metadata.Readme}}
    {{RenderMarkdownToHtml $.Context .PackageDescriptor.Metadata.Readme}}
    {{end}} + {{end}} +{{end}} diff --git a/data/gitea/templates/package/content/pypi.tmpl b/data/gitea/templates/package/content/pypi.tmpl new file mode 100644 index 0000000..817fced --- /dev/null +++ b/data/gitea/templates/package/content/pypi.tmpl @@ -0,0 +1,31 @@ +{{if eq .PackageDescriptor.Package.Type "pypi"}} +

    {{ctx.Locale.Tr "packages.installation"}}

    +
    +
    +
    + +
    pip install --index-url  {{.PackageDescriptor.Package.Name}}
    +
    +
    + +
    +
    +
    + {{if or .PackageDescriptor.Metadata.Description .PackageDescriptor.Metadata.LongDescription .PackageDescriptor.Metadata.Summary}} +

    {{ctx.Locale.Tr "packages.about"}}

    +
    +

    {{if .PackageDescriptor.Metadata.Summary}}{{.PackageDescriptor.Metadata.Summary}}{{end}}

    + {{if .PackageDescriptor.Metadata.LongDescription}} + {{RenderMarkdownToHtml $.Context .PackageDescriptor.Metadata.LongDescription}} + {{else if .PackageDescriptor.Metadata.Description}} + {{RenderMarkdownToHtml $.Context .PackageDescriptor.Metadata.Description}} + {{end}} +
    + {{end}} + {{if .PackageDescriptor.Metadata.RequiresPython}} +

    {{ctx.Locale.Tr "packages.requirements"}}

    +
    + {{ctx.Locale.Tr "packages.pypi.requires"}}: {{.PackageDescriptor.Metadata.RequiresPython}} +
    + {{end}} +{{end}} diff --git a/data/gitea/templates/package/content/rpm.tmpl b/data/gitea/templates/package/content/rpm.tmpl new file mode 100644 index 0000000..3faa8a0 --- /dev/null +++ b/data/gitea/templates/package/content/rpm.tmpl @@ -0,0 +1,56 @@ +{{if eq .PackageDescriptor.Package.Type "rpm"}} +

    {{ctx.Locale.Tr "packages.installation"}}

    +
    +
    +
    + +
    {{- if gt (len .Groups) 1 -}}
    +# {{ctx.Locale.Tr "packages.rpm.repository.multiple_groups"}}
    +
    +{{end -}}
    +# {{ctx.Locale.Tr "packages.rpm.distros.redhat"}}
    +{{- range $group := .Groups}}
    +	{{- if $group}}{{$group = print "/" $group}}{{end}}
    +dnf config-manager --add-repo 
    +{{- end}}
    +
    +# {{ctx.Locale.Tr "packages.rpm.distros.suse"}}
    +{{- range $group := .Groups}}
    +	{{- if $group}}{{$group = print "/" $group}}{{end}}
    +zypper addrepo 
    +{{- end}}
    +
    +
    + +
    +
    # {{ctx.Locale.Tr "packages.rpm.distros.redhat"}}
    +dnf install {{$.PackageDescriptor.Package.Name}}
    +
    +# {{ctx.Locale.Tr "packages.rpm.distros.suse"}}
    +zypper install {{$.PackageDescriptor.Package.Name}}
    +
    +
    +
    + +
    +
    +
    + +

    {{ctx.Locale.Tr "packages.rpm.repository"}}

    +
    + + + + + + + +
    {{ctx.Locale.Tr "packages.rpm.repository.architectures"}}
    {{StringUtils.Join .Architectures ", "}}
    +
    + + {{if or .PackageDescriptor.Metadata.Summary .PackageDescriptor.Metadata.Description}} +

    {{ctx.Locale.Tr "packages.about"}}

    + {{if .PackageDescriptor.Metadata.Summary}}
    {{.PackageDescriptor.Metadata.Summary}}
    {{end}} + {{if .PackageDescriptor.Metadata.Description}}
    {{.PackageDescriptor.Metadata.Description}}
    {{end}} + {{end}} +{{end}} diff --git a/data/gitea/templates/package/content/rubygems.tmpl b/data/gitea/templates/package/content/rubygems.tmpl new file mode 100644 index 0000000..610dfc7 --- /dev/null +++ b/data/gitea/templates/package/content/rubygems.tmpl @@ -0,0 +1,40 @@ +{{if eq .PackageDescriptor.Package.Type "rubygems"}} +

    {{ctx.Locale.Tr "packages.installation"}}

    +
    +
    +
    + +
    gem install {{.PackageDescriptor.Package.Name}} --version "{{.PackageDescriptor.Version.Version}}" --source ""
    +
    +
    + +
    source "" do
    +	gem "{{.PackageDescriptor.Package.Name}}", "{{.PackageDescriptor.Version.Version}}"
    +end
    +
    +
    + +
    +
    +
    + {{if .PackageDescriptor.Metadata.Description}} +

    {{ctx.Locale.Tr "packages.about"}}

    +
    {{.PackageDescriptor.Metadata.Description}}
    + {{end}} + {{if or .PackageDescriptor.Metadata.RequiredRubyVersion .PackageDescriptor.Metadata.RequiredRubygemsVersion}} +

    {{ctx.Locale.Tr "packages.requirements"}}

    +
    + {{if .PackageDescriptor.Metadata.RequiredRubyVersion}}

    {{ctx.Locale.Tr "packages.rubygems.required.ruby"}}: {{range $i, $v := .PackageDescriptor.Metadata.RequiredRubyVersion}}{{if gt $i 0}}, {{end}}{{$v.Restriction}}{{$v.Version}}{{end}}

    {{end}} + {{if .PackageDescriptor.Metadata.RequiredRubygemsVersion}}

    {{ctx.Locale.Tr "packages.rubygems.required.rubygems"}}: {{range $i, $v := .PackageDescriptor.Metadata.RequiredRubygemsVersion}}{{if gt $i 0}}, {{end}}{{$v.Restriction}}{{$v.Version}}{{end}}

    {{end}} +
    + {{end}} + {{if or .PackageDescriptor.Metadata.RuntimeDependencies .PackageDescriptor.Metadata.DevelopmentDependencies}} +

    {{ctx.Locale.Tr "packages.dependencies"}}

    +
    +
    + {{template "package/content/rubygems_dependencies" dict "root" $ "dependencies" .PackageDescriptor.Metadata.RuntimeDependencies "title" (ctx.Locale.Tr "packages.rubygems.dependencies.runtime")}} + {{template "package/content/rubygems_dependencies" dict "root" $ "dependencies" .PackageDescriptor.Metadata.DevelopmentDependencies "title" (ctx.Locale.Tr "packages.rubygems.dependencies.development")}} +
    +
    + {{end}} +{{end}} diff --git a/data/gitea/templates/package/content/rubygems_dependencies.tmpl b/data/gitea/templates/package/content/rubygems_dependencies.tmpl new file mode 100644 index 0000000..2c42dce --- /dev/null +++ b/data/gitea/templates/package/content/rubygems_dependencies.tmpl @@ -0,0 +1,19 @@ +{{if .dependencies}} +

    {{.title}}

    + + + + + + + + + {{range .dependencies}} + + + + + {{end}} + +
    {{ctx.Locale.Tr "packages.dependency.id"}}{{ctx.Locale.Tr "packages.dependency.version"}}
    {{.Name}}{{range $i, $v := .Version}}{{if gt $i 0}}, {{end}}{{$v.Restriction}}{{$v.Version}}{{end}}
    +{{end}} diff --git a/data/gitea/templates/package/content/swift.tmpl b/data/gitea/templates/package/content/swift.tmpl new file mode 100644 index 0000000..aacbc83 --- /dev/null +++ b/data/gitea/templates/package/content/swift.tmpl @@ -0,0 +1,40 @@ +{{if eq .PackageDescriptor.Package.Type "swift"}} +

    {{ctx.Locale.Tr "packages.installation"}}

    +
    +
    +
    + +
    swift package-registry set 
    +
    +
    + +
    dependencies: [
    +	.package(id: "{{.PackageDescriptor.Package.Name}}", from:"{{.PackageDescriptor.Version.Version}}")
    +]
    +
    +
    + +
    swift package resolve
    +
    +
    + +
    +
    +
    + + {{if .PackageDescriptor.Metadata.Description}} +

    {{ctx.Locale.Tr "packages.about"}}

    +
    + {{if .PackageDescriptor.Metadata.Description}}{{.PackageDescriptor.Metadata.Description}}{{end}} +
    + {{end}} + + {{if .PackageDescriptor.Metadata.Keywords}} +

    {{ctx.Locale.Tr "packages.keywords"}}

    +
    + {{range .PackageDescriptor.Metadata.Keywords}} + {{.}} + {{end}} +
    + {{end}} +{{end}} diff --git a/data/gitea/templates/package/content/vagrant.tmpl b/data/gitea/templates/package/content/vagrant.tmpl new file mode 100644 index 0000000..7666284 --- /dev/null +++ b/data/gitea/templates/package/content/vagrant.tmpl @@ -0,0 +1,18 @@ +{{if eq .PackageDescriptor.Package.Type "vagrant"}} +

    {{ctx.Locale.Tr "packages.installation"}}

    +
    +
    +
    + +
    vagrant box add --box-version {{.PackageDescriptor.Version.Version}} ""
    +
    +
    + +
    +
    +
    + {{if .PackageDescriptor.Metadata.Description}} +

    {{ctx.Locale.Tr "packages.about"}}

    +
    {{.PackageDescriptor.Metadata.Description}}
    + {{end}} +{{end}} diff --git a/data/gitea/templates/package/metadata/alpine.tmpl b/data/gitea/templates/package/metadata/alpine.tmpl new file mode 100644 index 0000000..3e7f10f --- /dev/null +++ b/data/gitea/templates/package/metadata/alpine.tmpl @@ -0,0 +1,5 @@ +{{if eq .PackageDescriptor.Package.Type "alpine"}} + {{if .PackageDescriptor.Metadata.Maintainer}}
    {{svg "octicon-person" 16 "mr-3"}} {{.PackageDescriptor.Metadata.Maintainer}}
    {{end}} + {{if .PackageDescriptor.Metadata.ProjectURL}}
    {{svg "octicon-link-external" 16 "mr-3"}} {{ctx.Locale.Tr "packages.details.project_site"}}
    {{end}} + {{if .PackageDescriptor.Metadata.License}}
    {{svg "octicon-law" 16 "tw-mr-2"}} {{.PackageDescriptor.Metadata.License}}
    {{end}} +{{end}} diff --git a/data/gitea/templates/package/metadata/cargo.tmpl b/data/gitea/templates/package/metadata/cargo.tmpl new file mode 100644 index 0000000..5ad3c20 --- /dev/null +++ b/data/gitea/templates/package/metadata/cargo.tmpl @@ -0,0 +1,7 @@ +{{if eq .PackageDescriptor.Package.Type "cargo"}} + {{range .PackageDescriptor.Metadata.Authors}}
    {{svg "octicon-person" 16 "tw-mr-2"}} {{.}}
    {{end}} + {{if .PackageDescriptor.Metadata.ProjectURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.project_site"}}
    {{end}} + {{if .PackageDescriptor.Metadata.RepositoryURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.repository_site"}}
    {{end}} + {{if .PackageDescriptor.Metadata.DocumentationURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.documentation_site"}}
    {{end}} + {{if .PackageDescriptor.Metadata.License}}
    {{svg "octicon-law" 16 "tw-mr-2"}} {{.PackageDescriptor.Metadata.License}}
    {{end}} +{{end}} diff --git a/data/gitea/templates/package/metadata/chef.tmpl b/data/gitea/templates/package/metadata/chef.tmpl new file mode 100644 index 0000000..23a9ce3 --- /dev/null +++ b/data/gitea/templates/package/metadata/chef.tmpl @@ -0,0 +1,5 @@ +{{if eq .PackageDescriptor.Package.Type "chef"}} + {{if .PackageDescriptor.Metadata.Author}}
    {{svg "octicon-person" 16 "tw-mr-2"}} {{.PackageDescriptor.Metadata.Author}}
    {{end}} + {{if .PackageDescriptor.Metadata.RepositoryURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.repository_site"}}
    {{end}} + {{if .PackageDescriptor.Metadata.License}}
    {{svg "octicon-law" 16 "tw-mr-2"}} {{.PackageDescriptor.Metadata.License}}
    {{end}} +{{end}} diff --git a/data/gitea/templates/package/metadata/composer.tmpl b/data/gitea/templates/package/metadata/composer.tmpl new file mode 100644 index 0000000..0f6ff9d --- /dev/null +++ b/data/gitea/templates/package/metadata/composer.tmpl @@ -0,0 +1,5 @@ +{{if eq .PackageDescriptor.Package.Type "composer"}} + {{range .PackageDescriptor.Metadata.Authors}}
    {{svg "octicon-person" 16 "tw-mr-2"}} {{.Name}}
    {{end}} + {{if .PackageDescriptor.Metadata.Homepage}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.project_site"}}
    {{end}} + {{range .PackageDescriptor.Metadata.License}}
    {{svg "octicon-law" 16 "tw-mr-2"}} {{.}}
    {{end}} +{{end}} diff --git a/data/gitea/templates/package/metadata/conan.tmpl b/data/gitea/templates/package/metadata/conan.tmpl new file mode 100644 index 0000000..4e05ec2 --- /dev/null +++ b/data/gitea/templates/package/metadata/conan.tmpl @@ -0,0 +1,6 @@ +{{if eq .PackageDescriptor.Package.Type "conan"}} + {{if .PackageDescriptor.Metadata.Author}}
    {{svg "octicon-person" 16 "tw-mr-2"}} {{.PackageDescriptor.Metadata.Author}}
    {{end}} + {{if .PackageDescriptor.Metadata.ProjectURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.project_site"}}
    {{end}} + {{if .PackageDescriptor.Metadata.License}}
    {{svg "octicon-law" 16 "tw-mr-2"}} {{.PackageDescriptor.Metadata.License}}
    {{end}} + {{if .PackageDescriptor.Metadata.RepositoryURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.repository_site"}}
    {{end}} +{{end}} diff --git a/data/gitea/templates/package/metadata/conda.tmpl b/data/gitea/templates/package/metadata/conda.tmpl new file mode 100644 index 0000000..3628686 --- /dev/null +++ b/data/gitea/templates/package/metadata/conda.tmpl @@ -0,0 +1,6 @@ +{{if eq .PackageDescriptor.Package.Type "conda"}} + {{if .PackageDescriptor.Metadata.License}}
    {{svg "octicon-law" 16 "tw-mr-2"}} {{.PackageDescriptor.Metadata.License}}
    {{end}} + {{if .PackageDescriptor.Metadata.ProjectURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.project_site"}}
    {{end}} + {{if .PackageDescriptor.Metadata.RepositoryURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.repository_site"}}
    {{end}} + {{if .PackageDescriptor.Metadata.DocumentationURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.documentation_site"}}
    {{end}} +{{end}} diff --git a/data/gitea/templates/package/metadata/container.tmpl b/data/gitea/templates/package/metadata/container.tmpl new file mode 100644 index 0000000..f5abb7e --- /dev/null +++ b/data/gitea/templates/package/metadata/container.tmpl @@ -0,0 +1,9 @@ +{{if eq .PackageDescriptor.Package.Type "container"}} +
    {{svg "octicon-package" 16 "tw-mr-2"}} {{.PackageDescriptor.Metadata.Type.Name}}
    + {{if .PackageDescriptor.Metadata.Platform}}
    {{svg "octicon-cpu" 16 "tw-mr-2"}} {{.PackageDescriptor.Metadata.Platform}}
    {{end}} + {{range .PackageDescriptor.Metadata.Authors}}
    {{svg "octicon-person" 16 "tw-mr-2"}} {{.}}
    {{end}} + {{if .PackageDescriptor.Metadata.Licenses}}
    {{svg "octicon-law" 16 "tw-mr-2"}} {{.PackageDescriptor.Metadata.Licenses}}
    {{end}} + {{if .PackageDescriptor.Metadata.ProjectURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.project_site"}}
    {{end}} + {{if .PackageDescriptor.Metadata.RepositoryURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.repository_site"}}
    {{end}} + {{if .PackageDescriptor.Metadata.DocumentationURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.documentation_site"}}
    {{end}} +{{end}} diff --git a/data/gitea/templates/package/metadata/cran.tmpl b/data/gitea/templates/package/metadata/cran.tmpl new file mode 100644 index 0000000..1d5a11e --- /dev/null +++ b/data/gitea/templates/package/metadata/cran.tmpl @@ -0,0 +1,5 @@ +{{if eq .PackageDescriptor.Package.Type "cran"}} + {{if .PackageDescriptor.Metadata.License}}
    {{svg "octicon-law" 16 "mr-3"}} {{.PackageDescriptor.Metadata.License}}
    {{end}} + {{range .PackageDescriptor.Metadata.Authors}}
    {{svg "octicon-person" 16 "mr-3"}} {{.}}
    {{end}} + {{range .PackageDescriptor.Metadata.ProjectURL}}
    {{svg "octicon-link-external" 16 "mr-3"}} {{ctx.Locale.Tr "packages.details.project_site"}}
    {{end}} +{{end}} diff --git a/data/gitea/templates/package/metadata/debian.tmpl b/data/gitea/templates/package/metadata/debian.tmpl new file mode 100644 index 0000000..3cd845c --- /dev/null +++ b/data/gitea/templates/package/metadata/debian.tmpl @@ -0,0 +1,4 @@ +{{if eq .PackageDescriptor.Package.Type "debian"}} + {{if .PackageDescriptor.Metadata.Maintainer}}
    {{svg "octicon-person" 16 "mr-3"}} {{.PackageDescriptor.Metadata.Maintainer}}
    {{end}} + {{if .PackageDescriptor.Metadata.ProjectURL}}
    {{svg "octicon-link-external" 16 "mr-3"}} {{ctx.Locale.Tr "packages.details.project_site"}}
    {{end}} +{{end}} diff --git a/data/gitea/templates/package/metadata/generic.tmpl b/data/gitea/templates/package/metadata/generic.tmpl new file mode 100644 index 0000000..e69de29 diff --git a/data/gitea/templates/package/metadata/helm.tmpl b/data/gitea/templates/package/metadata/helm.tmpl new file mode 100644 index 0000000..50ea484 --- /dev/null +++ b/data/gitea/templates/package/metadata/helm.tmpl @@ -0,0 +1,4 @@ +{{if eq .PackageDescriptor.Package.Type "helm"}} + {{range .PackageDescriptor.Metadata.Maintainers}}
    {{svg "octicon-person" 16 "tw-mr-2"}} {{.Name}}
    {{end}} + {{if .PackageDescriptor.Metadata.Home}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.project_site"}}
    {{end}} +{{end}} diff --git a/data/gitea/templates/package/metadata/maven.tmpl b/data/gitea/templates/package/metadata/maven.tmpl new file mode 100644 index 0000000..3641272 --- /dev/null +++ b/data/gitea/templates/package/metadata/maven.tmpl @@ -0,0 +1,8 @@ +{{if and (eq .PackageDescriptor.Package.Type "maven") (not .PackageDescriptor.Metadata)}} +
    {{svg "octicon-note" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.no_metadata"}}
    +{{end}} +{{if and (eq .PackageDescriptor.Package.Type "maven") .PackageDescriptor.Metadata}} + {{if .PackageDescriptor.Metadata.Name}}
    {{svg "octicon-note" 16 "tw-mr-2"}} {{.PackageDescriptor.Metadata.Name}}
    {{end}} + {{if .PackageDescriptor.Metadata.ProjectURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.project_site"}}
    {{end}} + {{range .PackageDescriptor.Metadata.Licenses}}
    {{svg "octicon-law" 16 "tw-mr-2"}} {{.}}
    {{end}} +{{end}} diff --git a/data/gitea/templates/package/metadata/npm.tmpl b/data/gitea/templates/package/metadata/npm.tmpl new file mode 100644 index 0000000..df37504 --- /dev/null +++ b/data/gitea/templates/package/metadata/npm.tmpl @@ -0,0 +1,8 @@ +{{if eq .PackageDescriptor.Package.Type "npm"}} + {{if .PackageDescriptor.Metadata.Author}}
    {{svg "octicon-person" 16 "tw-mr-2"}} {{.PackageDescriptor.Metadata.Author}}
    {{end}} + {{if .PackageDescriptor.Metadata.ProjectURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.project_site"}}
    {{end}} + {{if .PackageDescriptor.Metadata.License}}
    {{svg "octicon-law" 16 "tw-mr-2"}} {{.PackageDescriptor.Metadata.License}}
    {{end}} + {{range .PackageDescriptor.VersionProperties}} + {{if eq .Name "npm.tag"}}
    {{svg "octicon-versions" 16 "tw-mr-2"}} {{.Value}}
    {{end}} + {{end}} +{{end}} diff --git a/data/gitea/templates/package/metadata/nuget.tmpl b/data/gitea/templates/package/metadata/nuget.tmpl new file mode 100644 index 0000000..5534577 --- /dev/null +++ b/data/gitea/templates/package/metadata/nuget.tmpl @@ -0,0 +1,5 @@ +{{if eq .PackageDescriptor.Package.Type "nuget"}} + {{if .PackageDescriptor.Metadata.Authors}}
    {{svg "octicon-person" 16 "tw-mr-2"}} {{.PackageDescriptor.Metadata.Authors}}
    {{end}} + {{if .PackageDescriptor.Metadata.ProjectURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.project_site"}}
    {{end}} + {{if .PackageDescriptor.Metadata.RepositoryURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.repository_site"}}
    {{end}} +{{end}} diff --git a/data/gitea/templates/package/metadata/pub.tmpl b/data/gitea/templates/package/metadata/pub.tmpl new file mode 100644 index 0000000..16f7cec --- /dev/null +++ b/data/gitea/templates/package/metadata/pub.tmpl @@ -0,0 +1,5 @@ +{{if eq .PackageDescriptor.Package.Type "pub"}} + {{if .PackageDescriptor.Metadata.ProjectURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.project_site"}}
    {{end}} + {{if .PackageDescriptor.Metadata.RepositoryURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.repository_site"}}
    {{end}} + {{if .PackageDescriptor.Metadata.DocumentationURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.documentation_site"}}
    {{end}} +{{end}} diff --git a/data/gitea/templates/package/metadata/pypi.tmpl b/data/gitea/templates/package/metadata/pypi.tmpl new file mode 100644 index 0000000..3d9b213 --- /dev/null +++ b/data/gitea/templates/package/metadata/pypi.tmpl @@ -0,0 +1,5 @@ +{{if eq .PackageDescriptor.Package.Type "pypi"}} + {{if .PackageDescriptor.Metadata.Author}}
    {{svg "octicon-person" 16 "tw-mr-2"}} {{.PackageDescriptor.Metadata.Author}}
    {{end}} + {{if .PackageDescriptor.Metadata.ProjectURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.project_site"}}
    {{end}} + {{if .PackageDescriptor.Metadata.License}}
    {{svg "octicon-law" 16 "tw-mr-2"}} {{.PackageDescriptor.Metadata.License}}
    {{end}} +{{end}} diff --git a/data/gitea/templates/package/metadata/rpm.tmpl b/data/gitea/templates/package/metadata/rpm.tmpl new file mode 100644 index 0000000..eda8a48 --- /dev/null +++ b/data/gitea/templates/package/metadata/rpm.tmpl @@ -0,0 +1,4 @@ +{{if eq .PackageDescriptor.Package.Type "rpm"}} + {{if .PackageDescriptor.Metadata.ProjectURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.project_site"}}
    {{end}} + {{if .PackageDescriptor.Metadata.License}}
    {{svg "octicon-law" 16 "tw-mr-2"}} {{.PackageDescriptor.Metadata.License}}
    {{end}} +{{end}} diff --git a/data/gitea/templates/package/metadata/rubygems.tmpl b/data/gitea/templates/package/metadata/rubygems.tmpl new file mode 100644 index 0000000..9b11287 --- /dev/null +++ b/data/gitea/templates/package/metadata/rubygems.tmpl @@ -0,0 +1,5 @@ +{{if eq .PackageDescriptor.Package.Type "rubygems"}} + {{range .PackageDescriptor.Metadata.Authors}}
    {{svg "octicon-person" 16 "tw-mr-2"}} {{.}}
    {{end}} + {{if .PackageDescriptor.Metadata.ProjectURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.project_site"}}
    {{end}} + {{range .PackageDescriptor.Metadata.Licenses}}
    {{svg "octicon-law" 16 "tw-mr-2"}} {{.}}
    {{end}} +{{end}} diff --git a/data/gitea/templates/package/metadata/swift.tmpl b/data/gitea/templates/package/metadata/swift.tmpl new file mode 100644 index 0000000..fdffb6d --- /dev/null +++ b/data/gitea/templates/package/metadata/swift.tmpl @@ -0,0 +1,4 @@ +{{if eq .PackageDescriptor.Package.Type "swift"}} + {{if .PackageDescriptor.Metadata.Author.String}}
    {{svg "octicon-person" 16 "mr-3"}} {{.PackageDescriptor.Metadata.Author}}
    {{end}} + {{if .PackageDescriptor.Metadata.RepositoryURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.repository_site"}}
    {{end}} +{{end}} diff --git a/data/gitea/templates/package/metadata/vagrant.tmpl b/data/gitea/templates/package/metadata/vagrant.tmpl new file mode 100644 index 0000000..4628a2d --- /dev/null +++ b/data/gitea/templates/package/metadata/vagrant.tmpl @@ -0,0 +1,5 @@ +{{if eq .PackageDescriptor.Package.Type "vagrant"}} + {{if .PackageDescriptor.Metadata.Author}}
    {{svg "octicon-person" 16 "tw-mr-2"}} {{.PackageDescriptor.Metadata.Author}}
    {{end}} + {{if .PackageDescriptor.Metadata.ProjectURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.project_site"}}
    {{end}} + {{if .PackageDescriptor.Metadata.RepositoryURL}}
    {{svg "octicon-link-external" 16 "tw-mr-2"}} {{ctx.Locale.Tr "packages.details.repository_site"}}
    {{end}} +{{end}} diff --git a/data/gitea/templates/package/settings.tmpl b/data/gitea/templates/package/settings.tmpl new file mode 100644 index 0000000..9424baf --- /dev/null +++ b/data/gitea/templates/package/settings.tmpl @@ -0,0 +1,77 @@ +{{template "base/head" .}} +
    + {{if .ContextUser.IsOrganization}} + {{template "org/header" .}} + {{else}} + {{template "shared/user/org_profile_avatar" .}} + {{end}} +
    + {{if not .ContextUser.IsOrganization}} + {{template "user/overview/header" .}} + {{end}} + {{template "base/alert" .}} +

    {{.PackageDescriptor.Package.Name}} ({{.PackageDescriptor.Version.Version}}) / {{ctx.Locale.Tr "repo.settings"}}

    +

    + {{ctx.Locale.Tr "packages.settings.link"}} +

    +
    +

    {{ctx.Locale.Tr "packages.settings.link.description"}}

    +
    + {{template "base/disable_form_autofill"}} + {{.CsrfTokenHtml}} + +
    + +
    +
    + +
    +
    +
    +

    + {{ctx.Locale.Tr "repo.settings.danger_zone"}} +

    +
    +
    +
    +
    +
    {{ctx.Locale.Tr "packages.settings.delete"}}
    +
    {{ctx.Locale.Tr "packages.settings.delete.description"}}
    +
    +
    + +
    + +
    +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/package/shared/cargo.tmpl b/data/gitea/templates/package/shared/cargo.tmpl new file mode 100644 index 0000000..7652231 --- /dev/null +++ b/data/gitea/templates/package/shared/cargo.tmpl @@ -0,0 +1,24 @@ +

    + {{ctx.Locale.Tr "packages.owner.settings.cargo.title"}} +

    +
    +
    +
    + +
    +
    + {{.CsrfTokenHtml}} + +
    +
    + +
    +
    + {{.CsrfTokenHtml}} + +
    +
    + +
    +
    +
    diff --git a/data/gitea/templates/package/shared/cleanup_rules/edit.tmpl b/data/gitea/templates/package/shared/cleanup_rules/edit.tmpl new file mode 100644 index 0000000..138a907 --- /dev/null +++ b/data/gitea/templates/package/shared/cleanup_rules/edit.tmpl @@ -0,0 +1,73 @@ +

    {{if .IsEditRule}}{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.edit"}}{{else}}{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.add"}}{{end}}

    +
    +
    + {{.CsrfTokenHtml}} + +
    +
    + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    +
    +

    {{ctx.Locale.Tr "packages.owner.settings.cleanuprules.keep.title"}}

    +
    + + +
    +
    + + +

    {{ctx.Locale.Tr "packages.owner.settings.cleanuprules.keep.pattern.container"}}

    +
    +
    +

    {{ctx.Locale.Tr "packages.owner.settings.cleanuprules.remove.title"}}

    +
    + + +
    +
    + + +
    +
    + {{if .IsEditRule}} + + + {{ctx.Locale.Tr "packages.owner.settings.cleanuprules.preview"}} + {{else}} + + {{end}} +
    +
    +
    diff --git a/data/gitea/templates/package/shared/cleanup_rules/list.tmpl b/data/gitea/templates/package/shared/cleanup_rules/list.tmpl new file mode 100644 index 0000000..6505c8f --- /dev/null +++ b/data/gitea/templates/package/shared/cleanup_rules/list.tmpl @@ -0,0 +1,56 @@ +

    + {{ctx.Locale.Tr "packages.owner.settings.cleanuprules.title"}} + +

    +
    +
    + {{range .CleanupRules}} +
    +
    + {{svg .Type.SVGName 32}} +
    +
    + +
    + {{if .Enabled}}{{ctx.Locale.Tr "enabled"}}{{else}}{{ctx.Locale.Tr "disabled"}}{{end}} +
    + {{if .KeepCount}} +
    + {{ctx.Locale.Tr "packages.owner.settings.cleanuprules.keep.count"}}: {{if eq .KeepCount 1}}{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.keep.count.1"}}{{else}}{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.keep.count.n" .KeepCount}}{{end}} +
    + {{end}} + {{if .KeepPattern}} +
    + {{ctx.Locale.Tr "packages.owner.settings.cleanuprules.keep.pattern"}}: {{StringUtils.EllipsisString .KeepPattern 100}} +
    + {{end}} + {{if .RemoveDays}} +
    + {{ctx.Locale.Tr "packages.owner.settings.cleanuprules.remove.days"}}: {{ctx.Locale.Tr "tool.days" .RemoveDays}} +
    + {{end}} + {{if .RemovePattern}} +
    + {{ctx.Locale.Tr "packages.owner.settings.cleanuprules.remove.pattern"}}: {{StringUtils.EllipsisString .RemovePattern 100}} +
    + {{end}} +
    + +
    + {{else}} +
    {{ctx.Locale.Tr "packages.owner.settings.cleanuprules.none"}}
    + {{end}} +
    +
    diff --git a/data/gitea/templates/package/shared/cleanup_rules/preview.tmpl b/data/gitea/templates/package/shared/cleanup_rules/preview.tmpl new file mode 100644 index 0000000..cff8e82 --- /dev/null +++ b/data/gitea/templates/package/shared/cleanup_rules/preview.tmpl @@ -0,0 +1,34 @@ +

    {{ctx.Locale.Tr "packages.owner.settings.cleanuprules.preview"}}

    +
    +

    {{ctx.Locale.Tr "packages.owner.settings.cleanuprules.preview.overview" (len .VersionsToRemove)}}

    +
    +
    + + + + + + + + + + + + + {{range .VersionsToRemove}} + + + + + + + + + {{else}} + + + + {{end}} + +
    {{ctx.Locale.Tr "admin.packages.type"}}{{ctx.Locale.Tr "admin.packages.name"}}{{ctx.Locale.Tr "admin.packages.version"}}{{ctx.Locale.Tr "admin.packages.creator"}}{{ctx.Locale.Tr "admin.packages.size"}}{{ctx.Locale.Tr "admin.packages.published"}}
    {{.Package.Type.Name}}{{.Package.Name}}{{.Version.Version}}{{.Creator.Name}}{{FileSize .CalculateBlobSize}}{{DateTime "short" .Version.CreatedUnix}}
    {{ctx.Locale.Tr "packages.owner.settings.cleanuprules.preview.none"}}
    +
    diff --git a/data/gitea/templates/package/shared/list.tmpl b/data/gitea/templates/package/shared/list.tmpl new file mode 100644 index 0000000..e4e8eca --- /dev/null +++ b/data/gitea/templates/package/shared/list.tmpl @@ -0,0 +1,57 @@ +{{template "base/alert" .}} +{{if .HasPackages}} +
    +
    + {{template "shared/search/input" dict "Value" .Query "Placeholder" (ctx.Locale.Tr "search.package_kind")}} + + {{template "shared/search/button"}} +
    +
    +{{end}} +
    + {{range .PackageDescriptors}} +
    +
    +
    +
    + {{.Package.Name}} + {{svg .Package.Type.SVGName 16}} {{.Package.Type.Name}} +
    +
    + {{$timeStr := TimeSinceUnix .Version.CreatedUnix ctx.Locale}} + {{$hasRepositoryAccess := false}} + {{if .Repository}} + {{$hasRepositoryAccess = index $.RepositoryAccessMap .Repository.ID}} + {{end}} + {{if $hasRepositoryAccess}} + {{ctx.Locale.Tr "packages.published_by_in" $timeStr .Creator.HomeLink .Creator.GetDisplayName .Repository.Link .Repository.FullName}} + {{else}} + {{ctx.Locale.Tr "packages.published_by" $timeStr .Creator.HomeLink .Creator.GetDisplayName}} + {{end}} +
    +
    +
    +
    + {{else}} + {{if not .HasPackages}} +
    + {{svg "octicon-package" 48}} +

    {{ctx.Locale.Tr "packages.empty"}}

    + {{if and .Repository .CanWritePackages}} + {{$packagesUrl := URLJoin .Owner.HomeLink "-" "packages"}} +

    {{ctx.Locale.Tr "packages.empty.repo" $packagesUrl}}

    + {{end}} +

    {{ctx.Locale.Tr "packages.empty.documentation" "https://docs.gitea.com/usage/packages/overview/"}}

    +
    + {{else}} +

    {{ctx.Locale.Tr "packages.filter.no_result"}}

    + {{end}} + {{end}} + {{template "base/paginate" .}} +
    diff --git a/data/gitea/templates/package/shared/versionlist.tmpl b/data/gitea/templates/package/shared/versionlist.tmpl new file mode 100644 index 0000000..e5c568e --- /dev/null +++ b/data/gitea/templates/package/shared/versionlist.tmpl @@ -0,0 +1,37 @@ +

    {{.PackageDescriptor.Package.Name}} / {{ctx.Locale.Tr "packages.versions"}}

    +
    +
    + {{template "shared/search/input" dict "Value" .Query "Placeholder" (ctx.Locale.Tr "search.package_kind")}} + + {{if eq .PackageDescriptor.Package.Type "container"}} + + {{end}} + {{template "shared/search/button"}} +
    +
    +
    + {{range .PackageDescriptors}} +
    +
    +
    + {{.Version.LowerVersion}} +
    + {{ctx.Locale.Tr "packages.published_by" (TimeSinceUnix .Version.CreatedUnix ctx.Locale) .Creator.HomeLink .Creator.GetDisplayName}} +
    +
    +
    +
    + {{else}} +

    {{ctx.Locale.Tr "packages.filter.no_result"}}

    + {{end}} + {{template "base/paginate" .}} +
    diff --git a/data/gitea/templates/package/view.tmpl b/data/gitea/templates/package/view.tmpl new file mode 100644 index 0000000..6beb249 --- /dev/null +++ b/data/gitea/templates/package/view.tmpl @@ -0,0 +1,114 @@ +{{template "base/head" .}} +
    + {{template "shared/user/org_profile_avatar" .}} +
    + {{template "user/overview/header" .}} +
    +
    +

    {{.PackageDescriptor.Package.Name}} ({{.PackageDescriptor.Version.Version}})

    +
    +
    + {{$timeStr := TimeSinceUnix .PackageDescriptor.Version.CreatedUnix ctx.Locale}} + {{if .HasRepositoryAccess}} + {{ctx.Locale.Tr "packages.published_by_in" $timeStr .PackageDescriptor.Creator.HomeLink .PackageDescriptor.Creator.GetDisplayName .PackageDescriptor.Repository.Link .PackageDescriptor.Repository.FullName}} + {{else}} + {{ctx.Locale.Tr "packages.published_by" $timeStr .PackageDescriptor.Creator.HomeLink .PackageDescriptor.Creator.GetDisplayName}} + {{end}} +
    +
    +
    +
    + {{template "package/content/alpine" .}} + {{template "package/content/cargo" .}} + {{template "package/content/chef" .}} + {{template "package/content/composer" .}} + {{template "package/content/conan" .}} + {{template "package/content/conda" .}} + {{template "package/content/container" .}} + {{template "package/content/cran" .}} + {{template "package/content/debian" .}} + {{template "package/content/generic" .}} + {{template "package/content/go" .}} + {{template "package/content/helm" .}} + {{template "package/content/maven" .}} + {{template "package/content/npm" .}} + {{template "package/content/nuget" .}} + {{template "package/content/pub" .}} + {{template "package/content/pypi" .}} + {{template "package/content/rpm" .}} + {{template "package/content/rubygems" .}} + {{template "package/content/swift" .}} + {{template "package/content/vagrant" .}} +
    +
    + {{ctx.Locale.Tr "packages.details"}} +
    +
    {{svg .PackageDescriptor.Package.Type.SVGName 16 "tw-mr-2"}} {{.PackageDescriptor.Package.Type.Name}}
    + {{if .HasRepositoryAccess}} +
    {{svg "octicon-repo" 16 "tw-mr-2"}} {{.PackageDescriptor.Repository.FullName}}
    + {{end}} +
    {{svg "octicon-calendar" 16 "tw-mr-2"}} {{TimeSinceUnix .PackageDescriptor.Version.CreatedUnix ctx.Locale}}
    +
    {{svg "octicon-download" 16 "tw-mr-2"}} {{.PackageDescriptor.Version.DownloadCount}}
    + {{template "package/metadata/alpine" .}} + {{template "package/metadata/cargo" .}} + {{template "package/metadata/chef" .}} + {{template "package/metadata/composer" .}} + {{template "package/metadata/conan" .}} + {{template "package/metadata/conda" .}} + {{template "package/metadata/container" .}} + {{template "package/metadata/cran" .}} + {{template "package/metadata/debian" .}} + {{template "package/metadata/generic" .}} + {{template "package/metadata/helm" .}} + {{template "package/metadata/maven" .}} + {{template "package/metadata/npm" .}} + {{template "package/metadata/nuget" .}} + {{template "package/metadata/pub" .}} + {{template "package/metadata/pypi" .}} + {{template "package/metadata/rpm" .}} + {{template "package/metadata/rubygems" .}} + {{template "package/metadata/swift" .}} + {{template "package/metadata/vagrant" .}} + {{if not (and (eq .PackageDescriptor.Package.Type "container") .PackageDescriptor.Metadata.Manifests)}} +
    {{svg "octicon-database" 16 "tw-mr-2"}} {{FileSize .PackageDescriptor.CalculateBlobSize}}
    + {{end}} +
    + {{if not (eq .PackageDescriptor.Package.Type "container")}} +
    + {{ctx.Locale.Tr "packages.assets"}} ({{len .PackageDescriptor.Files}}) +
    + {{range .PackageDescriptor.Files}} +
    + {{.File.Name}} + {{FileSize .Blob.Size}} +
    + {{end}} +
    + {{end}} +
    + {{ctx.Locale.Tr "packages.versions"}} ({{.TotalVersionCount}}) + {{ctx.Locale.Tr "packages.versions.view_all"}} +
    + {{range .LatestVersions}} +
    + {{.Version}} + {{DateTime "short" .CreatedUnix}} +
    + {{end}} +
    + {{if or .CanWritePackages .HasRepositoryAccess}} +
    +
    + {{if .HasRepositoryAccess}} +
    {{svg "octicon-issue-opened" 16 "tw-mr-2"}} {{ctx.Locale.Tr "repo.issues"}}
    + {{end}} + {{if .CanWritePackages}} +
    {{svg "octicon-tools" 16 "tw-mr-2"}} {{ctx.Locale.Tr "repo.settings"}}
    + {{end}} +
    + {{end}} +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/post-install.tmpl b/data/gitea/templates/post-install.tmpl new file mode 100644 index 0000000..fb23400 --- /dev/null +++ b/data/gitea/templates/post-install.tmpl @@ -0,0 +1,24 @@ +{{template "base/head" .}} +
    +
    +
    +
    +
    +
    +
    +
    + {{ctx.Locale.Tr +
    +
    +
    + +
    +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/projects/list.tmpl b/data/gitea/templates/projects/list.tmpl new file mode 100644 index 0000000..b2f48fe --- /dev/null +++ b/data/gitea/templates/projects/list.tmpl @@ -0,0 +1,93 @@ +{{if and $.CanWriteProjects (not $.Repository.IsArchived)}} + +{{end}} + +{{template "base/alert" .}} + +
    + + + + +
    + +
    + {{range .Projects}} +
  • +

    + {{svg .IconName 16}} + {{.Title}} +

    +
    +
    +
    + {{svg "octicon-issue-opened" 14}} + {{ctx.Locale.PrettyNumber (.NumOpenIssues ctx)}} {{ctx.Locale.Tr "repo.issues.open_title"}} +
    +
    + {{svg "octicon-check" 14}} + {{ctx.Locale.PrettyNumber (.NumClosedIssues ctx)}} {{ctx.Locale.Tr "repo.issues.closed_title"}} +
    +
    + {{if and $.CanWriteProjects (not $.Repository.IsArchived)}} + + {{end}} +
    + {{if .Description}} +
    + {{.RenderedContent}} +
    + {{end}} +
  • + {{end}} + + {{template "base/paginate" .}} +
    + +{{if and $.CanWriteProjects (not $.Repository.IsArchived)}} + +{{end}} diff --git a/data/gitea/templates/projects/new.tmpl b/data/gitea/templates/projects/new.tmpl new file mode 100644 index 0000000..92ee36c --- /dev/null +++ b/data/gitea/templates/projects/new.tmpl @@ -0,0 +1,66 @@ +

    + {{if .PageIsEditProjects}} + {{ctx.Locale.Tr "repo.projects.edit"}} +
    {{ctx.Locale.Tr "repo.projects.edit_subheader"}}
    + {{else}} + {{ctx.Locale.Tr "repo.projects.new"}} +
    {{ctx.Locale.Tr "repo.projects.new_subheader"}}
    + {{end}} +

    +{{template "base/alert" .}} +
    + {{.CsrfTokenHtml}} +
    + +
    + + +
    +
    + + +
    + + {{if not .PageIsEditProjects}} +
    + + +
    + {{end}} + +
    + + +
    +
    +
    +
    + + {{ctx.Locale.Tr "repo.milestones.cancel"}} + + +
    +
    diff --git a/data/gitea/templates/projects/view.tmpl b/data/gitea/templates/projects/view.tmpl new file mode 100644 index 0000000..6d331ca --- /dev/null +++ b/data/gitea/templates/projects/view.tmpl @@ -0,0 +1,176 @@ +{{$canWriteProject := and .CanWriteProjects (or (not .Repository) (not .Repository.IsArchived))}} + +
    +
    +

    {{.Project.Title}}

    + {{if $canWriteProject}} + + + {{end}} +
    + +
    {{$.Project.RenderedContent}}
    + +
    +
    + +
    +
    + {{range .Columns}} +
    +
    +
    + {{.NumIssues ctx}} +
    +
    {{.Title}}
    + {{if $canWriteProject}} + + {{end}} +
    +
    +
    + {{range (index $.IssuesMap .ID)}} +
    + {{template "repo/issue/card" (dict "Issue" . "Page" $)}} +
    + {{end}} +
    +
    + {{end}} +
    +
    + +{{if .CanWriteProjects}} + +{{end}} diff --git a/data/gitea/templates/repo/actions/list.tmpl b/data/gitea/templates/repo/actions/list.tmpl new file mode 100644 index 0000000..b66d0e3 --- /dev/null +++ b/data/gitea/templates/repo/actions/list.tmpl @@ -0,0 +1,87 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{template "base/alert" .}} + + {{if .HasWorkflowsOrRuns}} +
    + +
    + + {{template "repo/actions/runs_list" .}} +
    +
    + {{else}} + {{template "repo/actions/no_workflows" .}} + {{end}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/actions/no_workflows.tmpl b/data/gitea/templates/repo/actions/no_workflows.tmpl new file mode 100644 index 0000000..0093135 --- /dev/null +++ b/data/gitea/templates/repo/actions/no_workflows.tmpl @@ -0,0 +1,8 @@ +
    + {{svg "octicon-no-entry" 48}} +

    {{ctx.Locale.Tr "actions.runs.no_workflows"}}

    + {{if and .CanWriteCode .CanWriteActions}} +

    {{ctx.Locale.Tr "actions.runs.no_workflows.quick_start" "https://docs.gitea.com/usage/actions/quickstart/"}}

    + {{end}} +

    {{ctx.Locale.Tr "actions.runs.no_workflows.documentation" "https://docs.gitea.com/usage/actions/overview/"}}

    +
    diff --git a/data/gitea/templates/repo/actions/runs_list.tmpl b/data/gitea/templates/repo/actions/runs_list.tmpl new file mode 100644 index 0000000..09a25ce --- /dev/null +++ b/data/gitea/templates/repo/actions/runs_list.tmpl @@ -0,0 +1,43 @@ +
    + {{if not .Runs}} +
    + {{svg "octicon-no-entry" 48}} +

    {{if $.IsFiltered}}{{ctx.Locale.Tr "actions.runs.no_results"}}{{else}}{{ctx.Locale.Tr "actions.runs.no_runs"}}{{end}}

    +
    + {{end}} + {{range .Runs}} +
    +
    + {{template "repo/actions/status" (dict "status" .Status.String)}} +
    +
    + + {{if .Title}}{{.Title}}{{else}}{{ctx.Locale.Tr "actions.runs.empty_commit_message"}}{{end}} + +
    + {{if not $.CurWorkflow}}{{.WorkflowID}} {{end}}#{{.Index}}: + {{- if .ScheduleID -}} + {{ctx.Locale.Tr "actions.runs.scheduled"}} + {{- else -}} + {{ctx.Locale.Tr "actions.runs.commit"}} + {{ShortSha .CommitSHA}} + {{ctx.Locale.Tr "actions.runs.pushed_by"}} + {{.TriggerUser.GetDisplayName}} + {{- end -}} +
    +
    +
    + {{if .RefLink}} + {{.PrettyRef}} + {{else}} + {{.PrettyRef}} + {{end}} +
    +
    {{svg "octicon-calendar" 16}}{{TimeSinceUnix .Updated ctx.Locale}}
    +
    {{svg "octicon-stopwatch" 16}}{{.Duration}}
    +
    +
    +
    + {{end}} +
    +{{template "base/paginate" .}} diff --git a/data/gitea/templates/repo/actions/status.tmpl b/data/gitea/templates/repo/actions/status.tmpl new file mode 100644 index 0000000..a0e02cf --- /dev/null +++ b/data/gitea/templates/repo/actions/status.tmpl @@ -0,0 +1,29 @@ + +{{- $size := 16 -}} +{{- if .size -}} +{{- $size = .size -}} +{{- end -}} + +{{- $className := "" -}} +{{- if .className -}} +{{- $className = .className -}} +{{- end -}} + + +{{if eq .status "success"}} + {{svg "octicon-check-circle-fill" $size (printf "text green %s" $className)}} +{{else if eq .status "skipped"}} + {{svg "octicon-skip" $size (printf "text grey %s" $className)}} +{{else if eq .status "waiting"}} + {{svg "octicon-clock" $size (printf "text yellow %s" $className)}} +{{else if eq .status "blocked"}} + {{svg "octicon-blocked" $size (printf "text yellow %s" $className)}} +{{else if eq .status "running"}} + {{svg "octicon-meter" $size (printf "text yellow job-status-rotate %s" $className)}} +{{else if or (eq .status "failure") or (eq .status "cancelled") or (eq .status "unknown")}} + {{svg "octicon-x-circle-fill" $size (printf "text red %s" $className)}} +{{end}} + diff --git a/data/gitea/templates/repo/actions/view.tmpl b/data/gitea/templates/repo/actions/view.tmpl new file mode 100644 index 0000000..f7b0360 --- /dev/null +++ b/data/gitea/templates/repo/actions/view.tmpl @@ -0,0 +1,34 @@ +{{template "base/head" .}} + +
    + {{template "repo/header" .}} +
    +
    +
    + +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/activity.tmpl b/data/gitea/templates/repo/activity.tmpl new file mode 100644 index 0000000..a19fb66 --- /dev/null +++ b/data/gitea/templates/repo/activity.tmpl @@ -0,0 +1,17 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    +
    + {{template "repo/navbar" .}} +
    +
    + {{if .PageIsPulse}}{{template "repo/pulse" .}}{{end}} + {{if .PageIsContributors}}{{template "repo/contributors" .}}{{end}} + {{if .PageIsCodeFrequency}}{{template "repo/code_frequency" .}}{{end}} + {{if .PageIsRecentCommits}}{{template "repo/recent_commits" .}}{{end}} +
    +
    +
    +{{template "base/footer" .}} + diff --git a/data/gitea/templates/repo/blame.tmpl b/data/gitea/templates/repo/blame.tmpl new file mode 100644 index 0000000..091196b --- /dev/null +++ b/data/gitea/templates/repo/blame.tmpl @@ -0,0 +1,90 @@ +{{if or .UsesIgnoreRevs .FaultyIgnoreRevsFile}} + {{$revsFileLink := URLJoin .RepoLink "src" .BranchNameSubURL "/.git-blame-ignore-revs"}} + {{if .UsesIgnoreRevs}} +
    +

    {{ctx.Locale.Tr "repo.blame.ignore_revs" $revsFileLink "?bypass-blame-ignore=true"}}

    +
    + {{else}} +
    +

    {{ctx.Locale.Tr "repo.blame.ignore_revs.failed" $revsFileLink}}

    +
    + {{end}} +{{end}} +
    +

    +
    + {{template "repo/file_info" .}} +
    +
    +
    + {{ctx.Locale.Tr "repo.file_raw"}} + {{if not .IsViewCommit}} + {{ctx.Locale.Tr "repo.file_permalink"}} + {{end}} + {{ctx.Locale.Tr "repo.normal_view"}} + {{ctx.Locale.Tr "repo.file_history"}} + + +
    +
    +

    +
    +
    + {{if .IsFileTooLarge}} + {{template "shared/filetoolarge" dict "RawFileLink" .RawFileLink}} + {{else}} + + + {{range $row := .BlameRows}} + + + + + {{if $.EscapeStatus.Escaped}} + + {{end}} + + + {{end}} + +
    +
    +
    +
    + {{$row.Avatar}} +
    + +
    + {{$row.CommitSince}} +
    +
    +
    +
    + {{if $row.PreviousSha}} + + {{svg "octicon-versions"}} + + {{end}} + + + + {{if $row.EscapeStatus.Escaped}} + + {{end}} + + {{$row.Code}} +
    + {{end}}{{/* end if .IsFileTooLarge */}} +
    + {{if $.Permission.CanRead ctx.Consts.RepoUnitTypeIssues}} + {{ctx.Locale.Tr "repo.issues.context.reference_issue"}} + {{end}} + {{ctx.Locale.Tr "repo.file_copy_permalink"}} +
    +
    +
    +
    diff --git a/data/gitea/templates/repo/branch/list.tmpl b/data/gitea/templates/repo/branch/list.tmpl new file mode 100644 index 0000000..0472ead --- /dev/null +++ b/data/gitea/templates/repo/branch/list.tmpl @@ -0,0 +1,256 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{template "base/alert" .}} + {{template "repo/sub_menu" .}} + {{if .DefaultBranchBranch}} +

    + {{ctx.Locale.Tr "repo.default_branch"}} + {{if and $.IsWriter (not $.Repository.IsArchived) (not .IsDeleted)}} + + {{svg "octicon-arrow-switch"}} + + {{end}} +

    + +
    + + + + + + + +
    +
    + {{if .DefaultBranchBranch.IsProtected}}{{svg "octicon-shield-lock"}}{{end}} + {{.DefaultBranchBranch.DBBranch.Name}} + + {{template "repo/commit_statuses" dict "Status" (index $.CommitStatus .DefaultBranchBranch.DBBranch.CommitID) "Statuses" (index $.CommitStatuses .DefaultBranchBranch.DBBranch.CommitID)}} +
    +

    {{svg "octicon-git-commit" 16 "tw-mr-1"}}{{ShortSha .DefaultBranchBranch.DBBranch.CommitID}} · {{RenderCommitMessage $.Context .DefaultBranchBranch.DBBranch.CommitMessage (.Repository.ComposeMetas ctx)}} · {{ctx.Locale.Tr "org.repo_updated"}} {{TimeSince .DefaultBranchBranch.DBBranch.CommitTime.AsTime ctx.Locale}}{{if .DefaultBranchBranch.DBBranch.Pusher}}  {{template "shared/user/avatarlink" dict "user" .DefaultBranchBranch.DBBranch.Pusher}}{{template "shared/user/namelink" .DefaultBranchBranch.DBBranch.Pusher}}{{end}}

    +
    + {{if and $.IsWriter (not $.Repository.IsArchived) (not .IsDeleted)}} + + {{end}} + {{if .EnableFeed}} + {{svg "octicon-rss"}} + {{end}} + {{if not $.DisableDownloadSourceArchives}} + + {{end}} + {{if and $.IsWriter (not $.Repository.IsArchived) (not .IsDeleted) (not $.IsMirror)}} + + {{end}} +
    +
    + {{end}} + +

    +
    + {{ctx.Locale.Tr "repo.branches"}} +
    +

    + +
    +
    + {{template "shared/search/combo" dict "Value" .Keyword "Placeholder" (ctx.Locale.Tr "search.branch_kind")}} +
    +
    + +
    + + + {{range .Branches}} + + + + + + + {{end}} + +
    + {{if .DBBranch.IsDeleted}} +
    + {{.DBBranch.Name}} + +
    +

    {{ctx.Locale.Tr "repo.branch.deleted_by" .DBBranch.DeletedBy.Name}} {{TimeSinceUnix .DBBranch.DeletedUnix ctx.Locale}}

    + {{else}} +
    + {{if .IsProtected}}{{svg "octicon-shield-lock"}}{{end}} + {{.DBBranch.Name}} + + {{template "repo/commit_statuses" dict "Status" (index $.CommitStatus .DBBranch.CommitID) "Statuses" (index $.CommitStatuses .DBBranch.CommitID)}} +
    +

    {{svg "octicon-git-commit" 16 "tw-mr-1"}}{{ShortSha .DBBranch.CommitID}} · {{RenderCommitMessage $.Context .DBBranch.CommitMessage ($.Repository.ComposeMetas ctx)}} · {{ctx.Locale.Tr "org.repo_updated"}} {{TimeSince .DBBranch.CommitTime.AsTime ctx.Locale}}{{if .DBBranch.Pusher}}  {{template "shared/user/avatarlink" dict "user" .DBBranch.Pusher}}  {{template "shared/user/namelink" .DBBranch.Pusher}}{{end}}

    + {{end}} +
    + {{if and (not .DBBranch.IsDeleted) $.DefaultBranchBranch}} +
    +
    +
    {{.CommitsBehind}}
    + {{/* old code bears 0/0.0 = NaN output, so it might output invalid "width: NaNpx", it just works and doesn't caues any problem. */}} +
    +
    +
    +
    {{.CommitsAhead}}
    +
    +
    +
    + {{end}} +
    + {{if not .LatestPullRequest}} + {{if .IsIncluded}} + + {{svg "octicon-git-pull-request"}} {{ctx.Locale.Tr "repo.branch.included"}} + + {{else if and (not .DBBranch.IsDeleted) $.AllowsPulls (gt .CommitsAhead 0)}} + + + + {{end}} + {{else if and .LatestPullRequest.HasMerged .MergeMovedOn}} + {{if and (not .DBBranch.IsDeleted) $.AllowsPulls (gt .CommitsAhead 0)}} + + + + {{end}} + {{else}} + {{if not .LatestPullRequest.IsSameRepo}}{{.LatestPullRequest.BaseRepo.FullName}}{{end}}#{{.LatestPullRequest.Issue.Index}} + {{if .LatestPullRequest.HasMerged}} + {{svg "octicon-git-merge" 16 "tw-mr-1"}}{{ctx.Locale.Tr "repo.pulls.merged"}} + {{else if .LatestPullRequest.Issue.IsClosed}} + {{svg "octicon-git-pull-request" 16 "tw-mr-1"}}{{ctx.Locale.Tr "repo.issues.closed_title"}} + {{else}} + {{svg "octicon-git-pull-request" 16 "tw-mr-1"}}{{ctx.Locale.Tr "repo.issues.open_title"}} + {{end}} + {{end}} + + {{if and $.IsWriter (not $.Repository.IsArchived) (not .DBBranch.IsDeleted)}} + + {{end}} + {{if $.EnableFeed}} + {{svg "octicon-rss"}} + {{end}} + {{if and (not .DBBranch.IsDeleted) (not $.DisableDownloadSourceArchives)}} + + {{end}} + {{if and $.IsWriter (not $.Repository.IsArchived) (not .DBBranch.IsDeleted) (not $.IsMirror)}} + + {{end}} + {{if and $.IsWriter (not $.IsMirror) (not $.Repository.IsArchived) (not .IsProtected)}} + {{if .DBBranch.IsDeleted}} + + {{else}} + + {{end}} + {{end}} +
    +
    + {{template "base/paginate" .}} +
    +
    + + + + + + +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/branch_dropdown.tmpl b/data/gitea/templates/repo/branch_dropdown.tmpl new file mode 100644 index 0000000..c4f7387 --- /dev/null +++ b/data/gitea/templates/repo/branch_dropdown.tmpl @@ -0,0 +1,89 @@ +{{/* Attributes: +* root +* ContainerClasses +* (TODO: search "branch_dropdown" in the template directory) +*/}} +{{$defaultSelectedRefName := $.root.BranchName}} +{{if and .root.IsViewTag (not .noTag)}} + {{$defaultSelectedRefName = .root.TagName}} +{{end}} +{{if eq $defaultSelectedRefName ""}} + {{$defaultSelectedRefName = $.root.Repository.DefaultBranch}} +{{end}} + +{{$type := ""}} +{{if and .root.IsViewTag (not .noTag)}} + {{$type = "tag"}} +{{else if .root.IsViewBranch}} + {{$type = "branch"}} +{{else}} + {{$type = "tree"}} +{{end}} + +{{$showBranchesInDropdown := not .root.HideBranchesInDropdown}} + + + +
    + {{/* show dummy elements before Vue componment is mounted, this code must match the code in BranchTagSelector.vue */}} + +
    diff --git a/data/gitea/templates/repo/cite/cite_buttons.tmpl b/data/gitea/templates/repo/cite/cite_buttons.tmpl new file mode 100644 index 0000000..426ca38 --- /dev/null +++ b/data/gitea/templates/repo/cite/cite_buttons.tmpl @@ -0,0 +1,11 @@ + + + + + diff --git a/data/gitea/templates/repo/cite/cite_modal.tmpl b/data/gitea/templates/repo/cite/cite_modal.tmpl new file mode 100644 index 0000000..fb25144 --- /dev/null +++ b/data/gitea/templates/repo/cite/cite_modal.tmpl @@ -0,0 +1,20 @@ + diff --git a/data/gitea/templates/repo/clone_buttons.tmpl b/data/gitea/templates/repo/clone_buttons.tmpl new file mode 100644 index 0000000..91952c8 --- /dev/null +++ b/data/gitea/templates/repo/clone_buttons.tmpl @@ -0,0 +1,15 @@ + +{{if $.CloneButtonShowHTTPS}} + +{{end}} +{{if $.CloneButtonShowSSH}} + +{{end}} + + diff --git a/data/gitea/templates/repo/clone_script.tmpl b/data/gitea/templates/repo/clone_script.tmpl new file mode 100644 index 0000000..40dae76 --- /dev/null +++ b/data/gitea/templates/repo/clone_script.tmpl @@ -0,0 +1,50 @@ + diff --git a/data/gitea/templates/repo/code/recently_pushed_new_branches.tmpl b/data/gitea/templates/repo/code/recently_pushed_new_branches.tmpl new file mode 100644 index 0000000..025cc1a --- /dev/null +++ b/data/gitea/templates/repo/code/recently_pushed_new_branches.tmpl @@ -0,0 +1,12 @@ +{{range .RecentlyPushedNewBranches}} +
    +
    + {{$timeSince := TimeSince .CommitTime.AsTime ctx.Locale}} + {{$branchLink := HTMLFormat `%s` .BranchLink .BranchDisplayName}} + {{ctx.Locale.Tr "repo.pulls.recently_pushed_new_branches" $branchLink $timeSince}} +
    + + {{ctx.Locale.Tr "repo.pulls.compare_changes"}} + +
    +{{end}} diff --git a/data/gitea/templates/repo/code_frequency.tmpl b/data/gitea/templates/repo/code_frequency.tmpl new file mode 100644 index 0000000..79b45d4 --- /dev/null +++ b/data/gitea/templates/repo/code_frequency.tmpl @@ -0,0 +1,9 @@ +{{if .Permission.CanRead ctx.Consts.RepoUnitTypeCode}} +
    +
    +{{end}} diff --git a/data/gitea/templates/repo/commit_load_branches_and_tags.tmpl b/data/gitea/templates/repo/commit_load_branches_and_tags.tmpl new file mode 100644 index 0000000..ffa0e53 --- /dev/null +++ b/data/gitea/templates/repo/commit_load_branches_and_tags.tmpl @@ -0,0 +1,20 @@ +{{if not .PageIsWiki}} +
    + +
    +
    +
    {{ctx.Locale.Tr "repo.commit.contained_in"}}
    +
    +
    {{svg "octicon-git-branch"}}
    +
    +
    +
    +
    {{svg "octicon-tag"}}
    +
    +
    +
    +
    +{{end}} diff --git a/data/gitea/templates/repo/commit_page.tmpl b/data/gitea/templates/repo/commit_page.tmpl new file mode 100644 index 0000000..b8195ac --- /dev/null +++ b/data/gitea/templates/repo/commit_page.tmpl @@ -0,0 +1,285 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{$class := ""}} + {{if .Commit.Signature}} + {{$class = (print $class " isSigned")}} + {{if .Verification.Verified}} + {{if eq .Verification.TrustStatus "trusted"}} + {{$class = (print $class " isVerified")}} + {{else if eq .Verification.TrustStatus "untrusted"}} + {{$class = (print $class " isVerifiedUntrusted")}} + {{else}} + {{$class = (print $class " isVerifiedUnmatched")}} + {{end}} + {{else if .Verification.Warning}} + {{$class = (print $class " isWarning")}} + {{end}} + {{end}} +
    +
    +

    {{RenderCommitMessage $.Context .Commit.Message ($.Repository.ComposeMetas ctx)}}{{template "repo/commit_statuses" dict "Status" .CommitStatus "Statuses" .CommitStatuses}}

    + {{if not $.PageIsWiki}} +
    + + {{ctx.Locale.Tr "repo.diff.browse_source"}} + + {{if and ($.Permission.CanWrite ctx.Consts.RepoUnitTypeCode) (not $.Repository.IsArchived) (not .IsDeleted)}}{{- /* */ -}} + + {{end}} +
    + {{end}} +
    + {{if IsMultilineCommitMessage .Commit.Message}} +
    {{RenderCommitBody $.Context .Commit.Message ($.Repository.ComposeMetas ctx)}}
    + {{end}} + {{template "repo/commit_load_branches_and_tags" .}} +
    +
    +
    + {{if .Author}} + {{ctx.AvatarUtils.Avatar .Author 28 "tw-mr-2"}} + {{if .Author.FullName}} + {{.Author.FullName}} + {{else}} + {{.Commit.Author.Name}} + {{end}} + {{else}} + {{ctx.AvatarUtils.AvatarByEmail .Commit.Author.Email .Commit.Author.Email 28 "tw-mr-2"}} + {{.Commit.Author.Name}} + {{end}} + {{TimeSince .Commit.Author.When ctx.Locale}} + {{if or (ne .Commit.Committer.Name .Commit.Author.Name) (ne .Commit.Committer.Email .Commit.Author.Email)}} + {{ctx.Locale.Tr "repo.diff.committed_by"}} + {{if ne .Verification.CommittingUser.ID 0}} + {{ctx.AvatarUtils.Avatar .Verification.CommittingUser 28 "tw-mx-2"}} + {{.Commit.Committer.Name}} + {{else}} + {{ctx.AvatarUtils.AvatarByEmail .Commit.Committer.Email .Commit.Committer.Name 28 "tw-mr-2"}} + {{.Commit.Committer.Name}} + {{end}} + {{end}} +
    +
    + {{if .Parents}} +
    + {{ctx.Locale.Tr "repo.diff.parent"}} + {{range .Parents}} + {{if $.PageIsWiki}} + {{ShortSha .}} + {{else}} + {{ShortSha .}} + {{end}} + {{end}} +
    + {{end}} +
    + {{ctx.Locale.Tr "repo.diff.commit"}} + {{ShortSha .CommitID}} +
    +
    +
    + {{if .Commit.Signature}} +
    +
    + {{if .Verification.Verified}} + {{if ne .Verification.SigningUser.ID 0}} + {{svg "gitea-lock" 16 "tw-mr-2"}} + {{if eq .Verification.TrustStatus "trusted"}} + {{ctx.Locale.Tr "repo.commits.signed_by"}}: + {{else if eq .Verification.TrustStatus "untrusted"}} + {{ctx.Locale.Tr "repo.commits.signed_by_untrusted_user"}}: + {{else}} + {{ctx.Locale.Tr "repo.commits.signed_by_untrusted_user_unmatched"}}: + {{end}} + {{ctx.AvatarUtils.Avatar .Verification.SigningUser 28 "tw-mr-2"}} + {{.Verification.SigningUser.GetDisplayName}} + {{else}} + {{svg "gitea-lock-cog" 16 "tw-mr-2"}} + {{ctx.Locale.Tr "repo.commits.signed_by"}}: + {{ctx.AvatarUtils.AvatarByEmail .Verification.SigningEmail "" 28 "tw-mr-2"}} + {{.Verification.SigningUser.GetDisplayName}} + {{end}} + {{else}} + {{svg "gitea-unlock" 16 "tw-mr-2"}} + {{ctx.Locale.Tr .Verification.Reason}} + {{end}} +
    +
    + {{if .Verification.Verified}} + {{if ne .Verification.SigningUser.ID 0}} + {{svg "octicon-verified" 16 "tw-mr-2"}} + {{if .Verification.SigningSSHKey}} + {{ctx.Locale.Tr "repo.commits.ssh_key_fingerprint"}}: + {{.Verification.SigningSSHKey.Fingerprint}} + {{else}} + {{ctx.Locale.Tr "repo.commits.gpg_key_id"}}: + {{.Verification.SigningKey.PaddedKeyID}} + {{end}} + {{else}} + {{svg "octicon-unverified" 16 "tw-mr-2"}} + {{if .Verification.SigningSSHKey}} + {{ctx.Locale.Tr "repo.commits.ssh_key_fingerprint"}}: + {{.Verification.SigningSSHKey.Fingerprint}} + {{else}} + {{ctx.Locale.Tr "repo.commits.gpg_key_id"}}: + {{.Verification.SigningKey.PaddedKeyID}} + {{end}} + {{end}} + {{else if .Verification.Warning}} + {{svg "octicon-unverified" 16 "tw-mr-2"}} + {{if .Verification.SigningSSHKey}} + {{ctx.Locale.Tr "repo.commits.ssh_key_fingerprint"}}: + {{.Verification.SigningSSHKey.Fingerprint}} + {{else}} + {{ctx.Locale.Tr "repo.commits.gpg_key_id"}}: + {{.Verification.SigningKey.PaddedKeyID}} + {{end}} + {{else}} + {{if .Verification.SigningKey}} + {{if ne .Verification.SigningKey.KeyID ""}} + {{svg "octicon-verified" 16 "tw-mr-2"}} + {{ctx.Locale.Tr "repo.commits.gpg_key_id"}}: + {{.Verification.SigningKey.PaddedKeyID}} + {{end}} + {{end}} + {{if .Verification.SigningSSHKey}} + {{if ne .Verification.SigningSSHKey.Fingerprint ""}} + {{svg "octicon-verified" 16 "tw-mr-2"}} + {{ctx.Locale.Tr "repo.commits.ssh_key_fingerprint"}}: + {{.Verification.SigningSSHKey.Fingerprint}} + {{end}} + {{end}} + {{end}} +
    +
    + {{end}} + {{if .NoteRendered}} +
    + {{svg "octicon-note" 16 "tw-mr-2"}} + {{ctx.Locale.Tr "repo.diff.git-notes"}}: + {{if .NoteAuthor}} + + {{if .NoteAuthor.FullName}} + {{.NoteAuthor.FullName}} + {{else}} + {{.NoteCommit.Author.Name}} + {{end}} + + {{else}} + {{.NoteCommit.Author.Name}} + {{end}} + {{TimeSince .NoteCommit.Author.When ctx.Locale}} +
    +
    +
    {{.NoteRendered | SanitizeHTML}}
    +
    + {{end}} + {{template "repo/diff/box" .}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/commit_status.tmpl b/data/gitea/templates/repo/commit_status.tmpl new file mode 100644 index 0000000..eb700ab --- /dev/null +++ b/data/gitea/templates/repo/commit_status.tmpl @@ -0,0 +1,16 @@ + +{{if eq .State "pending"}} + {{svg "octicon-dot-fill" 18 "commit-status icon text yellow"}} +{{end}} +{{if eq .State "success"}} + {{svg "octicon-check" 18 "commit-status icon text green"}} +{{end}} +{{if eq .State "error"}} + {{svg "gitea-exclamation" 18 "commit-status icon text red"}} +{{end}} +{{if eq .State "failure"}} + {{svg "octicon-x" 18 "commit-status icon text red"}} +{{end}} +{{if eq .State "warning"}} + {{svg "gitea-exclamation" 18 "commit-status icon text yellow"}} +{{end}} diff --git a/data/gitea/templates/repo/commit_statuses.tmpl b/data/gitea/templates/repo/commit_statuses.tmpl new file mode 100644 index 0000000..f451ac0 --- /dev/null +++ b/data/gitea/templates/repo/commit_statuses.tmpl @@ -0,0 +1,14 @@ +{{if .Statuses}} + {{if and (eq (len .Statuses) 1) .Status.TargetURL}} + + {{template "repo/commit_status" .Status}} + + {{else}} + + {{template "repo/commit_status" .Status}} + + {{end}} +
    + {{template "repo/pulls/status" (dict "CommitStatuses" .Statuses "CommitStatus" .Status)}} +
    +{{end}} diff --git a/data/gitea/templates/repo/commits.tmpl b/data/gitea/templates/repo/commits.tmpl new file mode 100644 index 0000000..e6efe1f --- /dev/null +++ b/data/gitea/templates/repo/commits.tmpl @@ -0,0 +1,18 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{template "repo/sub_menu" .}} +
    +
    + {{template "repo/branch_dropdown" dict "root" . "ContainerClasses" "tw-mr-1"}} + + {{svg "octicon-git-branch"}} + {{ctx.Locale.Tr "repo.commit_graph"}} + +
    +
    + {{template "repo/commits_table" .}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/commits_list.tmpl b/data/gitea/templates/repo/commits_list.tmpl new file mode 100644 index 0000000..bb5d2a0 --- /dev/null +++ b/data/gitea/templates/repo/commits_list.tmpl @@ -0,0 +1,93 @@ +
    + + + + + + + + + + + + {{$commitRepoLink := $.RepoLink}}{{if $.CommitRepoLink}}{{$commitRepoLink = $.CommitRepoLink}}{{end}} + {{range .Commits}} + + + + + {{if .Committer}} + + {{else}} + + {{end}} + + + {{end}} + +
    {{ctx.Locale.Tr "repo.commits.author"}}{{StringUtils.ToUpper $.Repository.ObjectFormatName}}{{ctx.Locale.Tr "repo.commits.message"}}{{ctx.Locale.Tr "repo.commits.date"}}
    +
    + {{$userName := .Author.Name}} + {{if .User}} + {{if and .User.FullName DefaultShowFullName}} + {{$userName = .User.FullName}} + {{end}} + {{ctx.AvatarUtils.Avatar .User 28 "tw-mr-2"}}{{$userName}} + {{else}} + {{ctx.AvatarUtils.AvatarByEmail .Author.Email .Author.Name 28 "tw-mr-2"}} + {{$userName}} + {{end}} +
    +
    + {{$class := "ui sha label"}} + {{if .Signature}} + {{$class = (print $class " isSigned")}} + {{if .Verification.Verified}} + {{if eq .Verification.TrustStatus "trusted"}} + {{$class = (print $class " isVerified")}} + {{else if eq .Verification.TrustStatus "untrusted"}} + {{$class = (print $class " isVerifiedUntrusted")}} + {{else}} + {{$class = (print $class " isVerifiedUnmatched")}} + {{end}} + {{else if .Verification.Warning}} + {{$class = (print $class " isWarning")}} + {{end}} + {{end}} + {{$commitShaLink := ""}} + {{if $.PageIsWiki}} + {{$commitShaLink = (printf "%s/wiki/commit/%s" $commitRepoLink (PathEscape .ID.String))}} + {{else if $.PageIsPullCommits}} + {{$commitShaLink = (printf "%s/pulls/%d/commits/%s" $commitRepoLink $.Issue.Index (PathEscape .ID.String))}} + {{else if $.Reponame}} + {{$commitShaLink = (printf "%s/commit/%s" $commitRepoLink (PathEscape .ID.String))}} + {{end}} + + {{ShortSha .ID.String}} + {{if .Signature}}{{template "repo/shabox_badge" dict "root" $ "verification" .Verification}}{{end}} + + + + {{if $.PageIsWiki}} + {{.Summary | RenderEmoji $.Context}} + {{else}} + {{$commitLink:= printf "%s/commit/%s" $commitRepoLink (PathEscape .ID.String)}} + {{RenderCommitMessageLinkSubject $.Context .Message $commitLink ($.Repository.ComposeMetas ctx)}} + {{end}} + + {{if IsMultilineCommitMessage .Message}} + + {{end}} + {{template "repo/commit_statuses" dict "Status" .Status "Statuses" .Statuses}} + {{if IsMultilineCommitMessage .Message}} +
    {{RenderCommitBody $.Context .Message ($.Repository.ComposeMetas ctx)}}
    + {{end}} +
    {{TimeSince .Committer.When ctx.Locale}}{{TimeSince .Author.When ctx.Locale}} + + {{if not $.PageIsWiki}}{{/* at the moment, wiki doesn't support "view at history point*/}} + {{$viewCommitLink := printf "%s/src/commit/%s" $commitRepoLink (PathEscape .ID.String)}} + {{if $.FileName}}{{$viewCommitLink = printf "%s/%s" $viewCommitLink (PathEscapeSegments $.FileName)}}{{end}} + {{svg "octicon-file-code"}} + {{end}} +
    +
    diff --git a/data/gitea/templates/repo/commits_list_small.tmpl b/data/gitea/templates/repo/commits_list_small.tmpl new file mode 100644 index 0000000..4c67319 --- /dev/null +++ b/data/gitea/templates/repo/commits_list_small.tmpl @@ -0,0 +1,55 @@ +{{$index := 0}} +
    +{{range .comment.Commits}} + {{$tag := printf "%s-%d" $.comment.HashTag $index}} + {{$index = Eval $index "+" 1}} +
    + {{svg "octicon-git-commit"}} + {{if .User}} + {{ctx.AvatarUtils.Avatar .User 20}} + {{else}} + {{ctx.AvatarUtils.AvatarByEmail .Author.Email .Author.Name 20}} + {{end}} + + {{$commitLink:= printf "%s/commit/%s" $.comment.Issue.PullRequest.BaseRepo.Link (PathEscape .ID.String)}} + + + {{- RenderCommitMessageLinkSubject $.root.Context .Message $commitLink ($.comment.Issue.PullRequest.BaseRepo.ComposeMetas ctx) -}} + + + {{if IsMultilineCommitMessage .Message}} + + {{end}} + + + {{template "repo/commit_statuses" dict "Status" .Status "Statuses" .Statuses}} + {{$class := "ui sha label"}} + {{if .Signature}} + {{$class = (print $class " isSigned")}} + {{if .Verification.Verified}} + {{if eq .Verification.TrustStatus "trusted"}} + {{$class = (print $class " isVerified")}} + {{else if eq .Verification.TrustStatus "untrusted"}} + {{$class = (print $class " isVerifiedUntrusted")}} + {{else}} + {{$class = (print $class " isVerifiedUnmatched")}} + {{end}} + {{else if .Verification.Warning}} + {{$class = (print $class " isWarning")}} + {{end}} + {{end}} + + {{ShortSha .ID.String}} + {{if .Signature}} + {{template "repo/shabox_badge" dict "root" $.root "verification" .Verification}} + {{end}} + + +
    + {{if IsMultilineCommitMessage .Message}} +
    +		{{- RenderCommitBody $.root.Context .Message ($.comment.Issue.PullRequest.BaseRepo.ComposeMetas ctx) -}}
    +	
    + {{end}} +{{end}} +
    diff --git a/data/gitea/templates/repo/commits_search_dropdown.tmpl b/data/gitea/templates/repo/commits_search_dropdown.tmpl new file mode 100644 index 0000000..5aa3f4f --- /dev/null +++ b/data/gitea/templates/repo/commits_search_dropdown.tmpl @@ -0,0 +1,8 @@ + diff --git a/data/gitea/templates/repo/commits_table.tmpl b/data/gitea/templates/repo/commits_table.tmpl new file mode 100644 index 0000000..91fc1c2 --- /dev/null +++ b/data/gitea/templates/repo/commits_table.tmpl @@ -0,0 +1,36 @@ +

    +
    + {{if or .PageIsCommits (gt .CommitCount 0)}} + {{.CommitCount}} {{ctx.Locale.Tr "repo.commits.commits"}} + {{else if .IsNothingToCompare}} + {{ctx.Locale.Tr "repo.commits.nothing_to_compare"}} + {{else}} + {{ctx.Locale.Tr "repo.commits.no_commits" $.BaseBranch $.HeadBranch}} + {{end}} +
    + {{if .IsDiffCompare}} + + {{end}} +

    + +{{if .PageIsCommits}} +
    +
    +
    + {{template "shared/search/input" dict "Value" .Keyword "Placeholder" (ctx.Locale.Tr "search.commit_kind")}} + {{template "repo/commits_search_dropdown" .}} + {{template "shared/search/button" dict "Tooltip" (ctx.Locale.Tr "repo.commits.search.tooltip")}} +
    +
    +
    +{{end}} + +{{if and .Commits (gt .CommitCount 0)}} + {{template "repo/commits_list" .}} +{{end}} + +{{template "base/paginate" .}} diff --git a/data/gitea/templates/repo/contributors.tmpl b/data/gitea/templates/repo/contributors.tmpl new file mode 100644 index 0000000..6b8a63f --- /dev/null +++ b/data/gitea/templates/repo/contributors.tmpl @@ -0,0 +1,14 @@ +{{if .Permission.CanRead ctx.Consts.RepoUnitTypeCode}} +
    +
    +{{end}} diff --git a/data/gitea/templates/repo/create.tmpl b/data/gitea/templates/repo/create.tmpl new file mode 100644 index 0000000..2e1de24 --- /dev/null +++ b/data/gitea/templates/repo/create.tmpl @@ -0,0 +1,221 @@ +{{template "base/head" .}} +
    +
    +
    +
    + {{.CsrfTokenHtml}} +

    + {{ctx.Locale.Tr "new_repo"}} +

    +
    + {{template "base/alert" .}} + {{template "repo/create_helper" .}} + + {{if not .CanCreateRepo}} +
    +

    {{ctx.Locale.TrN .MaxCreationLimit "repo.form.reach_limit_of_creation_1" "repo.form.reach_limit_of_creation_n" .MaxCreationLimit}}

    +
    + {{end}} +
    + + + {{ctx.Locale.Tr "repo.owner_helper"}} +
    + +
    + + + {{ctx.Locale.Tr "repo.repo_name_helper"}} +
    +
    + +
    + {{if .IsForcedPrivate}} + + + {{else}} + + + {{end}} +
    + {{ctx.Locale.Tr "repo.visibility_description"}} +
    +
    + + +
    +
    + + +
    + +
    +
    + +
    + + +
    +
    + + +
    +
    +
    + +
    + + +
    +
    + + +
    +
    +
    + +
    + + +
    +
    + + +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    + + +
    + +
    + +
    + + + {{ctx.Locale.Tr "repo.repo_gitignore_helper_desc"}} +
    +
    + + + {{ctx.Locale.Tr "repo.license_helper_desc" "https://choosealicense.com/"}} +
    + +
    + + + {{ctx.Locale.Tr "repo.readme_helper_desc"}} +
    +
    +
    + + +
    +
    +
    + + + {{ctx.Locale.Tr "repo.default_branch_helper"}} +
    +
    + + + {{ctx.Locale.Tr "repo.object_format_helper"}} +
    +
    + +
    + + +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/create_helper.tmpl b/data/gitea/templates/repo/create_helper.tmpl new file mode 100644 index 0000000..70c28b7 --- /dev/null +++ b/data/gitea/templates/repo/create_helper.tmpl @@ -0,0 +1,3 @@ +{{if not $.DisableMigrations}} +

    {{ctx.Locale.Tr "repo.new_repo_helper" (print AppSubUrl "/repo/migrate")}}

    +{{end}} diff --git a/data/gitea/templates/repo/diff/blob_excerpt.tmpl b/data/gitea/templates/repo/diff/blob_excerpt.tmpl new file mode 100644 index 0000000..cc22370 --- /dev/null +++ b/data/gitea/templates/repo/diff/blob_excerpt.tmpl @@ -0,0 +1,82 @@ +{{if $.IsSplitStyle}} + {{range $k, $line := $.section.Lines}} + + {{if eq .GetType 4}} + {{$expandDirection := $line.GetExpandDirection}} + +
    + {{if or (eq $expandDirection 3) (eq $expandDirection 5)}} + + {{end}} + {{if or (eq $expandDirection 3) (eq $expandDirection 4)}} + + {{end}} + {{if eq $expandDirection 2}} + + {{end}} +
    + + {{$inlineDiff := $.section.GetComputedInlineDiffFor $line ctx.Locale}}{{/* + */}}{{template "repo/diff/section_code" dict "diff" $inlineDiff}} + {{else}} + {{$inlineDiff := $.section.GetComputedInlineDiffFor $line ctx.Locale}} + + {{if and $line.LeftIdx $inlineDiff.EscapeStatus.Escaped}}{{end}} + {{if $line.LeftIdx}}{{end}} + {{/* + */}}{{if $line.LeftIdx}}{{template "repo/diff/section_code" dict "diff" $inlineDiff}}{{else}}{{/* + */}}{{/* + */}}{{end}}{{/* + */}} + + {{if and $line.RightIdx $inlineDiff.EscapeStatus.Escaped}}{{end}} + {{if $line.RightIdx}}{{end}} + {{/* + */}}{{if $line.RightIdx}}{{template "repo/diff/section_code" dict "diff" $inlineDiff}}{{else}}{{/* + */}}{{/* + */}}{{end}}{{/* + */}} + {{end}} + + {{end}} +{{else}} + {{range $k, $line := $.section.Lines}} + + {{if eq .GetType 4}} + {{$expandDirection := $line.GetExpandDirection}} + +
    + {{if or (eq $expandDirection 3) (eq $expandDirection 5)}} + + {{end}} + {{if or (eq $expandDirection 3) (eq $expandDirection 4)}} + + {{end}} + {{if eq $expandDirection 2}} + + {{end}} +
    + + {{else}} + + + {{end}} + {{$inlineDiff := $.section.GetComputedInlineDiffFor $line ctx.Locale}} + {{if $inlineDiff.EscapeStatus.Escaped}}{{end}} + + {{$inlineDiff.Content}} + + {{end}} +{{end}} diff --git a/data/gitea/templates/repo/diff/box.tmpl b/data/gitea/templates/repo/diff/box.tmpl new file mode 100644 index 0000000..bbca613 --- /dev/null +++ b/data/gitea/templates/repo/diff/box.tmpl @@ -0,0 +1,261 @@ +{{$showFileTree := (and (not .DiffNotAvailable) (gt .Diff.NumFiles 1))}} +
    +
    +
    + {{if $showFileTree}} + + + {{end}} + {{if not .DiffNotAvailable}} +
    + {{svg "octicon-diff" 16 "tw-mr-1"}}{{ctx.Locale.Tr "repo.diff.stats_desc" .Diff.NumFiles .Diff.TotalAddition .Diff.TotalDeletion}} +
    + {{end}} +
    +
    + {{if and .PageIsPullFiles $.SignedUserID (not .IsArchived) (not .DiffNotAvailable)}} +
    + + +
    + {{end}} + {{template "repo/diff/whitespace_dropdown" .}} + {{template "repo/diff/options_dropdown" .}} + {{if .PageIsPullFiles}} +
    + {{/* + the following will be replaced by vue component + but this avoids any loading artifacts till the vue component is initialized + */}} + +
    + {{end}} + {{if and .PageIsPullFiles $.SignedUserID (not .IsArchived)}} + {{template "repo/diff/new_review" .}} + {{end}} +
    +
    + {{if not .DiffNotAvailable}} + {{if and .IsShowingOnlySingleCommit .PageIsPullFiles}} +
    +
    {{ctx.Locale.Tr "repo.pulls.showing_only_single_commit" (ShortSha .AfterCommitID)}} - {{ctx.Locale.Tr "repo.pulls.show_all_commits"}}
    +
    + {{else if and (not .IsShowingAllCommits) .PageIsPullFiles}} +
    +
    {{ctx.Locale.Tr "repo.pulls.showing_specified_commit_range" (ShortSha .BeforeCommitID) (ShortSha .AfterCommitID)}} - {{ctx.Locale.Tr "repo.pulls.show_all_commits"}}
    +
    + {{end}} + +
    + {{end}} +
    + {{if $showFileTree}} +
    + + {{end}} + {{if .DiffNotAvailable}} +

    {{ctx.Locale.Tr "repo.diff.data_not_available"}}

    + {{else}} +
    + {{range $i, $file := .Diff.Files}} + {{/*notice: the index of Diff.Files should not be used for element ID, because the index will be restarted from 0 when doing load-more for PRs with a lot of files*/}} + {{$blobBase := call $.GetBlobByPathForCommit $.BeforeCommit $file.OldName}} + {{$blobHead := call $.GetBlobByPathForCommit $.HeadCommit $file.Name}} + {{$sniffedTypeBase := call $.GetSniffedTypeForBlob $blobBase}} + {{$sniffedTypeHead := call $.GetSniffedTypeForBlob $blobHead}} + {{$isImage:= or (call $.IsSniffedTypeAnImage $sniffedTypeBase) (call $.IsSniffedTypeAnImage $sniffedTypeHead)}} + {{$isCsv := (call $.IsCsvFile $file)}} + {{$showFileViewToggle := or $isImage (and (not $file.IsIncomplete) $isCsv)}} + {{$isExpandable := or (gt $file.Addition 0) (gt $file.Deletion 0) $file.IsBin}} + {{$isReviewFile := and $.IsSigned $.PageIsPullFiles (not $.IsArchived) $.IsShowingAllCommits}} +
    +

    +
    + +
    + {{if $file.IsBin}} + + {{ctx.Locale.Tr "repo.diff.bin"}} + + {{else}} + {{template "repo/diff/stats" dict "file" . "root" $}} + {{end}} +
    + {{if $file.IsRenamed}}{{$file.OldName}} → {{end}}{{$file.Name}} + {{if .IsLFSFile}} ({{ctx.Locale.Tr "repo.stored_lfs"}}){{end}} + + {{if $file.IsGenerated}} + {{ctx.Locale.Tr "repo.diff.generated"}} + {{end}} + {{if $file.IsVendored}} + {{ctx.Locale.Tr "repo.diff.vendored"}} + {{end}} + {{if and $file.Mode $file.OldMode}} + {{$old := ctx.Locale.Tr ($file.ModeTranslationKey $file.OldMode)}} + {{$new := ctx.Locale.Tr ($file.ModeTranslationKey $file.Mode)}} + {{ctx.Locale.Tr "git.filemode.changed_filemode" $old $new}} + {{else if $file.Mode}} + {{ctx.Locale.Tr ($file.ModeTranslationKey $file.Mode)}} + {{end}} + +
    +
    + {{if $showFileViewToggle}} +
    + + +
    + {{end}} + {{if $file.IsProtected}} + {{ctx.Locale.Tr "repo.diff.protected"}} + {{end}} + {{if and $isReviewFile $file.HasChangedSinceLastReview}} + {{ctx.Locale.Tr "repo.pulls.has_changed_since_last_review"}} + {{end}} + {{if not (or $file.IsIncomplete $file.IsBin $file.IsSubmodule)}} + + + {{end}} + {{if and (not $file.IsSubmodule) (not $.PageIsWiki)}} + {{if $file.IsDeleted}} + {{ctx.Locale.Tr "repo.diff.view_file"}} + {{else}} + {{ctx.Locale.Tr "repo.diff.view_file"}} + {{if and $.Repository.CanEnableEditor $.CanEditFile (not $file.IsLFSFile) (not $file.IsBin)}} + {{ctx.Locale.Tr "repo.editor.edit_this_file"}} + {{end}} + {{end}} + {{end}} + {{if $isReviewFile}} + + {{end}} +
    +

    +
    +
    + {{if or $file.IsIncomplete $file.IsBin}} +
    + {{if $file.IsIncomplete}} + {{if $file.IsIncompleteLineTooLong}} + {{ctx.Locale.Tr "repo.diff.file_suppressed_line_too_long"}} + {{else}} + {{ctx.Locale.Tr "repo.diff.file_suppressed"}} + {{ctx.Locale.Tr "repo.diff.load"}} + {{end}} + {{else}} + {{ctx.Locale.Tr "repo.diff.bin_not_shown"}} + {{end}} +
    + {{else}} + + {{if $.IsSplitStyle}} + {{template "repo/diff/section_split" dict "file" . "root" $}} + {{else}} + {{template "repo/diff/section_unified" dict "file" . "root" $}} + {{end}} +
    + {{end}} +
    + {{if $showFileViewToggle}} + {{/* for image or CSV, it can have a horizontal scroll bar, there won't be review comment context menu (position absolute) which would be clipped by "overflow" */}} +
    + + {{if $isImage}} + {{template "repo/diff/image_diff" dict "file" . "root" $ "blobBase" $blobBase "blobHead" $blobHead "sniffedTypeBase" $sniffedTypeBase "sniffedTypeHead" $sniffedTypeHead}} + {{else}} + {{template "repo/diff/csv_diff" dict "file" . "root" $ "blobBase" $blobBase "blobHead" $blobHead "sniffedTypeBase" $sniffedTypeBase "sniffedTypeHead" $sniffedTypeHead}} + {{end}} +
    +
    + {{end}} +
    +
    + {{end}} + + {{if .Diff.IsIncomplete}} +
    +

    + {{ctx.Locale.Tr "repo.diff.too_many_files"}} + {{ctx.Locale.Tr "repo.diff.show_more"}} +

    +
    + {{end}} +
    + {{end}} +
    + + {{if and (not $.Repository.IsArchived) (not .DiffNotAvailable)}} + + {{end}} + {{if (not .DiffNotAvailable)}} + {{template "repo/issue/view_content/reference_issue_dialog" .}} + {{template "shared/user/block_user_dialog" .}} + {{end}} +
    diff --git a/data/gitea/templates/repo/diff/comment_form.tmpl b/data/gitea/templates/repo/diff/comment_form.tmpl new file mode 100644 index 0000000..856b3da --- /dev/null +++ b/data/gitea/templates/repo/diff/comment_form.tmpl @@ -0,0 +1,49 @@ +{{if and $.root.SignedUserID (not $.Repository.IsArchived)}} +
    + {{$.root.CsrfTokenHtml}} + + + + + + + + + + {{template "shared/combomarkdowneditor" (dict + "MarkdownPreviewUrl" (print $.root.Repository.Link "/markup") + "MarkdownPreviewContext" $.root.RepoLink + "TextareaName" "content" + "TextareaPlaceholder" (ctx.Locale.Tr "repo.diff.comment.placeholder") + "DropzoneParentContainer" "form" + "DisableAutosize" "true" + )}} + + {{if $.root.IsAttachmentEnabled}} +
    + {{template "repo/upload" $.root}} +
    + {{end}} + + +
    +{{end}} diff --git a/data/gitea/templates/repo/diff/comment_form_datahandler.tmpl b/data/gitea/templates/repo/diff/comment_form_datahandler.tmpl new file mode 100644 index 0000000..d0e4934 --- /dev/null +++ b/data/gitea/templates/repo/diff/comment_form_datahandler.tmpl @@ -0,0 +1,7 @@ +{{if $.comment}} + {{template "repo/diff/comment_form" dict "root" $.root "hidden" $.hidden "reply" $.reply "Line" $.comment.UnsignedLine "File" $.comment.TreePath "Side" $.comment.DiffSide "HasComments" true}} +{{else if $.root}} + {{template "repo/diff/comment_form" $}} +{{else}} + {{template "repo/diff/comment_form" dict "root" $}} +{{end}} diff --git a/data/gitea/templates/repo/diff/comments.tmpl b/data/gitea/templates/repo/diff/comments.tmpl new file mode 100644 index 0000000..c7f4337 --- /dev/null +++ b/data/gitea/templates/repo/diff/comments.tmpl @@ -0,0 +1,75 @@ +{{range .comments}} + +{{$createdStr:= TimeSinceUnix .CreatedUnix ctx.Locale}} +
    + {{if .OriginalAuthor}} + {{ctx.AvatarUtils.Avatar nil}} + {{else}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + {{end}} +
    +
    +
    + {{if .OriginalAuthor}} + + {{svg (MigrationIcon $.root.Repository.GetOriginalURLHostname)}} + {{.OriginalAuthor}} + + + {{ctx.Locale.Tr "repo.issues.commented_at" .HashTag $createdStr}} + + + {{if $.root.Repository.OriginalURL}} + ({{ctx.Locale.Tr "repo.migrated_from" $.root.Repository.OriginalURL $.root.Repository.GetOriginalURLHostname}}) + {{end}} + + {{else}} + + {{template "shared/user/namelink" .Poster}} + {{ctx.Locale.Tr "repo.issues.commented_at" .HashTag $createdStr}} + + {{end}} +
    +
    + {{if .Invalidated}} + {{$referenceUrl := printf "%s#%s" $.root.Issue.Link .HashTag}} + + {{ctx.Locale.Tr "repo.issues.review.outdated"}} + + {{end}} + {{if .Review}} + {{if eq .Review.Type 0}} +
    + {{ctx.Locale.Tr "repo.issues.review.pending"}} +
    + {{else}} +
    + {{ctx.Locale.Tr "repo.issues.review.review"}} +
    + {{end}} + {{end}} + {{template "repo/issue/view_content/add_reaction" dict "ActionURL" (printf "%s/comments/%d/reactions" $.root.RepoLink .ID)}} + {{template "repo/issue/view_content/context_menu" dict "ctxData" $.root "item" . "delete" true "issue" false "diff" true "IsCommentPoster" (and $.root.IsSigned (eq $.root.SignedUserID .PosterID))}} +
    +
    +
    +
    + {{if .RenderedContent}} + {{.RenderedContent}} + {{else}} + {{ctx.Locale.Tr "repo.issues.no_content"}} + {{end}} +
    +
    {{.Content}}
    +
    + {{if .Attachments}} + {{template "repo/issue/view_content/attachments" dict "Attachments" .Attachments "RenderedContent" .RenderedContent}} + {{end}} +
    + {{$reactions := .Reactions.GroupByType}} + {{if $reactions}} + {{template "repo/issue/view_content/reactions" dict "ActionURL" (printf "%s/comments/%d/reactions" $.root.RepoLink .ID) "Reactions" $reactions}} + {{end}} +
    +
    +{{end}} diff --git a/data/gitea/templates/repo/diff/compare.tmpl b/data/gitea/templates/repo/diff/compare.tmpl new file mode 100644 index 0000000..f927501 --- /dev/null +++ b/data/gitea/templates/repo/diff/compare.tmpl @@ -0,0 +1,230 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} + {{$showDiffBox := false}} +
    +

    + {{if and $.PageIsComparePull $.IsSigned (not .Repository.IsArchived)}} + {{ctx.Locale.Tr "repo.pulls.compare_changes"}} +
    {{ctx.Locale.Tr "repo.pulls.compare_changes_desc"}}
    + {{else}} + {{ctx.Locale.Tr "action.compare_commits_general"}} + {{end}} +

    + {{$BaseCompareName := $.BaseName -}} + {{- $HeadCompareName := $.HeadRepo.OwnerName -}} + {{- if and (eq $.BaseName $.HeadRepo.OwnerName) (ne $.Repository.Name $.HeadRepo.Name) -}} + {{- $HeadCompareName = printf "%s/%s" $.HeadRepo.OwnerName $.HeadRepo.Name -}} + {{- end -}} + {{- $OwnForkCompareName := "" -}} + {{- if .OwnForkRepo -}} + {{- $OwnForkCompareName = .OwnForkRepo.OwnerName -}} + {{- end -}} + {{- $RootRepoCompareName := "" -}} + {{- if .RootRepo -}} + {{- $RootRepoCompareName = .RootRepo.OwnerName -}} + {{- if eq $.HeadRepo.OwnerName .RootRepo.OwnerName -}} + {{- $HeadCompareName = printf "%s/%s" $.HeadRepo.OwnerName $.HeadRepo.Name -}} + {{- end -}} + {{- end -}} +
    + {{svg "octicon-git-compare"}} + + {{svg "octicon-arrow-left" 16}}
    {{.CompareSeparator}}
    + +
    + + {{if .IsNothingToCompare}} + {{if and $.IsSigned $.AllowEmptyPr (not .Repository.IsArchived) .PageIsComparePull}} +
    {{ctx.Locale.Tr "repo.pulls.nothing_to_compare_and_allow_empty_pr"}}
    +
    + +
    +
    + {{template "repo/issue/new_form" .}} +
    + {{else if and .HeadIsBranch .BaseIsBranch}} +
    {{ctx.Locale.Tr "repo.pulls.nothing_to_compare"}}
    + {{else}} +
    {{ctx.Locale.Tr "repo.pulls.nothing_to_compare_have_tag"}}
    + {{end}} + {{else if and .PageIsComparePull (gt .CommitCount 0)}} + {{if .HasPullRequest}} +
    + {{template "shared/issueicon" .}} +
    + {{RenderIssueTitle $.Context .PullRequest.Issue.Title ($.Repository.ComposeMetas ctx) | RenderCodeBlock}} + #{{.PullRequest.Issue.Index}} +
    + + {{ctx.Locale.Tr "repo.pulls.view"}} + +
    + {{else}} + {{if and $.IsSigned (not .Repository.IsArchived)}} +
    + +
    + {{else if .Repository.IsArchived}} +
    + {{if .Repository.ArchivedUnix.IsZero}} + {{ctx.Locale.Tr "repo.archive.title"}} + {{else}} + {{ctx.Locale.Tr "repo.archive.title_date" (DateTime "long" .Repository.ArchivedUnix)}} + {{end}} +
    + {{end}} + {{if $.IsSigned}} +
    + {{template "repo/issue/new_form" .}} +
    + {{end}} + {{$showDiffBox = true}} + {{end}} + {{else if not .IsNothingToCompare}} + {{$showDiffBox = true}} + {{end}} +
    + + {{if $showDiffBox}} +
    + {{template "repo/commits_table" .}} + {{template "repo/diff/box" .}} +
    + {{end}} +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/diff/conversation.tmpl b/data/gitea/templates/repo/diff/conversation.tmpl new file mode 100644 index 0000000..08f6064 --- /dev/null +++ b/data/gitea/templates/repo/diff/conversation.tmpl @@ -0,0 +1,72 @@ +{{if len .comments}} + {{$comment := index .comments 0}} + {{$resolved := $comment.IsResolved}} + {{$invalid := $comment.Invalidated}} + {{$resolveDoer := $comment.ResolveDoer}} + {{$hasReview := and $comment.Review}} + {{$isReviewPending := and $hasReview (eq $comment.Review.Type 0)}} + {{$referenceUrl := printf "%s#%s" $.Issue.Link $comment.HashTag}} +
    + {{if $resolved}} +
    +
    + {{svg "octicon-check" 16 "icon tw-mr-1"}} + {{$resolveDoer.Name}} {{ctx.Locale.Tr "repo.issues.review.resolved_by"}} + {{if $invalid}} + + + {{ctx.Locale.Tr "repo.issues.review.outdated"}} + + {{end}} +
    +
    + + +
    +
    + {{end}} +
    +
    + + {{template "repo/diff/comments" dict "root" $ "comments" .comments}} + +
    +
    +
    + + +
    + {{if and $.CanMarkConversation $hasReview (not $isReviewPending)}} + + {{end}} + {{if and $.SignedUserID (not $.Repository.IsArchived)}} + + {{end}} +
    + {{template "repo/diff/comment_form_datahandler" dict "hidden" true "reply" $comment.ReviewID "root" $ "comment" $comment}} +
    +
    +{{else}} + {{template "repo/diff/conversation_outdated"}} +{{end}} diff --git a/data/gitea/templates/repo/diff/conversation_outdated.tmpl b/data/gitea/templates/repo/diff/conversation_outdated.tmpl new file mode 100644 index 0000000..c6a4bf1 --- /dev/null +++ b/data/gitea/templates/repo/diff/conversation_outdated.tmpl @@ -0,0 +1,3 @@ +
    + {{ctx.Locale.Tr "repo.issues.review.outdated_description"}} +
    diff --git a/data/gitea/templates/repo/diff/csv_diff.tmpl b/data/gitea/templates/repo/diff/csv_diff.tmpl new file mode 100644 index 0000000..0f46da3 --- /dev/null +++ b/data/gitea/templates/repo/diff/csv_diff.tmpl @@ -0,0 +1,58 @@ + + + {{$result := call .root.CreateCsvDiff .file .blobBase .blobHead}} + {{if $result.Error}} +
    {{$result.Error}}
    + {{else if $result.Sections}} + + {{range $i, $section := $result.Sections}} + + {{range $j, $row := $section.Rows}} + + {{if and (eq $i 0) (eq $j 0)}} + + {{range $j, $cell := $row.Cells}} + {{if not $cell}} + + {{else if eq $cell.Type 2}} + + {{else if eq $cell.Type 3}} + + {{else if eq $cell.Type 4}} + + {{else if eq $cell.Type 5}} + + {{else if eq $cell.Type 6}} + + {{else}} + + {{end}} + {{end}} + {{else}} + + {{range $j, $cell := $row.Cells}} + {{if not $cell}} + + {{else if eq $cell.Type 2}} + + {{else if eq $cell.Type 3}} + + {{else if eq $cell.Type 4}} + + {{else if eq $cell.Type 5}} + + {{else if eq $cell.Type 6}} + + {{else}} + + {{end}} + {{end}} + {{end}} + + {{end}} + + {{end}} +
    {{.RowIdx}}{{.LeftCell}} {{.RightCell}}{{.RightCell}}{{.LeftCell}}{{.RightCell}}{{.LeftCell}} {{.RightCell}}{{.RightCell}}{{if .RowIdx}}{{.RowIdx}}{{end}}{{.LeftCell}} {{.RightCell}}{{.RightCell}}{{.LeftCell}}{{.RightCell}}{{.LeftCell}} {{.RightCell}}{{.RightCell}}
    + {{end}} + + diff --git a/data/gitea/templates/repo/diff/escape_title.tmpl b/data/gitea/templates/repo/diff/escape_title.tmpl new file mode 100644 index 0000000..e70f402 --- /dev/null +++ b/data/gitea/templates/repo/diff/escape_title.tmpl @@ -0,0 +1,2 @@ +{{if .diff.EscapeStatus.HasInvisible}}{{ctx.Locale.Tr "repo.invisible_runes_line"}} {{end}}{{/* +*/}}{{if .diff.EscapeStatus.HasAmbiguous}}{{ctx.Locale.Tr "repo.ambiguous_runes_line"}}{{end}} diff --git a/data/gitea/templates/repo/diff/image_diff.tmpl b/data/gitea/templates/repo/diff/image_diff.tmpl new file mode 100644 index 0000000..9ad7916 --- /dev/null +++ b/data/gitea/templates/repo/diff/image_diff.tmpl @@ -0,0 +1,83 @@ +{{if or .blobBase .blobHead}} + + +
    + + + +
    +
    +
    + {{if .blobBase}} + +

    {{ctx.Locale.Tr "repo.diff.file_before"}}

    + +

    + + {{ctx.Locale.Tr "repo.diff.file_image_width"}}: +  |  + {{ctx.Locale.Tr "repo.diff.file_image_height"}}: +  |  + + {{ctx.Locale.Tr "repo.diff.file_byte_size"}}: {{FileSize .blobBase.Size}} +

    +
    + {{end}} + {{if .blobHead}} + +

    {{ctx.Locale.Tr "repo.diff.file_after"}}

    + +

    + + {{ctx.Locale.Tr "repo.diff.file_image_width"}}: +  |  + {{ctx.Locale.Tr "repo.diff.file_image_height"}}: +  |  + + {{ctx.Locale.Tr "repo.diff.file_byte_size"}}: {{FileSize .blobHead.Size}} +

    +
    + {{end}} +
    +
    + {{if and .blobBase .blobHead}} +
    +
    +
    + + + + + + + + +
    +
    +
    +
    +
    + +
    + + +
    +
    +
    + {{end}} +
    +
    + + +{{end}} diff --git a/data/gitea/templates/repo/diff/new_comment.tmpl b/data/gitea/templates/repo/diff/new_comment.tmpl new file mode 100644 index 0000000..6a71539 --- /dev/null +++ b/data/gitea/templates/repo/diff/new_comment.tmpl @@ -0,0 +1,5 @@ +
    +
    + {{template "repo/diff/comment_form_datahandler" .}} +
    +
    diff --git a/data/gitea/templates/repo/diff/new_review.tmpl b/data/gitea/templates/repo/diff/new_review.tmpl new file mode 100644 index 0000000..1b74a23 --- /dev/null +++ b/data/gitea/templates/repo/diff/new_review.tmpl @@ -0,0 +1,56 @@ +
    + + {{if $.IsShowingAllCommits}} +
    +
    +
    + {{.CsrfTokenHtml}} + +
    +
    {{ctx.Locale.Tr "repo.diff.review.header"}}
    + {{svg "octicon-x" 16}} +
    +
    + {{template "shared/combomarkdowneditor" (dict + "MarkdownPreviewUrl" (print .Repository.Link "/markup") + "MarkdownPreviewContext" .RepoLink + "TextareaName" "content" + "TextareaPlaceholder" (ctx.Locale.Tr "repo.diff.review.placeholder") + "DropzoneParentContainer" "form" + )}} +
    + {{if .IsAttachmentEnabled}} +
    + {{template "repo/upload" .}} +
    + {{end}} +
    + {{$showSelfTooltip := (and $.IsSigned ($.Issue.IsPoster $.SignedUser.ID))}} + {{if not $.Issue.IsClosed}} + {{if $showSelfTooltip}} + + + + {{else}} + + {{end}} + {{end}} + + {{if not $.Issue.IsClosed}} + {{if $showSelfTooltip}} + + + + {{else}} + + {{end}} + {{end}} +
    +
    +
    + {{end}} +
    diff --git a/data/gitea/templates/repo/diff/options_dropdown.tmpl b/data/gitea/templates/repo/diff/options_dropdown.tmpl new file mode 100644 index 0000000..09b7b80 --- /dev/null +++ b/data/gitea/templates/repo/diff/options_dropdown.tmpl @@ -0,0 +1,33 @@ + diff --git a/data/gitea/templates/repo/diff/section_code.tmpl b/data/gitea/templates/repo/diff/section_code.tmpl new file mode 100644 index 0000000..3e8303e --- /dev/null +++ b/data/gitea/templates/repo/diff/section_code.tmpl @@ -0,0 +1 @@ +{{.diff.Content}} diff --git a/data/gitea/templates/repo/diff/section_split.tmpl b/data/gitea/templates/repo/diff/section_split.tmpl new file mode 100644 index 0000000..37b42bc --- /dev/null +++ b/data/gitea/templates/repo/diff/section_split.tmpl @@ -0,0 +1,157 @@ +{{$file := .file}} +{{$blobExcerptRepoLink := or ctx.RootData.CommitRepoLink ctx.RootData.RepoLink}} + + + + + + + + + + +{{range $j, $section := $file.Sections}} + {{range $k, $line := $section.Lines}} + {{$hasmatch := ne $line.Match -1}} + {{if or (ne .GetType 2) (not $hasmatch)}} + + {{if eq .GetType 4}} + {{$expandDirection := $line.GetExpandDirection}} + +
    + {{if or (eq $expandDirection 3) (eq $expandDirection 5)}} + + {{end}} + {{if or (eq $expandDirection 3) (eq $expandDirection 4)}} + + {{end}} + {{if eq $expandDirection 2}} + + {{end}} +
    + {{$inlineDiff := $section.GetComputedInlineDiffFor $line ctx.Locale}} + {{if $inlineDiff.EscapeStatus.Escaped}}{{end}} + {{/* + */}}{{template "repo/diff/section_code" dict "diff" $inlineDiff}}{{/* + */}} + {{else if and (eq .GetType 3) $hasmatch}}{{/* DEL */}} + {{$match := index $section.Lines $line.Match}} + {{- $leftDiff := ""}}{{if $line.LeftIdx}}{{$leftDiff = $section.GetComputedInlineDiffFor $line ctx.Locale}}{{end}} + {{- $rightDiff := ""}}{{if $match.RightIdx}}{{$rightDiff = $section.GetComputedInlineDiffFor $match ctx.Locale}}{{end}} + + {{if $line.LeftIdx}}{{if $leftDiff.EscapeStatus.Escaped}}{{end}}{{end}} + + {{/* + */}}{{if and $.root.SignedUserID $.root.PageIsPullFiles}}{{/* + */}}{{/* + */}}{{end}}{{/* + */}}{{if $line.LeftIdx}}{{/* + */}}{{template "repo/diff/section_code" dict "diff" $leftDiff}}{{/* + */}}{{else}}{{/* + */}}{{/* + */}}{{end}}{{/* + */}} + + {{if $match.RightIdx}}{{if $rightDiff.EscapeStatus.Escaped}}{{end}}{{end}} + {{if $match.RightIdx}}{{end}} + {{/* + */}}{{if and $.root.SignedUserID $.root.PageIsPullFiles}}{{/* + */}}{{/* + */}}{{end}}{{/* + */}}{{if $match.RightIdx}}{{/* + */}}{{template "repo/diff/section_code" dict "diff" $rightDiff}}{{/* + */}}{{else}}{{/* + */}}{{/* + */}}{{end}}{{/* + */}} + {{else}} + {{$inlineDiff := $section.GetComputedInlineDiffFor $line ctx.Locale}} + + {{if $line.LeftIdx}}{{if $inlineDiff.EscapeStatus.Escaped}}{{end}}{{end}} + {{if $line.LeftIdx}}{{end}} + {{/* + */}}{{if and $.root.SignedUserID $.root.PageIsPullFiles (not (eq .GetType 2))}}{{/* + */}}{{/* + */}}{{end}}{{/* + */}}{{if $line.LeftIdx}}{{/* + */}}{{template "repo/diff/section_code" dict "diff" $inlineDiff}}{{/* + */}}{{else}}{{/* + */}}{{/* + */}}{{end}}{{/* + */}} + + {{if $line.RightIdx}}{{if $inlineDiff.EscapeStatus.Escaped}}{{end}}{{end}} + {{if $line.RightIdx}}{{end}} + {{/* + */}}{{if and $.root.SignedUserID $.root.PageIsPullFiles (not (eq .GetType 3))}}{{/* + */}}{{/* + */}}{{end}}{{/* + */}}{{if $line.RightIdx}}{{/* + */}}{{template "repo/diff/section_code" dict "diff" $inlineDiff}}{{/* + */}}{{else}}{{/* + */}}{{/* + */}}{{end}}{{/* + */}} + {{end}} + + {{if and (eq .GetType 3) $hasmatch}} + {{$match := index $section.Lines $line.Match}} + {{if or $line.Comments $match.Comments}} + + + {{if $line.Comments}} + {{if eq $line.GetCommentSide "previous"}} + {{template "repo/diff/conversation" dict "." $.root "comments" $line.Comments}} + {{end}} + {{end}} + {{if $match.Comments}} + {{if eq $match.GetCommentSide "previous"}} + {{template "repo/diff/conversation" dict "." $.root "comments" $match.Comments}} + {{end}} + {{end}} + + + {{if $line.Comments}} + {{if eq $line.GetCommentSide "proposed"}} + {{template "repo/diff/conversation" dict "." $.root "comments" $line.Comments}} + {{end}} + {{end}} + {{if $match.Comments}} + {{if eq $match.GetCommentSide "proposed"}} + {{template "repo/diff/conversation" dict "." $.root "comments" $match.Comments}} + {{end}} + {{end}} + + + {{end}} + {{else if $line.Comments}} + + + {{if eq $line.GetCommentSide "previous"}} + {{template "repo/diff/conversation" dict "." $.root "comments" $line.Comments}} + {{end}} + + + {{if eq $line.GetCommentSide "proposed"}} + {{template "repo/diff/conversation" dict "." $.root "comments" $line.Comments}} + {{end}} + + + {{end}} + {{end}} + {{end}} +{{end}} diff --git a/data/gitea/templates/repo/diff/section_unified.tmpl b/data/gitea/templates/repo/diff/section_unified.tmpl new file mode 100644 index 0000000..708b333 --- /dev/null +++ b/data/gitea/templates/repo/diff/section_unified.tmpl @@ -0,0 +1,73 @@ +{{$file := .file}} +{{$blobExcerptRepoLink := or ctx.RootData.CommitRepoLink ctx.RootData.RepoLink}} + + + + + + + +{{range $j, $section := $file.Sections}} + {{range $k, $line := $section.Lines}} + + {{if eq .GetType 4}} + {{if $.root.AfterCommitID}} + {{$expandDirection := $line.GetExpandDirection}} + +
    + {{if or (eq $expandDirection 3) (eq $expandDirection 5)}} + + {{end}} + {{if or (eq $expandDirection 3) (eq $expandDirection 4)}} + + {{end}} + {{if eq $expandDirection 2}} + + {{end}} +
    + + {{else}} + {{/* for code file preview page or comment diffs on pull comment pages, do not show the expansion arrows */}} + + {{end}} + {{else}} + + + {{end}} + {{$inlineDiff := $section.GetComputedInlineDiffFor $line ctx.Locale -}} + + {{- if $inlineDiff.EscapeStatus.Escaped -}} + + {{- end -}} + + + {{if eq .GetType 4}} + {{/* + */}}{{template "repo/diff/section_code" dict "diff" $inlineDiff}}{{/* + */}} + {{else}} + {{/* + */}}{{if and $.root.SignedUserID $.root.PageIsPullFiles}}{{/* + */}}{{/* + */}}{{end}}{{/* + */}}{{template "repo/diff/section_code" dict "diff" $inlineDiff}}{{/* + */}} + {{end}} + + {{if $line.Comments}} + + + {{template "repo/diff/conversation" dict "." $.root "comments" $line.Comments}} + + + {{end}} + {{end}} +{{end}} diff --git a/data/gitea/templates/repo/diff/stats.tmpl b/data/gitea/templates/repo/diff/stats.tmpl new file mode 100644 index 0000000..d0dff1b --- /dev/null +++ b/data/gitea/templates/repo/diff/stats.tmpl @@ -0,0 +1,5 @@ +{{Eval .file.Addition "+" .file.Deletion}} + + {{/* if the denominator is zero, then the float result is "width: NaNpx", as before, it just works */}} +
    +
    diff --git a/data/gitea/templates/repo/diff/whitespace_dropdown.tmpl b/data/gitea/templates/repo/diff/whitespace_dropdown.tmpl new file mode 100644 index 0000000..c54de16 --- /dev/null +++ b/data/gitea/templates/repo/diff/whitespace_dropdown.tmpl @@ -0,0 +1,30 @@ + +{{if .IsSplitStyle}}{{svg "gitea-join"}}{{else}}{{svg "gitea-split"}}{{end}} diff --git a/data/gitea/templates/repo/editor/cherry_pick.tmpl b/data/gitea/templates/repo/editor/cherry_pick.tmpl new file mode 100644 index 0000000..f9c9eef --- /dev/null +++ b/data/gitea/templates/repo/editor/cherry_pick.tmpl @@ -0,0 +1,30 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{template "base/alert" .}} +
    + {{.CsrfTokenHtml}} + + + +
    + +
    + {{template "repo/editor/commit_form" .}} +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/editor/commit_form.tmpl b/data/gitea/templates/repo/editor/commit_form.tmpl new file mode 100644 index 0000000..21ef632 --- /dev/null +++ b/data/gitea/templates/repo/editor/commit_form.tmpl @@ -0,0 +1,74 @@ +
    + {{ctx.AvatarUtils.Avatar .SignedUser 48 "commit-avatar"}} +
    +

    {{- if .CanCommitToBranch.WillSign}} + {{svg "octicon-lock" 24}} + {{ctx.Locale.Tr "repo.editor.commit_signed_changes"}} + {{- else}} + {{svg "octicon-unlock" 24}} + {{ctx.Locale.Tr "repo.editor.commit_changes"}} + {{- end}}

    +
    + +
    +
    + +
    +
    +
    + + +
    +
    +
    +
    +
    + + +
    +
    + {{if and (not .Repository.IsEmpty) (not .IsEditingFileOnly)}} +
    +
    + {{if .CanCreatePullRequest}} + + {{else}} + + {{end}} + +
    +
    +
    +
    + {{svg "octicon-git-branch"}} + + +
    +
    + {{end}} +
    +
    + + {{ctx.Locale.Tr "repo.editor.cancel"}} +
    diff --git a/data/gitea/templates/repo/editor/delete.tmpl b/data/gitea/templates/repo/editor/delete.tmpl new file mode 100644 index 0000000..2c0c2fc --- /dev/null +++ b/data/gitea/templates/repo/editor/delete.tmpl @@ -0,0 +1,13 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{template "base/alert" .}} +
    + {{.CsrfTokenHtml}} + + {{template "repo/editor/commit_form" .}} +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/editor/diff_preview.tmpl b/data/gitea/templates/repo/editor/diff_preview.tmpl new file mode 100644 index 0000000..fd543a5 --- /dev/null +++ b/data/gitea/templates/repo/editor/diff_preview.tmpl @@ -0,0 +1,17 @@ +{{if .File}} +
    +
    +
    + + + {{template "repo/diff/section_unified" dict "file" .File "root" $}} + +
    +
    +
    +
    +{{else}} +
    + {{ctx.Locale.Tr "repo.editor.no_changes_to_show"}} +
    +{{end}} diff --git a/data/gitea/templates/repo/editor/edit.tmpl b/data/gitea/templates/repo/editor/edit.tmpl new file mode 100644 index 0000000..e990177 --- /dev/null +++ b/data/gitea/templates/repo/editor/edit.tmpl @@ -0,0 +1,78 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{template "base/alert" .}} +
    + {{.CsrfTokenHtml}} + + +
    + +
    + + {{template "repo/editor/commit_form" .}} +
    +
    + +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/editor/patch.tmpl b/data/gitea/templates/repo/editor/patch.tmpl new file mode 100644 index 0000000..a29021f --- /dev/null +++ b/data/gitea/templates/repo/editor/patch.tmpl @@ -0,0 +1,57 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{template "base/alert" .}} +
    + {{.CsrfTokenHtml}} + + +
    + +
    + + {{template "repo/editor/commit_form" .}} +
    +
    + + +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/editor/upload.tmpl b/data/gitea/templates/repo/editor/upload.tmpl new file mode 100644 index 0000000..5725020 --- /dev/null +++ b/data/gitea/templates/repo/editor/upload.tmpl @@ -0,0 +1,33 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{template "base/alert" .}} +
    + {{.CsrfTokenHtml}} +
    + +
    +
    + {{template "repo/upload" .}} +
    + {{template "repo/editor/commit_form" .}} +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/empty.tmpl b/data/gitea/templates/repo/empty.tmpl new file mode 100644 index 0000000..cb2a5ba --- /dev/null +++ b/data/gitea/templates/repo/empty.tmpl @@ -0,0 +1,82 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    +
    +
    + {{template "base/alert" .}} + {{if .Repository.IsArchived}} +
    + {{if .Repository.ArchivedUnix.IsZero}} + {{ctx.Locale.Tr "repo.archive.title"}} + {{else}} + {{ctx.Locale.Tr "repo.archive.title_date" (DateTime "long" .Repository.ArchivedUnix)}} + {{end}} +
    + {{end}} + {{if .Repository.IsBroken}} +
    + {{ctx.Locale.Tr "repo.broken_message"}} +
    + {{else if .CanWriteCode}} +

    + {{ctx.Locale.Tr "repo.quick_guide"}} +

    +
    +
    +

    {{ctx.Locale.Tr "repo.clone_this_repo"}} {{ctx.Locale.Tr "repo.clone_helper" "http://git-scm.com/book/en/Git-Basics-Getting-a-Git-Repository"}}

    + +
    + {{if and .CanWriteCode (not .Repository.IsArchived)}} + + {{ctx.Locale.Tr "repo.editor.new_file"}} + + {{if .RepositoryUploadEnabled}} + + {{ctx.Locale.Tr "repo.editor.upload_file"}} + + {{end}} + {{end}} +
    + {{template "repo/clone_buttons" .}} +
    +
    +
    + + {{if not .Repository.IsArchived}} +
    + +
    +

    {{ctx.Locale.Tr "repo.create_new_repo_command"}}

    +
    +
    touch README.md
    +git init
    +{{if ne .Repository.DefaultBranch "master"}}git checkout -b {{.Repository.DefaultBranch}}{{end}}
    +git add README.md
    +git commit -m "first commit"
    +git remote add origin {{$.CloneButtonOriginLink.HTTPS}}
    +git push -u origin {{.Repository.DefaultBranch}}
    +
    +
    +
    + +
    +

    {{ctx.Locale.Tr "repo.push_exist_repo"}}

    +
    +
    git remote add origin {{$.CloneButtonOriginLink.HTTPS}}
    +git push -u origin {{.Repository.DefaultBranch}}
    +
    +
    + {{end}} + {{else}} +
    + {{ctx.Locale.Tr "repo.empty_message"}} +
    + {{end}} + {{template "repo/clone_script" .}} +
    +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/file_info.tmpl b/data/gitea/templates/repo/file_info.tmpl new file mode 100644 index 0000000..823cf1b --- /dev/null +++ b/data/gitea/templates/repo/file_info.tmpl @@ -0,0 +1,48 @@ +
    + {{if .FileIsSymlink}} +
    + {{ctx.Locale.Tr "repo.symbolic_link"}} +
    + {{end}} + {{if .NumLinesSet}}{{/* Explicit attribute needed to show 0 line changes */}} +
    + {{.NumLines}} {{ctx.Locale.TrN .NumLines "repo.line" "repo.lines"}} +
    + {{end}} + {{if .FileSize}} +
    + {{FileSize .FileSize}}{{if .IsLFSFile}} ({{ctx.Locale.Tr "repo.stored_lfs"}}){{end}} +
    + {{end}} + {{if .LFSLock}} +
    + {{svg "octicon-lock" 16 "tw-mr-1"}} + {{.LFSLockOwner}} +
    + {{end}} + {{if .LexerName}} +
    + {{.LexerName}} +
    + {{end}} + {{if .IsExecutable}} +
    + {{ctx.Locale.Tr "repo.executable_file"}} +
    + {{end}} + {{if .IsVendored}} +
    + {{ctx.Locale.Tr "repo.vendored"}} +
    + {{end}} + {{if .IsGenerated}} +
    + {{ctx.Locale.Tr "repo.generated"}} +
    + {{end}} + {{if .ImageSize}} +
    + {{.ImageSize}} +
    + {{end}} +
    diff --git a/data/gitea/templates/repo/find/files.tmpl b/data/gitea/templates/repo/find/files.tmpl new file mode 100644 index 0000000..548ce2f --- /dev/null +++ b/data/gitea/templates/repo/find/files.tmpl @@ -0,0 +1,21 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    +
    + {{.RepoName}} + / +
    + +
    +
    + + + +
    +
    +

    {{ctx.Locale.Tr "repo.find_file.no_matching"}}

    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/forks.tmpl b/data/gitea/templates/repo/forks.tmpl new file mode 100644 index 0000000..412c59b --- /dev/null +++ b/data/gitea/templates/repo/forks.tmpl @@ -0,0 +1,18 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    +

    + {{ctx.Locale.Tr "repo.forks"}} +

    + {{range .Forks}} +
    + {{ctx.AvatarUtils.Avatar .Owner}} + {{.Owner.Name}} / {{.Name}} +
    + {{end}} +
    + + {{template "base/paginate" .}} +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/graph.tmpl b/data/gitea/templates/repo/graph.tmpl new file mode 100644 index 0000000..9eb4bd4 --- /dev/null +++ b/data/gitea/templates/repo/graph.tmpl @@ -0,0 +1,62 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    +
    +

    + {{ctx.Locale.Tr "repo.commit_graph"}} +
    + + + +
    +

    +
    +
    + {{template "repo/graph/svgcontainer" .}} + {{template "repo/graph/commits" .}} +
    +
    +
    + +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/graph/commits.tmpl b/data/gitea/templates/repo/graph/commits.tmpl new file mode 100644 index 0000000..a90c530 --- /dev/null +++ b/data/gitea/templates/repo/graph/commits.tmpl @@ -0,0 +1,79 @@ +
    + +
    diff --git a/data/gitea/templates/repo/graph/div.tmpl b/data/gitea/templates/repo/graph/div.tmpl new file mode 100644 index 0000000..c0bd4e2 --- /dev/null +++ b/data/gitea/templates/repo/graph/div.tmpl @@ -0,0 +1,7 @@ +
    + {{template "repo/graph/svgcontainer" .}} + {{template "repo/graph/commits" .}} + +
    diff --git a/data/gitea/templates/repo/graph/svgcontainer.tmpl b/data/gitea/templates/repo/graph/svgcontainer.tmpl new file mode 100644 index 0000000..99c3c87 --- /dev/null +++ b/data/gitea/templates/repo/graph/svgcontainer.tmpl @@ -0,0 +1,24 @@ +
    + + {{range $flowid, $flow := .Graph.Flows}} + + + {{range $flow.Commits}} + + {{end}} + + {{end}} + +
    diff --git a/data/gitea/templates/repo/header.tmpl b/data/gitea/templates/repo/header.tmpl new file mode 100644 index 0000000..dab4614 --- /dev/null +++ b/data/gitea/templates/repo/header.tmpl @@ -0,0 +1,222 @@ +
    +{{ if .IsSigned }} +{{with .Repository}} +
    + +
    +
    +
    + {{template "repo/icon" .}} +
    + +
    + {{if .IsArchived}} + {{ctx.Locale.Tr "repo.desc.archived"}} +
    {{svg "octicon-archive" 18}}
    + {{end}} + {{if .IsPrivate}} + {{ctx.Locale.Tr "repo.desc.private"}} +
    {{svg "octicon-lock" 18}}
    + {{else}} + {{if .Owner.Visibility.IsPrivate}} + {{ctx.Locale.Tr "repo.desc.internal"}} +
    {{svg "octicon-shield-lock" 18}}
    + {{end}} + {{end}} + {{if .IsTemplate}} + {{ctx.Locale.Tr "repo.desc.template"}} +
    {{svg "octicon-repo-template" 18}}
    + {{end}} + {{if eq .ObjectFormatName "sha256"}} + {{ctx.Locale.Tr "repo.desc.sha256"}} + {{end}} +
    +
    + {{if not (or .IsBeingCreated .IsBroken)}} +
    + {{if $.RepoTransfer}} +
    + {{$.CsrfTokenHtml}} +
    + +
    +
    +
    + {{$.CsrfTokenHtml}} +
    + +
    +
    + {{end}} + {{if $.EnableFeed}} + {{/* An extra div-element is not necessary here, as this button does not secretly contain two buttons. */}} + + {{svg "octicon-rss" 16}} + + {{end}} + {{template "repo/watch_unwatch" $}} + {{if not $.DisableStars}} + {{template "repo/star_unstar" $}} + {{end}} + {{if and (not .IsEmpty) ($.Permission.CanRead ctx.Consts.RepoUnitTypeCode)}} + + + {{end}} +
    + {{end}} +
    + {{if $.PullMirror}} +
    + {{ctx.Locale.Tr "repo.mirror_from"}} + {{$.PullMirror.RemoteAddress}} + {{if $.PullMirror.UpdatedUnix}}{{ctx.Locale.Tr "repo.mirror_sync"}} {{TimeSinceUnix $.PullMirror.UpdatedUnix ctx.Locale}}{{end}} +
    + {{end}} + {{if .IsFork}}
    {{ctx.Locale.Tr "repo.forked_from"}} {{.BaseRepo.FullName}}
    {{end}} + {{if .IsGenerated}}
    {{ctx.Locale.Tr "repo.generated_from"}} {{(.TemplateRepo ctx).FullName}}
    {{end}} +
    +{{end}} +
    + + {{if not (or .Repository.IsBeingCreated .Repository.IsBroken)}} +
    + {{if .Permission.CanRead ctx.Consts.RepoUnitTypeCode}} + + {{svg "octicon-code"}} {{ctx.Locale.Tr "repo.code"}} + + {{end}} + + {{if .Permission.CanRead ctx.Consts.RepoUnitTypeIssues}} + + {{svg "octicon-issue-opened"}} {{ctx.Locale.Tr "repo.issues"}} + {{if .Repository.NumOpenIssues}} + {{CountFmt .Repository.NumOpenIssues}} + {{end}} + + {{end}} + + {{if .Permission.CanRead ctx.Consts.RepoUnitTypeExternalTracker}} + + {{svg "octicon-link-external"}} {{ctx.Locale.Tr "repo.issues"}} + + {{end}} + + {{if and .IsSigned .Repository.CanEnablePulls (.Permission.CanRead ctx.Consts.RepoUnitTypePullRequests)}} + + {{svg "octicon-git-pull-request"}} {{ctx.Locale.Tr "repo.pulls"}} + {{if .Repository.NumOpenPulls}} + {{CountFmt .Repository.NumOpenPulls}} + {{end}} + + {{end}} + + {{if and .IsSigned .EnableActions (not .UnitActionsGlobalDisabled) (.Permission.CanRead ctx.Consts.RepoUnitTypeActions)}} + + {{svg "octicon-play"}} {{ctx.Locale.Tr "actions.actions"}} + {{if .Repository.NumOpenActionRuns}} + {{CountFmt .Repository.NumOpenActionRuns}} + {{end}} + + {{end}} + + {{if and .IsSigned (.Permission.CanRead ctx.Consts.RepoUnitTypePackages)}} + + {{svg "octicon-package"}} {{ctx.Locale.Tr "packages.title"}} + + {{end}} + {{ if .IsSigned }} + {{$projectsUnit := .Repository.MustGetUnit $.Context ctx.Consts.RepoUnitTypeProjects}} + {{if and (not .UnitProjectsGlobalDisabled) (.Permission.CanRead ctx.Consts.RepoUnitTypeProjects) ($projectsUnit.ProjectsConfig.IsProjectsAllowed "repo")}} + {{ end}} + + {{svg "octicon-project"}} {{ctx.Locale.Tr "repo.project_board"}} + {{if .Repository.NumOpenProjects}} + {{CountFmt .Repository.NumOpenProjects}} + {{end}} + + {{end}} + + + {{if and (.Permission.CanReadAny ctx.Consts.RepoUnitTypePullRequests ctx.Consts.RepoUnitTypeIssues ctx.Consts.RepoUnitTypeReleases) (not .IsEmptyRepo)}} + {{ if false }} + + {{svg "octicon-pulse"}} {{ctx.Locale.Tr "repo.activity"}} + + {{end}} + {{end}} + + {{template "custom/extra_tabs" .}} + + {{if .Permission.IsAdmin}} + + + {{svg "octicon-tools"}} {{ctx.Locale.Tr "repo.settings"}} + + {{end}} +
    + {{else if .Permission.IsAdmin}} + + {{end}} +
    +
    +
    +
    +{{ end }} diff --git a/data/gitea/templates/repo/home.tmpl b/data/gitea/templates/repo/home.tmpl new file mode 100644 index 0000000..41b1068 --- /dev/null +++ b/data/gitea/templates/repo/home.tmpl @@ -0,0 +1,177 @@ +{{template "base/head" .}} +
    + + {{template "repo/header" .}} +
    + + {{template "base/alert" .}} + {{template "repo/code/recently_pushed_new_branches" .}} + {{if and false (not .HideRepoInfo) (not .IsBlame)}} +
    + {{- $description := .Repository.DescriptionHTML ctx -}} + {{if $description}}{{$description | RenderCodeBlock}}{{end}} + {{if .Repository.Website}}{{.Repository.Website}}{{end}} +
    +
    + {{/* it should match the code in issue-home.js */}} + {{range .Topics}}{{.Name}}{{end}} + {{if and .Permission.IsAdmin (not .Repository.IsArchived)}}{{end}} +
    + {{end}} + {{ if and (not .HideRepoInfo) (not .IsBlame)}} + +
    + Source files of this project at buttom of page. All source is under MIT license if no LICENSE file in list. + +
    + {{ end }} + + {{if and .Permission.IsAdmin (not .Repository.IsArchived)}} +
    + +
    + + +
    +
    + {{end}} + {{if .Repository.IsArchived}} +
    + {{if .Repository.ArchivedUnix.IsZero}} + {{ctx.Locale.Tr "repo.archive.title"}} + {{else}} + {{ctx.Locale.Tr "repo.archive.title_date" (DateTime "long" .Repository.ArchivedUnix)}} + {{end}} +
    + {{end}} + + + {{$n := len .TreeNames}} + {{$l := Eval $n "-" 1}} + + {{if .IsViewFile}} + {{template "repo/view_file" .}} + {{else if .IsBlame}} + {{template "repo/blame" .}} + {{else}}{{/* IsViewDirectory */}} + +
    + {{template "repo/view_list" .}} +
    + {{end}} + + {{ if .IsSigned }} + {{template "repo/sub_menu" .}} + {{ end }} + {{$isHomepage := (eq $n 0)}} +
    +
    + {{template "repo/branch_dropdown" dict "root" . "ContainerClasses" "tw-mr-1"}} + {{if and .CanCompareOrPull .IsViewBranch (not .Repository.IsArchived)}} + {{$cmpBranch := ""}} + {{if ne .Repository.ID .BaseRepo.ID}} + {{$cmpBranch = printf "%s/%s:" (.Repository.OwnerName|PathEscape) (.Repository.Name|PathEscape)}} + {{end}} + {{$cmpBranch = print $cmpBranch (.BranchName|PathEscapeSegments)}} + {{$compareLink := printf "%s/compare/%s...%s" .BaseRepo.Link (.BaseRepo.DefaultBranch|PathEscapeSegments) $cmpBranch}} + + {{svg "octicon-git-pull-request"}} + + {{end}} + + {{if $isHomepage}} + {{ctx.Locale.Tr "repo.find_file.go_to_file"}} + {{end}} + + {{if and .CanWriteCode .IsViewBranch (not .Repository.IsMirror) (not .Repository.IsArchived) (not .IsViewFile)}} + + {{end}} + + {{if and $isHomepage (.Repository.IsTemplate)}} + + {{ctx.Locale.Tr "repo.use_template"}} + + {{end}} + {{if $isHomepage}} + {{/* only show the "code search" on the repo home page, it only does global search, + so do not show it when viewing file or directory to avoid misleading users (it doesn't search in a directory) */}} +
    +
    + + {{template "shared/search/button"}} +
    +
    + {{else}} + + {{StringUtils.EllipsisString .Repository.Name 30}} + {{- range $i, $v := .TreeNames -}} + / + {{- if eq $i $l -}} + {{$v}} + {{- else -}} + {{$p := index $.Paths $i}}{{$v}} + {{- end -}} + {{- end -}} + + {{end}} +
    +
    + + {{if $isHomepage}} +
    + {{template "repo/clone_buttons" .}} + + {{template "repo/clone_script" .}}{{/* the script will update `.js-clone-url` and related elements */}} +
    + {{template "repo/cite/cite_modal" .}} + {{end}} + {{if and (not $isHomepage) (not .IsViewFile) (not .IsBlame)}}{{/* IsViewDirectory (not home), TODO: split the templates, avoid using "if" tricks */}} + + {{svg "octicon-history" 16 "tw-mr-2"}}{{ctx.Locale.Tr "repo.file_history"}} + + {{end}} +
    +
    + +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/icon.tmpl b/data/gitea/templates/repo/icon.tmpl new file mode 100644 index 0000000..e5e0bd6 --- /dev/null +++ b/data/gitea/templates/repo/icon.tmpl @@ -0,0 +1,10 @@ +{{$avatarLink := (.RelAvatarLink ctx)}} +{{if $avatarLink}} + {{.FullName}} +{{else if $.IsMirror}} + {{svg "octicon-mirror" 24}} +{{else if $.IsFork}} + {{svg "octicon-repo-forked" 24}} +{{else}} + {{svg "octicon-repo" 24}} +{{end}} diff --git a/data/gitea/templates/repo/issue/branch_selector_field.tmpl b/data/gitea/templates/repo/issue/branch_selector_field.tmpl new file mode 100644 index 0000000..5793a8b --- /dev/null +++ b/data/gitea/templates/repo/issue/branch_selector_field.tmpl @@ -0,0 +1,49 @@ +{{if and (not .Issue.IsPull) (not .PageIsComparePull)}} + + + +
    +{{end}} diff --git a/data/gitea/templates/repo/issue/card.tmpl b/data/gitea/templates/repo/issue/card.tmpl new file mode 100644 index 0000000..4c22c28 --- /dev/null +++ b/data/gitea/templates/repo/issue/card.tmpl @@ -0,0 +1,78 @@ +{{with .Issue}} + {{if eq $.Page.Project.CardType 1}}{{/* Images and Text*/}} + {{$attachments := index $.Page.issuesAttachmentMap .ID}} + {{if $attachments}} +
    + {{range $attachments}} + {{.Name}} + {{end}} +
    + {{end}} + {{end}} +
    +
    +
    + {{template "shared/issueicon" .}} +
    + {{.Title | RenderEmoji ctx | RenderCodeBlock}} + {{if and $.isPinnedIssueCard $.Page.IsRepoAdmin}} + + {{svg "octicon-x" 16}} + + {{end}} +
    +
    + + {{if not $.Page.Repository}}{{.Repo.FullName}}{{end}}#{{.Index}} + {{$timeStr := TimeSinceUnix .GetLastEventTimestamp ctx.Locale}} + {{if .OriginalAuthor}} + {{ctx.Locale.Tr .GetLastEventLabelFake $timeStr .OriginalAuthor}} + {{else if gt .Poster.ID 0}} + {{ctx.Locale.Tr .GetLastEventLabel $timeStr .Poster.HomeLink .Poster.GetDisplayName}} + {{else}} + {{ctx.Locale.Tr .GetLastEventLabelFake $timeStr .Poster.GetDisplayName}} + {{end}} + +
    + {{if .MilestoneID}} + + {{end}} + {{if $.Page.LinkedPRs}} + {{range index $.Page.LinkedPRs .ID}} + + {{end}} + {{end}} + {{$tasks := .GetTasks}} + {{if gt $tasks 0}} +
    + {{svg "octicon-checklist" 16 "tw-mr-1 tw-align-middle"}} + {{.GetTasksDone}} / {{$tasks}} +
    + {{end}} +
    + + {{if or .Labels .Assignees}} +
    +
    + {{range .Labels}} + {{RenderLabel ctx ctx.Locale .}} + {{end}} +
    +
    + {{range .Assignees}} + {{ctx.AvatarUtils.Avatar . 28}} + {{end}} +
    +
    + {{end}} +{{end}} diff --git a/data/gitea/templates/repo/issue/choose.tmpl b/data/gitea/templates/repo/issue/choose.tmpl new file mode 100644 index 0000000..38cf9e4 --- /dev/null +++ b/data/gitea/templates/repo/issue/choose.tmpl @@ -0,0 +1,59 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{template "base/alert" .}} +
    + {{template "repo/issue/navbar" .}} +
    +
    + {{range .IssueTemplates}} +
    +
    +
    + {{.Name}} +
    {{.About}} +
    + +
    +
    + {{end}} + {{range .IssueConfig.ContactLinks}} + + {{end}} + {{if .IssueConfig.BlankIssuesEnabled}} +
    +
    +
    + {{ctx.Locale.Tr "repo.issues.choose.blank"}} +
    {{ctx.Locale.Tr "repo.issues.choose.blank_about"}} +
    + +
    +
    + {{end}} + {{- if .IssueConfigError}}{{/* normal warning flash makes problems here*/}} +
    +
    +
    {{ctx.Locale.Tr "repo.issues.choose.invalid_config"}}
    +
    {{.IssueConfigError}}
    +
    +
    + {{end}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/issue/comment_tab.tmpl b/data/gitea/templates/repo/issue/comment_tab.tmpl new file mode 100644 index 0000000..4197ea4 --- /dev/null +++ b/data/gitea/templates/repo/issue/comment_tab.tmpl @@ -0,0 +1,21 @@ +{{$textareaContent := .BodyQuery}} +{{if not $textareaContent}}{{$textareaContent = .IssueTemplate}}{{end}} +{{if not $textareaContent}}{{$textareaContent = .PullRequestTemplate}}{{end}} +{{if not $textareaContent}}{{$textareaContent = .content}}{{end}} + +
    + {{template "shared/combomarkdowneditor" (dict + "MarkdownPreviewUrl" (print .Repository.Link "/markup") + "MarkdownPreviewContext" .RepoLink + "TextareaName" "content" + "TextareaContent" $textareaContent + "TextareaPlaceholder" (ctx.Locale.Tr "repo.diff.comment.placeholder") + "DropzoneParentContainer" "form, .ui.form" + )}} +
    + +{{if .IsAttachmentEnabled}} +
    + {{template "repo/upload" .}} +
    +{{end}} diff --git a/data/gitea/templates/repo/issue/fields/checkboxes.tmpl b/data/gitea/templates/repo/issue/fields/checkboxes.tmpl new file mode 100644 index 0000000..531f401 --- /dev/null +++ b/data/gitea/templates/repo/issue/fields/checkboxes.tmpl @@ -0,0 +1,14 @@ +
    + {{template "repo/issue/fields/header" .}} + {{range $i, $opt := .item.Attributes.options}} +
    +
    + + +
    + {{if $opt.required}} + + {{end}} +
    + {{end}} +
    diff --git a/data/gitea/templates/repo/issue/fields/dropdown.tmpl b/data/gitea/templates/repo/issue/fields/dropdown.tmpl new file mode 100644 index 0000000..26505f5 --- /dev/null +++ b/data/gitea/templates/repo/issue/fields/dropdown.tmpl @@ -0,0 +1,17 @@ +
    + {{template "repo/issue/fields/header" .}} + {{/* FIXME: required validation */}} + +
    diff --git a/data/gitea/templates/repo/issue/fields/header.tmpl b/data/gitea/templates/repo/issue/fields/header.tmpl new file mode 100644 index 0000000..6034fed --- /dev/null +++ b/data/gitea/templates/repo/issue/fields/header.tmpl @@ -0,0 +1,6 @@ +{{if .item.Attributes.label}} +

    {{.item.Attributes.label}}{{if .item.Validations.required}}{{end}}

    +{{end}} +{{if .item.Attributes.description}} + {{RenderMarkdownToHtml .Context .item.Attributes.description}} +{{end}} diff --git a/data/gitea/templates/repo/issue/fields/input.tmpl b/data/gitea/templates/repo/issue/fields/input.tmpl new file mode 100644 index 0000000..039f9a9 --- /dev/null +++ b/data/gitea/templates/repo/issue/fields/input.tmpl @@ -0,0 +1,4 @@ +
    + {{template "repo/issue/fields/header" .}} + +
    diff --git a/data/gitea/templates/repo/issue/fields/markdown.tmpl b/data/gitea/templates/repo/issue/fields/markdown.tmpl new file mode 100644 index 0000000..934699e --- /dev/null +++ b/data/gitea/templates/repo/issue/fields/markdown.tmpl @@ -0,0 +1,3 @@ +
    +
    {{RenderMarkdownToHtml .Context .item.Attributes.value}}
    +
    diff --git a/data/gitea/templates/repo/issue/fields/textarea.tmpl b/data/gitea/templates/repo/issue/fields/textarea.tmpl new file mode 100644 index 0000000..3ad69e1 --- /dev/null +++ b/data/gitea/templates/repo/issue/fields/textarea.tmpl @@ -0,0 +1,24 @@ +{{$useMarkdownEditor := not .item.Attributes.render}} +
    + {{template "repo/issue/fields/header" .}} + + {{/* the real form element to provide the value */}} + + + {{if $useMarkdownEditor}} + {{template "shared/combomarkdowneditor" (dict + "ContainerClasses" "tw-hidden" + "MarkdownPreviewUrl" (print .root.RepoLink "/markup") + "MarkdownPreviewContext" .root.RepoLink + "TextareaContent" .item.Attributes.value + "TextareaPlaceholder" .item.Attributes.placeholder + "DropzoneParentContainer" ".combo-editor-dropzone" + )}} + + {{if .root.IsAttachmentEnabled}} +
    + {{template "repo/upload" .root}} +
    + {{end}} + {{end}} +
    diff --git a/data/gitea/templates/repo/issue/filter_actions.tmpl b/data/gitea/templates/repo/issue/filter_actions.tmpl new file mode 100644 index 0000000..56ae7dc --- /dev/null +++ b/data/gitea/templates/repo/issue/filter_actions.tmpl @@ -0,0 +1,128 @@ + + diff --git a/data/gitea/templates/repo/issue/filter_list.tmpl b/data/gitea/templates/repo/issue/filter_list.tmpl new file mode 100644 index 0000000..c6de497 --- /dev/null +++ b/data/gitea/templates/repo/issue/filter_list.tmpl @@ -0,0 +1,206 @@ + + + +{{if not .Milestone}} + + +{{end}} + + + + + + + + + + +{{if .IsSigned}} + + +{{end}} + + + diff --git a/data/gitea/templates/repo/issue/filters.tmpl b/data/gitea/templates/repo/issue/filters.tmpl new file mode 100644 index 0000000..06e7c1a --- /dev/null +++ b/data/gitea/templates/repo/issue/filters.tmpl @@ -0,0 +1,26 @@ +
    +
    + {{if and $.CanWriteIssuesOrPulls .Issues}} + + {{end}} + {{template "repo/issue/openclose" .}} + + {{if .TotalTrackedTime}} + + {{end}} +
    +
    + +
    +
    diff --git a/data/gitea/templates/repo/issue/label_precolors.tmpl b/data/gitea/templates/repo/issue/label_precolors.tmpl new file mode 100644 index 0000000..8000766 --- /dev/null +++ b/data/gitea/templates/repo/issue/label_precolors.tmpl @@ -0,0 +1,22 @@ +
    +
    + + + + + + + + +
    +
    + + + + + + + + +
    +
    diff --git a/data/gitea/templates/repo/issue/labels.tmpl b/data/gitea/templates/repo/issue/labels.tmpl new file mode 100644 index 0000000..230777e --- /dev/null +++ b/data/gitea/templates/repo/issue/labels.tmpl @@ -0,0 +1,22 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    +
    + {{template "repo/issue/navbar" .}} + {{if and (or .CanWriteIssues .CanWritePulls) (not .Repository.IsArchived)}} + + {{end}} +
    + {{if and (or .CanWriteIssues .CanWritePulls) (not .Repository.IsArchived)}} + {{template "repo/issue/labels/label_new" .}} + {{end}} + {{template "base/alert" .}} + {{template "repo/issue/labels/label_list" .}} +
    +
    + +{{if and (or .CanWriteIssues .CanWritePulls) (not .Repository.IsArchived)}} + {{template "repo/issue/labels/edit_delete_label" .}} +{{end}} +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/issue/labels/edit_delete_label.tmpl b/data/gitea/templates/repo/issue/labels/edit_delete_label.tmpl new file mode 100644 index 0000000..fcf6921 --- /dev/null +++ b/data/gitea/templates/repo/issue/labels/edit_delete_label.tmpl @@ -0,0 +1,72 @@ + + + diff --git a/data/gitea/templates/repo/issue/labels/label.tmpl b/data/gitea/templates/repo/issue/labels/label.tmpl new file mode 100644 index 0000000..3651ba1 --- /dev/null +++ b/data/gitea/templates/repo/issue/labels/label.tmpl @@ -0,0 +1,7 @@ + + {{- RenderLabel $.Context ctx.Locale .label -}} + diff --git a/data/gitea/templates/repo/issue/labels/label_archived.tmpl b/data/gitea/templates/repo/issue/labels/label_archived.tmpl new file mode 100644 index 0000000..feaf77e --- /dev/null +++ b/data/gitea/templates/repo/issue/labels/label_archived.tmpl @@ -0,0 +1,5 @@ +{{if .IsArchived}} + + {{ctx.Locale.Tr "archived"}} + +{{end}} diff --git a/data/gitea/templates/repo/issue/labels/label_list.tmpl b/data/gitea/templates/repo/issue/labels/label_list.tmpl new file mode 100644 index 0000000..413d640 --- /dev/null +++ b/data/gitea/templates/repo/issue/labels/label_list.tmpl @@ -0,0 +1,86 @@ +

    + {{ctx.Locale.Tr "repo.issues.label_count" .NumLabels}} + +

    + +
    + {{if and (not $.PageIsOrgSettingsLabels) (or $.CanWriteIssues $.CanWritePulls) (eq .NumLabels 0) (not $.Repository.IsArchived)}} + {{template "repo/issue/labels/label_load_template" .}} +
    + {{else if and ($.PageIsOrgSettingsLabels) (eq .NumLabels 0)}} + {{template "repo/issue/labels/label_load_template" .}} +
    + {{end}} + + +
    diff --git a/data/gitea/templates/repo/issue/labels/label_load_template.tmpl b/data/gitea/templates/repo/issue/labels/label_load_template.tmpl new file mode 100644 index 0000000..3cb2442 --- /dev/null +++ b/data/gitea/templates/repo/issue/labels/label_load_template.tmpl @@ -0,0 +1,21 @@ +
    +
    +

    {{ctx.Locale.Tr "repo.issues.label_templates.info"}}

    +
    + {{.CsrfTokenHtml}} +
    + +
    + +
    +
    +
    diff --git a/data/gitea/templates/repo/issue/labels/label_new.tmpl b/data/gitea/templates/repo/issue/labels/label_new.tmpl new file mode 100644 index 0000000..32fd8e7 --- /dev/null +++ b/data/gitea/templates/repo/issue/labels/label_new.tmpl @@ -0,0 +1,48 @@ + diff --git a/data/gitea/templates/repo/issue/labels/labels_selector_field.tmpl b/data/gitea/templates/repo/issue/labels/labels_selector_field.tmpl new file mode 100644 index 0000000..e5f15ca --- /dev/null +++ b/data/gitea/templates/repo/issue/labels/labels_selector_field.tmpl @@ -0,0 +1,46 @@ + diff --git a/data/gitea/templates/repo/issue/labels/labels_sidebar.tmpl b/data/gitea/templates/repo/issue/labels/labels_sidebar.tmpl new file mode 100644 index 0000000..0b7b9b8 --- /dev/null +++ b/data/gitea/templates/repo/issue/labels/labels_sidebar.tmpl @@ -0,0 +1,11 @@ +
    + + {{ctx.Locale.Tr "repo.issues.new.no_label"}} + {{range .root.Labels}} + {{template "repo/issue/labels/label" dict "root" $.root "label" .}} + {{end}} + {{range .root.OrgLabels}} + {{template "repo/issue/labels/label" dict "root" $.root "label" .}} + {{end}} + +
    diff --git a/data/gitea/templates/repo/issue/list.tmpl b/data/gitea/templates/repo/issue/list.tmpl new file mode 100644 index 0000000..30edf82 --- /dev/null +++ b/data/gitea/templates/repo/issue/list.tmpl @@ -0,0 +1,55 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{template "base/alert" .}} + + {{if .PinnedIssues}} +
    + {{range .PinnedIssues}} +
    + {{template "repo/issue/card" (dict "Issue" . "Page" $ "isPinnedIssueCard" true)}} +
    + {{end}} +
    + {{end}} + +
    + {{template "repo/issue/navbar" .}} + {{template "repo/issue/search" .}} + {{if not .Repository.IsArchived}} + {{if .PageIsIssueList}} + {{ctx.Locale.Tr "repo.issues.new"}} + {{else}} + {{ctx.Locale.Tr "repo.pulls.new"}} + {{end}} + {{else}} + {{if not .PageIsIssueList}} + {{ctx.Locale.Tr "action.compare_commits_general"}} + {{end}} + {{end}} +
    + + {{template "repo/issue/filters" .}} + +
    +
    + {{template "repo/issue/openclose" .}} + + {{if .TotalTrackedTime}} + + {{end}} +
    +
    + {{template "repo/issue/filter_actions" .}} +
    +
    + {{template "shared/issuelist" dict "." . "listType" "repo"}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/issue/milestone/filter_list.tmpl b/data/gitea/templates/repo/issue/milestone/filter_list.tmpl new file mode 100644 index 0000000..45f9866 --- /dev/null +++ b/data/gitea/templates/repo/issue/milestone/filter_list.tmpl @@ -0,0 +1,15 @@ + + diff --git a/data/gitea/templates/repo/issue/milestone/select_menu.tmpl b/data/gitea/templates/repo/issue/milestone/select_menu.tmpl new file mode 100644 index 0000000..9b0492c --- /dev/null +++ b/data/gitea/templates/repo/issue/milestone/select_menu.tmpl @@ -0,0 +1,38 @@ +{{if or .OpenMilestones .ClosedMilestones}} + +
    +{{end}} +
    {{ctx.Locale.Tr "repo.issues.new.clear_milestone"}}
    +{{if and (not .OpenMilestones) (not .ClosedMilestones)}} +
    + {{ctx.Locale.Tr "repo.issues.new.no_items"}} +
    +{{else}} + {{if .OpenMilestones}} +
    +
    + {{ctx.Locale.Tr "repo.issues.new.open_milestone"}} +
    + {{range .OpenMilestones}} + + {{svg "octicon-milestone" 16 "tw-mr-1"}} + {{.Name}} + + {{end}} + {{end}} + {{if .ClosedMilestones}} +
    +
    + {{ctx.Locale.Tr "repo.issues.new.closed_milestone"}} +
    + {{range .ClosedMilestones}} + + {{svg "octicon-milestone" 16 "tw-mr-1"}} + {{.Name}} + + {{end}} + {{end}} +{{end}} diff --git a/data/gitea/templates/repo/issue/milestone_issues.tmpl b/data/gitea/templates/repo/issue/milestone_issues.tmpl new file mode 100644 index 0000000..5bae6fc --- /dev/null +++ b/data/gitea/templates/repo/issue/milestone_issues.tmpl @@ -0,0 +1,65 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{template "base/alert" .}} +
    +

    {{.Milestone.Name}}

    + {{if not .Repository.IsArchived}} +
    + {{if or .CanWriteIssues .CanWritePulls}} + {{if .Milestone.IsClosed}} + {{ctx.Locale.Tr "repo.milestones.open"}} + + {{else}} + {{ctx.Locale.Tr "repo.milestones.close"}} + + {{end}} + {{ctx.Locale.Tr "repo.milestones.edit"}} + {{end}} + {{ctx.Locale.Tr "repo.issues.new"}} +
    + {{end}} +
    + {{if .Milestone.RenderedContent}} +
    + {{.Milestone.RenderedContent}} +
    + {{end}} +
    + +
    +
    + {{$closedDate:= TimeSinceUnix .Milestone.ClosedDateUnix ctx.Locale}} + {{if .IsClosed}} + {{svg "octicon-clock"}} {{ctx.Locale.Tr "repo.milestones.closed" $closedDate}} + {{else}} + + {{if .Milestone.DeadlineString}} + + {{svg "octicon-calendar"}} + {{DateTime "short" .Milestone.DeadlineString}} + + {{else}} + {{svg "octicon-calendar"}} + {{ctx.Locale.Tr "repo.milestones.no_due_date"}} + {{end}} + {{end}} +
    +
    {{ctx.Locale.Tr "repo.milestones.completeness" .Milestone.Completeness}}
    + {{if .TotalTrackedTime}} +
    + {{svg "octicon-clock"}} + {{.TotalTrackedTime | Sec2Time}} +
    + {{end}} +
    +
    +
    + + {{template "repo/issue/filters" .}} + + {{template "shared/issuelist" dict "." . "listType" "milestone"}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/issue/milestone_new.tmpl b/data/gitea/templates/repo/issue/milestone_new.tmpl new file mode 100644 index 0000000..9f32df0 --- /dev/null +++ b/data/gitea/templates/repo/issue/milestone_new.tmpl @@ -0,0 +1,59 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    +
    + {{template "repo/issue/navbar" .}} + {{if and (or .CanWriteIssues .CanWritePulls) .PageIsEditMilestone}} + + {{end}} +
    +
    +

    + {{if .PageIsEditMilestone}} + {{ctx.Locale.Tr "repo.milestones.edit"}} +
    {{ctx.Locale.Tr "repo.milestones.edit_subheader"}}
    + {{else}} + {{ctx.Locale.Tr "repo.milestones.new"}} +
    {{ctx.Locale.Tr "repo.milestones.new_subheader"}}
    + {{end}} +

    + {{template "base/alert" .}} +
    + {{.CsrfTokenHtml}} +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    + {{if .PageIsEditMilestone}} + + {{ctx.Locale.Tr "repo.milestones.cancel"}} + + + {{else}} + + {{end}} +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/issue/milestones.tmpl b/data/gitea/templates/repo/issue/milestones.tmpl new file mode 100644 index 0000000..bce7ad8 --- /dev/null +++ b/data/gitea/templates/repo/issue/milestones.tmpl @@ -0,0 +1,108 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{template "base/alert" .}} + +
    + {{template "repo/issue/navbar" .}} + {{template "repo/issue/search" .}} + {{if and (or .CanWriteIssues .CanWritePulls) (not .Repository.IsArchived)}} + {{ctx.Locale.Tr "repo.milestones.new"}} + {{end}} +
    + + {{template "repo/issue/filters" .}} + + +
    + {{range .Milestones}} +
  • +
    +

    + {{svg "octicon-milestone" 16}} + {{.Name}} +

    +
    + {{.Completeness}}% + +
    +
    +
    +
    +
    + {{svg "octicon-issue-opened" 14}} + {{ctx.Locale.PrettyNumber .NumOpenIssues}} {{ctx.Locale.Tr "repo.issues.open_title"}} +
    +
    + {{svg "octicon-check" 14}} + {{ctx.Locale.PrettyNumber .NumClosedIssues}} {{ctx.Locale.Tr "repo.issues.closed_title"}} +
    + {{if .TotalTrackedTime}} +
    + {{svg "octicon-clock"}} + {{.TotalTrackedTime|Sec2Time}} +
    + {{end}} + {{if .UpdatedUnix}} +
    + {{svg "octicon-clock"}} + {{ctx.Locale.Tr "repo.milestones.update_ago" (TimeSinceUnix .UpdatedUnix ctx.Locale)}} +
    + {{end}} +
    + {{if .IsClosed}} + {{$closedDate:= TimeSinceUnix .ClosedDateUnix ctx.Locale}} + {{svg "octicon-clock" 14}} + {{ctx.Locale.Tr "repo.milestones.closed" $closedDate}} + {{else}} + {{if .DeadlineString}} + + {{svg "octicon-calendar" 14}} + {{DateTime "short" .DeadlineString}} + + {{else}} + {{svg "octicon-calendar" 14}} + {{ctx.Locale.Tr "repo.milestones.no_due_date"}} + {{end}} + {{end}} +
    +
    + {{if and (or $.CanWriteIssues $.CanWritePulls) (not $.Repository.IsArchived)}} + + {{end}} +
    + {{if .Content}} +
    + {{.RenderedContent}} +
    + {{end}} +
  • + {{end}} + + {{template "base/paginate" .}} +
    +
    +
    + +{{if or .CanWriteIssues .CanWritePulls}} + +{{end}} +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/issue/navbar.tmpl b/data/gitea/templates/repo/issue/navbar.tmpl new file mode 100644 index 0000000..30e42c7 --- /dev/null +++ b/data/gitea/templates/repo/issue/navbar.tmpl @@ -0,0 +1,4 @@ + diff --git a/data/gitea/templates/repo/issue/new.tmpl b/data/gitea/templates/repo/issue/new.tmpl new file mode 100644 index 0000000..ccd45fd --- /dev/null +++ b/data/gitea/templates/repo/issue/new.tmpl @@ -0,0 +1,8 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{template "repo/issue/new_form" .}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/issue/new_form.tmpl b/data/gitea/templates/repo/issue/new_form.tmpl new file mode 100644 index 0000000..88a6c39 --- /dev/null +++ b/data/gitea/templates/repo/issue/new_form.tmpl @@ -0,0 +1,190 @@ +{{if .Flash}} +{{template "base/alert" .}} +{{end}} +
    + {{.CsrfTokenHtml}} +
    +
    +
    + {{ctx.AvatarUtils.Avatar .SignedUser 40}} +
    +
    + + {{if .PageIsComparePull}} +
    {{ctx.Locale.Tr "repo.pulls.title_wip_desc" (index .PullRequestWorkInProgressPrefixes 0)}}
    + {{end}} +
    + {{if .Fields}} + + {{range .Fields}} + {{if eq .Type "input"}} + {{template "repo/issue/fields/input" dict "Context" $.Context "item" .}} + {{else if eq .Type "markdown"}} + {{template "repo/issue/fields/markdown" dict "Context" $.Context "item" .}} + {{else if eq .Type "textarea"}} + {{template "repo/issue/fields/textarea" dict "Context" $.Context "item" . "root" $}} + {{else if eq .Type "dropdown"}} + {{template "repo/issue/fields/dropdown" dict "Context" $.Context "item" .}} + {{else if eq .Type "checkboxes"}} + {{template "repo/issue/fields/checkboxes" dict "Context" $.Context "item" .}} + {{end}} + {{end}} + {{else}} + {{template "repo/issue/comment_tab" .}} + {{end}} +
    + +
    +
    +
    +
    +
    + +
    + {{template "repo/issue/branch_selector_field" .}} + + + {{template "repo/issue/labels/labels_selector_field" .}} + {{template "repo/issue/labels/labels_sidebar" dict "root" $}} + +
    + + + +
    + {{ctx.Locale.Tr "repo.issues.new.no_milestone"}} + +
    + + {{if .IsProjectsEnabled}} +
    + + + +
    + {{ctx.Locale.Tr "repo.issues.new.no_projects"}} + +
    + {{end}} +
    + + +
    + + {{ctx.Locale.Tr "repo.issues.new.no_assignees"}} + + +
    + {{if and .PageIsComparePull (not (eq .HeadRepo.FullName .BaseCompareRepo.FullName)) .CanWriteToHeadRepo}} +
    +
    +
    + + +
    +
    + {{end}} +
    + +
    diff --git a/data/gitea/templates/repo/issue/openclose.tmpl b/data/gitea/templates/repo/issue/openclose.tmpl new file mode 100644 index 0000000..eb2d6e0 --- /dev/null +++ b/data/gitea/templates/repo/issue/openclose.tmpl @@ -0,0 +1,16 @@ + diff --git a/data/gitea/templates/repo/issue/search.tmpl b/data/gitea/templates/repo/issue/search.tmpl new file mode 100644 index 0000000..769387b --- /dev/null +++ b/data/gitea/templates/repo/issue/search.tmpl @@ -0,0 +1,18 @@ + diff --git a/data/gitea/templates/repo/issue/view.tmpl b/data/gitea/templates/repo/issue/view.tmpl new file mode 100644 index 0000000..1ef9e73 --- /dev/null +++ b/data/gitea/templates/repo/issue/view.tmpl @@ -0,0 +1,12 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{template "repo/issue/view_title" .}} + {{if .Issue.IsPull}} + {{template "repo/pulls/tab_menu" .}} + {{end}} + {{template "repo/issue/view_content" .}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/issue/view_content.tmpl b/data/gitea/templates/repo/issue/view_content.tmpl new file mode 100644 index 0000000..d40134e --- /dev/null +++ b/data/gitea/templates/repo/issue/view_content.tmpl @@ -0,0 +1,190 @@ +
    + + + + + + + + {{$createdStr:= TimeSinceUnix .Issue.CreatedUnix ctx.Locale}} +
    +
    +
    + {{if .Issue.OriginalAuthor}} + + {{ctx.AvatarUtils.Avatar nil 40}} + + {{else}} + + {{ctx.AvatarUtils.Avatar .Issue.Poster 40}} + + {{end}} +
    +
    +
    + {{if .Issue.OriginalAuthor}} + + {{svg (MigrationIcon .Repository.GetOriginalURLHostname)}} + {{.Issue.OriginalAuthor}} + + + {{ctx.Locale.Tr "repo.issues.commented_at" .Issue.HashTag $createdStr}} + + + {{if .Repository.OriginalURL}} ({{ctx.Locale.Tr "repo.migrated_from" .Repository.OriginalURL .Repository.GetOriginalURLHostname}}){{end}} + + {{else}} + + {{ctx.AvatarUtils.Avatar .Issue.Poster 24}} + + + {{template "shared/user/authorlink" .Issue.Poster}} + {{ctx.Locale.Tr "repo.issues.commented_at" .Issue.HashTag $createdStr}} + + {{end}} +
    +
    + {{template "repo/issue/view_content/show_role" dict "ShowRole" .Issue.ShowRole "IgnorePoster" true}} + {{if not $.Repository.IsArchived}} + {{template "repo/issue/view_content/add_reaction" dict "ActionURL" (printf "%s/issues/%d/reactions" $.RepoLink .Issue.Index)}} + {{end}} + {{template "repo/issue/view_content/context_menu" dict "ctxData" $ "item" .Issue "delete" false "issue" true "diff" false "IsCommentPoster" $.IsIssuePoster}} +
    +
    +
    +
    + {{if .Issue.RenderedContent}} + {{.Issue.RenderedContent}} + {{else}} + {{ctx.Locale.Tr "repo.issues.no_content"}} + {{end}} +
    +
    {{.Issue.Content}}
    +
    + {{if .Issue.Attachments}} + {{template "repo/issue/view_content/attachments" dict "Attachments" .Issue.Attachments "RenderedContent" .Issue.RenderedContent}} + {{end}} +
    + {{$reactions := .Issue.Reactions.GroupByType}} + {{if $reactions}} + {{template "repo/issue/view_content/reactions" dict "ActionURL" (printf "%s/issues/%d/reactions" $.RepoLink .Issue.Index) "Reactions" $reactions}} + {{end}} +
    +
    + + {{template "repo/issue/view_content/comments" .}} + + {{if and .Issue.IsPull (not $.Repository.IsArchived)}} + {{template "repo/issue/view_content/pull".}} + {{end}} + + {{if .IsSigned}} + {{if and (or .IsRepoAdmin .HasIssuesOrPullsWritePermission (not .Issue.IsLocked)) (not .Repository.IsArchived)}} +
    + + {{ctx.AvatarUtils.Avatar .SignedUser 40}} + +
    +
    +
    + {{template "repo/issue/comment_tab" .}} + {{.CsrfTokenHtml}} + +
    +
    +
    +
    + {{else if .Repository.IsArchived}} +
    + {{if .Issue.IsPull}} + {{ctx.Locale.Tr "repo.archive.pull.nocomment"}} + {{else}} + {{ctx.Locale.Tr "repo.archive.issue.nocomment"}} + {{end}} +
    + {{end}} + {{else}} {{/* not .IsSigned */}} + {{if .Repository.IsArchived}} +
    + {{if .Issue.IsPull}} + {{ctx.Locale.Tr "repo.archive.pull.nocomment"}} + {{else}} + {{ctx.Locale.Tr "repo.archive.issue.nocomment"}} + {{end}} +
    + {{else}} +
    + {{ctx.Locale.Tr "repo.issues.sign_in_require_desc" .SignInLink}} +
    + {{end}} + {{end}}{{/* end if: .IsSigned */}} +
    +
    + + {{template "repo/issue/view_content/sidebar" .}} +
    + + + +{{template "repo/issue/view_content/reference_issue_dialog" .}} +{{template "shared/user/block_user_dialog" .}} + +
    + {{ctx.Locale.Tr "repo.issues.no_content"}} +
    + + diff --git a/data/gitea/templates/repo/issue/view_content/add_reaction.tmpl b/data/gitea/templates/repo/issue/view_content/add_reaction.tmpl new file mode 100644 index 0000000..6baded8 --- /dev/null +++ b/data/gitea/templates/repo/issue/view_content/add_reaction.tmpl @@ -0,0 +1,10 @@ +{{if ctx.RootData.IsSigned}} + +{{end}} diff --git a/data/gitea/templates/repo/issue/view_content/attachments.tmpl b/data/gitea/templates/repo/issue/view_content/attachments.tmpl new file mode 100644 index 0000000..2155f78 --- /dev/null +++ b/data/gitea/templates/repo/issue/view_content/attachments.tmpl @@ -0,0 +1,42 @@ +
    + {{if .Attachments}} +
    + {{end}} + {{$hasThumbnails := false}} + {{- range .Attachments -}} + + {{end -}} + + {{if $hasThumbnails}} +
    +
    + {{- range .Attachments -}} + {{if FilenameIsImage .Name}} + {{if not (StringUtils.Contains (StringUtils.ToString $.RenderedContent) .UUID)}} + + {{.Name}} + + {{end}} + {{end}} + {{end -}} +
    + {{end}} + +
    diff --git a/data/gitea/templates/repo/issue/view_content/comments.tmpl b/data/gitea/templates/repo/issue/view_content/comments.tmpl new file mode 100644 index 0000000..cc7f325 --- /dev/null +++ b/data/gitea/templates/repo/issue/view_content/comments.tmpl @@ -0,0 +1,691 @@ +{{template "base/alert"}} +{{range .Issue.Comments}} + {{if call $.ShouldShowCommentType .Type}} + {{$createdStr:= TimeSinceUnix .CreatedUnix ctx.Locale}} + + + {{if eq .Type 0}} +
    + {{if .OriginalAuthor}} + + {{ctx.AvatarUtils.Avatar nil 40}} + + {{else}} + + {{ctx.AvatarUtils.Avatar .Poster 40}} + + {{end}} +
    +
    +
    + {{if .OriginalAuthor}} + + {{svg (MigrationIcon $.Repository.GetOriginalURLHostname)}} + {{.OriginalAuthor}} + + + {{ctx.Locale.Tr "repo.issues.commented_at" .HashTag $createdStr}} {{if $.Repository.OriginalURL}} + + + ({{ctx.Locale.Tr "repo.migrated_from" $.Repository.OriginalURL $.Repository.GetOriginalURLHostname}}){{end}} + + {{else}} + {{if gt .Poster.ID 0}} + + {{ctx.AvatarUtils.Avatar .Poster 24}} + + {{end}} + + {{template "shared/user/authorlink" .Poster}} + {{ctx.Locale.Tr "repo.issues.commented_at" .HashTag $createdStr}} + + {{end}} +
    +
    + {{template "repo/issue/view_content/show_role" dict "ShowRole" .ShowRole}} + {{if not $.Repository.IsArchived}} + {{template "repo/issue/view_content/add_reaction" dict "ActionURL" (printf "%s/comments/%d/reactions" $.RepoLink .ID)}} + {{end}} + {{template "repo/issue/view_content/context_menu" dict "ctxData" $ "item" . "delete" true "issue" true "diff" false "IsCommentPoster" (and $.IsSigned (eq $.SignedUserID .PosterID))}} +
    +
    +
    +
    + {{if .RenderedContent}} + {{.RenderedContent}} + {{else}} + {{ctx.Locale.Tr "repo.issues.no_content"}} + {{end}} +
    +
    {{.Content}}
    +
    + {{if .Attachments}} + {{template "repo/issue/view_content/attachments" dict "Attachments" .Attachments "RenderedContent" .RenderedContent}} + {{end}} +
    + {{$reactions := .Reactions.GroupByType}} + {{if $reactions}} + {{template "repo/issue/view_content/reactions" dict "ActionURL" (printf "%s/comments/%d/reactions" $.RepoLink .ID) "Reactions" $reactions}} + {{end}} +
    +
    + {{else if eq .Type 1}} +
    + {{svg "octicon-dot-fill"}} + {{if not .OriginalAuthor}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + {{end}} + + {{template "repo/issue/view_content/comments_authorlink" dict "ctxData" $ "comment" .}} + {{if .Issue.IsPull}} + {{ctx.Locale.Tr "repo.pulls.reopened_at" .EventTag $createdStr}} + {{else}} + {{ctx.Locale.Tr "repo.issues.reopened_at" .EventTag $createdStr}} + {{end}} + +
    + {{else if eq .Type 2}} +
    + {{svg "octicon-circle-slash"}} + {{if not .OriginalAuthor}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + {{end}} + + {{template "repo/issue/view_content/comments_authorlink" dict "ctxData" $ "comment" .}} + {{if .Issue.IsPull}} + {{ctx.Locale.Tr "repo.pulls.closed_at" .EventTag $createdStr}} + {{else}} + {{ctx.Locale.Tr "repo.issues.closed_at" .EventTag $createdStr}} + {{end}} + +
    + {{else if eq .Type 28}} +
    + {{svg "octicon-git-merge"}} + {{if not .OriginalAuthor}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + {{end}} + + {{template "repo/issue/view_content/comments_authorlink" dict "ctxData" $ "comment" .}} + {{$link := printf "%s/commit/%s" $.Repository.Link ($.Issue.PullRequest.MergedCommitID|PathEscape)}} + {{if eq $.Issue.PullRequest.Status 3}} + {{ctx.Locale.Tr "repo.issues.comment_manually_pull_merged_at" (HTMLFormat `%[2]s` $link (ShortSha $.Issue.PullRequest.MergedCommitID)) (HTMLFormat "%[1]s" $.BaseTarget) $createdStr}} + {{else}} + {{ctx.Locale.Tr "repo.issues.comment_pull_merged_at" (HTMLFormat `%[2]s` $link (ShortSha $.Issue.PullRequest.MergedCommitID)) (HTMLFormat "%[1]s" $.BaseTarget) $createdStr}} + {{end}} + +
    + {{else if eq .Type 3 5 6}} + {{$refFrom:= ""}} + {{if ne .RefRepoID .Issue.RepoID}} + {{$refFrom = ctx.Locale.Tr "repo.issues.ref_from" .RefRepo.FullName}} + {{end}} + {{$refTr := "repo.issues.ref_issue_from"}} + {{if .Issue.IsPull}} + {{$refTr = "repo.issues.ref_pull_from"}} + {{else if eq .RefAction 1}} + {{$refTr = "repo.issues.ref_closing_from"}} + {{else if eq .RefAction 2}} + {{$refTr = "repo.issues.ref_reopening_from"}} + {{end}} + {{$createdStr:= TimeSinceUnix .CreatedUnix ctx.Locale}} +
    + {{svg "octicon-bookmark"}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + {{if eq .RefAction 3}}{{end}} + + {{template "shared/user/authorlink" .Poster}} + {{ctx.Locale.Tr $refTr .EventTag $createdStr (.RefCommentLink ctx) $refFrom}} + + {{if eq .RefAction 3}}{{end}} + + +
    + {{else if eq .Type 4}} +
    + {{svg "octicon-bookmark"}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + + {{template "shared/user/authorlink" .Poster}} + {{ctx.Locale.Tr "repo.issues.commit_ref_at" .EventTag $createdStr}} + +
    + {{svg "octicon-git-commit"}} + {{.Content | SanitizeHTML}} +
    +
    + {{else if eq .Type 7}} + {{if or .AddedLabels .RemovedLabels}} +
    + {{svg "octicon-tag"}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + + {{template "shared/user/authorlink" .Poster}} + {{if and .AddedLabels (not .RemovedLabels)}} + {{ctx.Locale.TrN (len .AddedLabels) "repo.issues.add_label" "repo.issues.add_labels" (RenderLabels ctx ctx.Locale .AddedLabels $.RepoLink .Issue) $createdStr}} + {{else if and (not .AddedLabels) .RemovedLabels}} + {{ctx.Locale.TrN (len .RemovedLabels) "repo.issues.remove_label" "repo.issues.remove_labels" (RenderLabels ctx ctx.Locale .RemovedLabels $.RepoLink .Issue) $createdStr}} + {{else}} + {{ctx.Locale.Tr "repo.issues.add_remove_labels" (RenderLabels ctx ctx.Locale .AddedLabels $.RepoLink .Issue) (RenderLabels ctx ctx.Locale .RemovedLabels $.RepoLink .Issue) $createdStr}} + {{end}} + +
    + {{end}} + {{else if eq .Type 8}} +
    + {{svg "octicon-milestone"}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + + {{template "shared/user/authorlink" .Poster}} + {{if gt .OldMilestoneID 0}}{{if gt .MilestoneID 0}}{{ctx.Locale.Tr "repo.issues.change_milestone_at" .OldMilestone.Name .Milestone.Name $createdStr}}{{else}}{{ctx.Locale.Tr "repo.issues.remove_milestone_at" .OldMilestone.Name $createdStr}}{{end}}{{else if gt .MilestoneID 0}}{{ctx.Locale.Tr "repo.issues.add_milestone_at" .Milestone.Name $createdStr}}{{end}} + +
    + {{else if and (eq .Type 9) (gt .AssigneeID 0)}} +
    + {{svg "octicon-person"}} + {{if .RemovedAssignee}} + {{template "shared/user/avatarlink" dict "user" .Assignee}} + + {{template "shared/user/authorlink" .Assignee}} + {{if eq .Poster.ID .Assignee.ID}} + {{ctx.Locale.Tr "repo.issues.remove_self_assignment" $createdStr}} + {{else}} + {{ctx.Locale.Tr "repo.issues.remove_assignee_at" .Poster.GetDisplayName $createdStr}} + {{end}} + + {{else}} + {{template "shared/user/avatarlink" dict "user" .Assignee}} + + {{template "shared/user/authorlink" .Assignee}} + {{if eq .Poster.ID .AssigneeID}} + {{ctx.Locale.Tr "repo.issues.self_assign_at" $createdStr}} + {{else}} + {{ctx.Locale.Tr "repo.issues.add_assignee_at" .Poster.GetDisplayName $createdStr}} + {{end}} + + {{end}} +
    + {{else if eq .Type 10}} +
    + {{svg "octicon-pencil"}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + + {{template "shared/user/authorlink" .Poster}} + {{ctx.Locale.Tr "repo.issues.change_title_at" (.OldTitle|RenderEmoji $.Context) (.NewTitle|RenderEmoji $.Context) $createdStr}} + +
    + {{else if eq .Type 11}} +
    + {{svg "octicon-git-branch"}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + + {{template "shared/user/authorlink" .Poster}} + {{ctx.Locale.Tr "repo.issues.delete_branch_at" .OldRef $createdStr}} + +
    + {{else if eq .Type 12}} +
    + {{svg "octicon-clock"}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + + {{template "shared/user/authorlink" .Poster}} + {{ctx.Locale.Tr "repo.issues.start_tracking_history" $createdStr}} + +
    + {{else if eq .Type 13}} +
    + {{svg "octicon-clock"}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + + {{template "shared/user/authorlink" .Poster}} + {{ctx.Locale.Tr "repo.issues.stop_tracking_history" $createdStr}} + + {{template "repo/issue/view_content/comments_delete_time" dict "ctxData" $ "comment" .}} +
    + {{svg "octicon-clock"}} + {{if .RenderedContent}} + {{/* compatibility with time comments made before v1.21 */}} + {{.RenderedContent}} + {{else}} + {{.Content|Sec2Time}} + {{end}} +
    +
    + {{else if eq .Type 14}} +
    + {{svg "octicon-clock"}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + + {{template "shared/user/authorlink" .Poster}} + {{ctx.Locale.Tr "repo.issues.add_time_history" $createdStr}} + + {{template "repo/issue/view_content/comments_delete_time" dict "ctxData" $ "comment" .}} +
    + {{svg "octicon-clock"}} + {{if .RenderedContent}} + {{/* compatibility with time comments made before v1.21 */}} + {{.RenderedContent}} + {{else}} + {{.Content|Sec2Time}} + {{end}} +
    +
    + {{else if eq .Type 15}} +
    + {{svg "octicon-clock"}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + + {{template "shared/user/authorlink" .Poster}} + {{ctx.Locale.Tr "repo.issues.cancel_tracking_history" $createdStr}} + +
    + {{else if eq .Type 16}} +
    + {{svg "octicon-clock"}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + + {{template "shared/user/authorlink" .Poster}} + {{ctx.Locale.Tr "repo.issues.due_date_added" (DateTime "long" .Content) $createdStr}} + +
    + {{else if eq .Type 17}} +
    + {{svg "octicon-clock"}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + + {{template "shared/user/authorlink" .Poster}} + {{$parsedDeadline := StringUtils.Split .Content "|"}} + {{if eq (len $parsedDeadline) 2}} + {{$from := DateTime "long" (index $parsedDeadline 1)}} + {{$to := DateTime "long" (index $parsedDeadline 0)}} + {{ctx.Locale.Tr "repo.issues.due_date_modified" $to $from $createdStr}} + {{end}} + +
    + {{else if eq .Type 18}} +
    + {{svg "octicon-clock"}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + + {{template "shared/user/authorlink" .Poster}} + {{ctx.Locale.Tr "repo.issues.due_date_remove" (DateTime "long" .Content) $createdStr}} + +
    + {{else if eq .Type 19}} +
    + {{svg "octicon-package-dependents"}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + + {{template "shared/user/authorlink" .Poster}} + {{ctx.Locale.Tr "repo.issues.dependency.added_dependency" $createdStr}} + + {{if .DependentIssue}} + + {{end}} +
    + {{else if eq .Type 20}} +
    + {{svg "octicon-package-dependents"}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + + {{template "shared/user/authorlink" .Poster}} + {{ctx.Locale.Tr "repo.issues.dependency.removed_dependency" $createdStr}} + + {{if .DependentIssue}} + + {{end}} +
    + {{else if eq .Type 22}} +
    +
    + {{$reviewType := -1}} + {{if .Review}}{{$reviewType = .Review.Type}}{{end}} + {{if not .OriginalAuthor}} + {{/* Some timeline avatars need a offset to correctly align with their speech bubble. + The condition depends on whether the comment has contents/attachments or reviews */}} + + {{ctx.AvatarUtils.Avatar .Poster 40}} + + {{end}} + + {{if .Review}}{{svg (printf "octicon-%s" .Review.Type.Icon)}}{{end}} + + + {{template "repo/issue/view_content/comments_authorlink" dict "ctxData" $ "comment" .}} + {{if eq $reviewType 1}} + {{ctx.Locale.Tr "repo.issues.review.approve" $createdStr}} + {{else if eq $reviewType 2}} + {{ctx.Locale.Tr "repo.issues.review.comment" $createdStr}} + {{else if eq $reviewType 3}} + {{ctx.Locale.Tr "repo.issues.review.reject" $createdStr}} + {{else}} + {{ctx.Locale.Tr "repo.issues.review.comment" $createdStr}} + {{end}} + {{if and .Review .Review.Dismissed}} +
    {{ctx.Locale.Tr "repo.issues.review.dismissed_label"}}
    + {{end}} +
    +
    + {{if or .Content .Attachments}} +
    +
    +
    +
    + {{if gt .Poster.ID 0}} + + {{ctx.AvatarUtils.Avatar .Poster 24}} + + {{end}} + + {{if .OriginalAuthor}} + + {{svg (MigrationIcon $.Repository.GetOriginalURLHostname)}} + {{.OriginalAuthor}} + + {{if $.Repository.OriginalURL}} + ({{ctx.Locale.Tr "repo.migrated_from" $.Repository.OriginalURL $.Repository.GetOriginalURLHostname}}){{end}} + {{else}} + {{template "shared/user/authorlink" .Poster}} + {{end}} + + {{ctx.Locale.Tr "repo.issues.review.left_comment"}} + +
    +
    + {{template "repo/issue/view_content/show_role" dict "ShowRole" .ShowRole}} + {{if not $.Repository.IsArchived}} + {{template "repo/issue/view_content/add_reaction" dict "ActionURL" (printf "%s/comments/%d/reactions" $.RepoLink .ID)}} + {{template "repo/issue/view_content/context_menu" dict "ctxData" $ "item" . "delete" false "issue" true "diff" false "IsCommentPoster" (and $.IsSigned (eq $.SignedUserID .PosterID))}} + {{end}} +
    +
    +
    +
    + {{if .RenderedContent}} + {{.RenderedContent}} + {{else}} + {{ctx.Locale.Tr "repo.issues.no_content"}} + {{end}} +
    +
    {{.Content}}
    +
    + {{if .Attachments}} + {{template "repo/issue/view_content/attachments" dict "Attachments" .Attachments "RenderedContent" .RenderedContent}} + {{end}} +
    + {{$reactions := .Reactions.GroupByType}} + {{if $reactions}} + {{template "repo/issue/view_content/reactions" dict "ActionURL" (printf "%s/comments/%d/reactions" $.RepoLink .ID) "Reactions" $reactions}} + {{end}} +
    +
    + {{end}} + + {{if and .Review .Review.CodeComments}} +
    + {{range $filename, $lines := .Review.CodeComments}} + {{range $line, $comms := $lines}} + {{template "repo/issue/view_content/conversation" dict "." $ "comments" $comms}} + {{end}} + {{end}} +
    + {{end}} +
    + {{else if eq .Type 23}} +
    + {{svg "octicon-lock"}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + {{if .Content}} + + {{template "shared/user/authorlink" .Poster}} + {{ctx.Locale.Tr "repo.issues.lock_with_reason" .Content $createdStr}} + + {{else}} + + {{template "shared/user/authorlink" .Poster}} + {{ctx.Locale.Tr "repo.issues.lock_no_reason" $createdStr}} + + {{end}} +
    + {{else if eq .Type 24}} +
    + {{svg "octicon-key"}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + + {{template "shared/user/authorlink" .Poster}} + {{ctx.Locale.Tr "repo.issues.unlock_comment" $createdStr}} + +
    + {{else if eq .Type 25}} +
    + {{svg "octicon-git-branch"}} + {{if not .OriginalAuthor}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + {{end}} + + {{template "repo/issue/view_content/comments_authorlink" dict "ctxData" $ "comment" .}} + {{ctx.Locale.Tr "repo.pulls.change_target_branch_at" .OldRef .NewRef $createdStr}} + +
    + {{else if eq .Type 26}} +
    + {{svg "octicon-clock"}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + + {{template "shared/user/authorlink" .Poster}} + + {{ctx.Locale.Tr "repo.issues.del_time_history" $createdStr}} + +
    + {{svg "octicon-clock"}} + {{if .RenderedContent}} + {{/* compatibility with time comments made before v1.21 */}} + {{.RenderedContent}} + {{else}} + - {{.Content|Sec2Time}} + {{end}} +
    +
    + {{else if eq .Type 27}} +
    + {{svg "octicon-eye"}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + + {{template "shared/user/authorlink" .Poster}} + {{if (gt .AssigneeID 0)}} + {{if .RemovedAssignee}} + {{if eq .PosterID .AssigneeID}} + {{ctx.Locale.Tr "repo.issues.review.remove_review_request_self" $createdStr}} + {{else}} + {{ctx.Locale.Tr "repo.issues.review.remove_review_request" .Assignee.GetDisplayName $createdStr}} + {{end}} + {{else}} + {{ctx.Locale.Tr "repo.issues.review.add_review_request" .Assignee.GetDisplayName $createdStr}} + {{end}} + {{else}} + + {{$teamName := "Ghost Team"}} + {{if .AssigneeTeam}} + {{$teamName = .AssigneeTeam.Name}} + {{end}} + {{if .RemovedAssignee}} + {{ctx.Locale.Tr "repo.issues.review.remove_review_request" $teamName $createdStr}} + {{else}} + {{ctx.Locale.Tr "repo.issues.review.add_review_request" $teamName $createdStr}} + {{end}} + {{end}} + +
    + {{else if and (eq .Type 29) (or (gt .CommitsNum 0) .IsForcePush)}} + + {{if and .Issue.IsClosed (gt .ID $.LatestCloseCommentID)}} + {{continue}} + {{end}} +
    + {{svg "octicon-repo-push"}} + + {{template "shared/user/authorlink" .Poster}} + {{if .IsForcePush}} + {{ctx.Locale.Tr "repo.issues.force_push_codes" $.Issue.PullRequest.HeadBranch (ShortSha .OldCommit) ($.Issue.Repo.CommitLink .OldCommit) (ShortSha .NewCommit) ($.Issue.Repo.CommitLink .NewCommit) $createdStr}} + {{else}} + {{ctx.Locale.TrN (len .Commits) "repo.issues.push_commit_1" "repo.issues.push_commits_n" (len .Commits) $createdStr}} + {{end}} + + {{if and .IsForcePush $.Issue.PullRequest.BaseRepo.Name}} + + {{ctx.Locale.Tr "repo.issues.force_push_compare"}} + + {{end}} +
    + {{if not .IsForcePush}} + {{template "repo/commits_list_small" dict "comment" . "root" $}} + {{end}} + {{else if eq .Type 30}} + {{if not $.UnitProjectsGlobalDisabled}} +
    + {{svg "octicon-project"}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + + {{template "shared/user/authorlink" .Poster}} + {{$oldProjectDisplayHtml := "Unknown Project"}} + {{if .OldProject}} + {{$tooltip := ctx.Locale.Tr "projects.deleted.display_name"}} + {{if not .OldProject.IsGhost}} + {{$tooltip = ctx.Locale.Tr (printf "projects.type-%d.display_name" .OldProject.Type)}} + {{end}} + {{$oldProjectDisplayHtml = HTMLFormat `%s` $tooltip .OldProject.Title}} + {{end}} + {{$newProjectDisplayHtml := "Unknown Project"}} + {{if .Project}} + {{$tooltip := ctx.Locale.Tr "projects.deleted.display_name"}} + {{if not .Project.IsGhost}} + {{$tooltip = ctx.Locale.Tr (printf "projects.type-%d.display_name" .Project.Type)}} + {{end}} + {{$newProjectDisplayHtml = HTMLFormat `%s` $tooltip .Project.Title}} + {{end}} + {{if and (gt .OldProjectID 0) (gt .ProjectID 0)}} + {{ctx.Locale.Tr "repo.issues.change_project_at" $oldProjectDisplayHtml $newProjectDisplayHtml $createdStr}} + {{else if gt .OldProjectID 0}} + {{ctx.Locale.Tr "repo.issues.remove_project_at" $oldProjectDisplayHtml $createdStr}} + {{else if gt .ProjectID 0}} + {{ctx.Locale.Tr "repo.issues.add_project_at" $newProjectDisplayHtml $createdStr}} + {{end}} + +
    + {{end}} + {{else if eq .Type 32}} +
    +
    + + + + {{svg "octicon-x" 16}} + + {{template "shared/user/authorlink" .Poster}} + {{$reviewerName := ""}} + {{if .Review}} + {{if eq .Review.OriginalAuthor ""}} + {{$reviewerName = .Review.Reviewer.Name}} + {{else}} + {{$reviewerName = .Review.OriginalAuthor}} + {{end}} + {{end}} + {{ctx.Locale.Tr "repo.issues.review.dismissed" $reviewerName $createdStr}} + +
    + {{if .Content}} +
    +
    +
    + {{if gt .Poster.ID 0}} + + {{ctx.AvatarUtils.Avatar .Poster 24}} + + {{end}} + + {{ctx.Locale.Tr "action.review_dismissed_reason"}} + +
    +
    +
    + {{if .RenderedContent}} + {{.RenderedContent}} + {{else}} + {{ctx.Locale.Tr "repo.issues.no_content"}} + {{end}} +
    +
    +
    +
    + {{end}} +
    + {{else if eq .Type 33}} +
    + {{svg "octicon-git-branch"}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + + {{template "shared/user/authorlink" .Poster}} + {{if and .OldRef .NewRef}} + {{ctx.Locale.Tr "repo.issues.change_ref_at" .OldRef .NewRef $createdStr}} + {{else if .OldRef}} + {{ctx.Locale.Tr "repo.issues.remove_ref_at" .OldRef $createdStr}} + {{else}} + {{ctx.Locale.Tr "repo.issues.add_ref_at" .NewRef $createdStr}} + {{end}} + +
    + {{else if or (eq .Type 34) (eq .Type 35)}} +
    + {{svg "octicon-git-merge" 16}} + + {{template "repo/issue/view_content/comments_authorlink" dict "ctxData" $ "comment" .}} + {{if eq .Type 34}}{{ctx.Locale.Tr "repo.pulls.auto_merge_newly_scheduled_comment" $createdStr}} + {{else}}{{ctx.Locale.Tr "repo.pulls.auto_merge_canceled_schedule_comment" $createdStr}}{{end}} + +
    + {{else if or (eq .Type 36) (eq .Type 37)}} +
    + {{svg "octicon-pin" 16}} + {{template "shared/user/avatarlink" dict "user" .Poster}} + + {{template "shared/user/authorlink" .Poster}} + {{if eq .Type 36}}{{ctx.Locale.Tr "repo.issues.pin_comment" $createdStr}} + {{else}}{{ctx.Locale.Tr "repo.issues.unpin_comment" $createdStr}}{{end}} + +
    + {{end}} + {{end}} +{{end}} diff --git a/data/gitea/templates/repo/issue/view_content/comments_authorlink.tmpl b/data/gitea/templates/repo/issue/view_content/comments_authorlink.tmpl new file mode 100644 index 0000000..f652a0b --- /dev/null +++ b/data/gitea/templates/repo/issue/view_content/comments_authorlink.tmpl @@ -0,0 +1,11 @@ +{{if .comment.OriginalAuthor}} + + {{svg (MigrationIcon .ctxData.Repository.GetOriginalURLHostname)}} + {{.comment.OriginalAuthor}} + + {{if .ctxData.Repository.OriginalURL}} + ({{ctx.Locale.Tr "repo.migrated_from" .ctxData.Repository.OriginalURL .ctxData.Repository.GetOriginalURLHostname}}) + {{end}} +{{else}} + {{template "shared/user/authorlink" .comment.Poster}} +{{end}} diff --git a/data/gitea/templates/repo/issue/view_content/comments_delete_time.tmpl b/data/gitea/templates/repo/issue/view_content/comments_delete_time.tmpl new file mode 100644 index 0000000..2377e7c --- /dev/null +++ b/data/gitea/templates/repo/issue/view_content/comments_delete_time.tmpl @@ -0,0 +1,18 @@ +{{if and .comment.Time (.ctxData.Repository.IsTimetrackerEnabled ctx)}} {{/* compatibility with time comments made before v1.14 */}} + {{if (not .comment.Time.Deleted)}} + {{if (or .ctxData.IsAdmin (and .ctxData.IsSigned (eq .ctxData.SignedUserID .comment.PosterID)))}} + + + + + {{end}} + {{end}} +{{end}} diff --git a/data/gitea/templates/repo/issue/view_content/context_menu.tmpl b/data/gitea/templates/repo/issue/view_content/context_menu.tmpl new file mode 100644 index 0000000..17556d4 --- /dev/null +++ b/data/gitea/templates/repo/issue/view_content/context_menu.tmpl @@ -0,0 +1,44 @@ + diff --git a/data/gitea/templates/repo/issue/view_content/conversation.tmpl b/data/gitea/templates/repo/issue/view_content/conversation.tmpl new file mode 100644 index 0000000..ac32a2d --- /dev/null +++ b/data/gitea/templates/repo/issue/view_content/conversation.tmpl @@ -0,0 +1,143 @@ +{{if len .comments}} + {{$comment := index .comments 0}} + {{$invalid := $comment.Invalidated}} + {{$resolved := $comment.IsResolved}} + {{$resolveDoer := $comment.ResolveDoer}} + {{$hasReview := and $comment.Review}} + {{$isReviewPending := and $hasReview (eq $comment.Review.Type 0)}} +
    +
    +
    + {{$comment.TreePath}} + {{if $invalid}} + + {{ctx.Locale.Tr "repo.issues.review.outdated"}} + + {{end}} +
    +
    + {{if or $invalid $resolved}} + + + {{end}} +
    +
    + {{$diff := (CommentMustAsDiff ctx $comment)}} + {{if $diff}} + {{$file := (index $diff.Files 0)}} +
    +
    +
    + + + {{template "repo/diff/section_unified" dict "file" $file "root" $}} + +
    +
    +
    +
    + {{end}} +
    +
    + {{range .comments}} + {{$createdSubStr:= TimeSinceUnix .CreatedUnix ctx.Locale}} +
    +
    +
    +
    + {{if not .OriginalAuthor}} + + {{ctx.AvatarUtils.Avatar .Poster 20}} + + {{end}} + + {{if .OriginalAuthor}} + + {{svg (MigrationIcon $.Repository.GetOriginalURLHostname)}} + {{.OriginalAuthor}} + + {{if $.Repository.OriginalURL}} + ({{ctx.Locale.Tr "repo.migrated_from" $.Repository.OriginalURL $.Repository.GetOriginalURLHostname}}) + {{end}} + {{else}} + {{template "shared/user/authorlink" .Poster}} + {{end}} + {{ctx.Locale.Tr "repo.issues.commented_at" .HashTag $createdSubStr}} + +
    +
    + {{template "repo/issue/view_content/show_role" dict "ShowRole" .ShowRole}} + {{if not $.Repository.IsArchived}} + {{template "repo/issue/view_content/add_reaction" dict "ActionURL" (printf "%s/comments/%d/reactions" $.RepoLink .ID)}} + {{template "repo/issue/view_content/context_menu" dict "ctxData" $ "item" . "delete" true "issue" true "diff" true "IsCommentPoster" (and $.IsSigned (eq $.SignedUserID .PosterID))}} + {{end}} +
    +
    +
    +
    + {{if .RenderedContent}} + {{.RenderedContent}} + {{else}} + {{ctx.Locale.Tr "repo.issues.no_content"}} + {{end}} +
    +
    {{.Content}}
    +
    + {{if .Attachments}} + {{template "repo/issue/view_content/attachments" dict "Attachments" .Attachments "RenderedContent" .RenderedContent}} + {{end}} +
    + {{$reactions := .Reactions.GroupByType}} + {{if $reactions}} + {{template "repo/issue/view_content/reactions" dict "ActionURL" (printf "%s/comments/%d/reactions" $.RepoLink .ID) "Reactions" $reactions}} + {{end}} +
    +
    + {{end}} +
    +
    +
    + {{if $resolved}} +
    + {{svg "octicon-check" 16 "tw-mr-1"}} + {{$resolveDoer.Name}} {{ctx.Locale.Tr "repo.issues.review.resolved_by"}} +
    + {{end}} +
    +
    + {{if and $.CanMarkConversation $hasReview (not $isReviewPending)}} + + {{end}} + {{if and $.SignedUserID (not $.Repository.IsArchived)}} + + {{end}} +
    +
    + {{template "repo/diff/comment_form_datahandler" dict "hidden" true "reply" $comment.ReviewID "root" $ "comment" $comment}} +
    +
    +{{else}} + {{template "repo/diff/conversation_outdated"}} +{{end}} diff --git a/data/gitea/templates/repo/issue/view_content/pull.tmpl b/data/gitea/templates/repo/issue/view_content/pull.tmpl new file mode 100644 index 0000000..77378ef --- /dev/null +++ b/data/gitea/templates/repo/issue/view_content/pull.tmpl @@ -0,0 +1,396 @@ +{{if and .Issue.PullRequest.HasMerged (not .IsPullBranchDeletable)}} +{{/* Then the merge box will not be displayed because this page already contains enough information */}} +{{else}} +
    +
    {{svg "octicon-git-merge" 40}}
    +
    + {{if .LatestCommitStatus}} +
    + {{template "repo/pulls/status" (dict + "CommitStatus" .LatestCommitStatus + "CommitStatuses" .LatestCommitStatuses + "MissingRequiredChecks" .MissingRequiredChecks + "ShowHideChecks" true + "is_context_required" .is_context_required + )}} +
    + {{end}} + {{$showGeneralMergeForm := false}} +
    + {{if .Issue.PullRequest.HasMerged}} + {{if .IsPullBranchDeletable}} +
    +
    +

    + {{ctx.Locale.Tr "repo.pulls.merged_success"}} +

    + +
    +
    + +
    +
    + {{end}} + {{else if .Issue.IsClosed}} +
    +
    +

    {{ctx.Locale.Tr "repo.pulls.closed"}}

    + +
    + {{if and .IsPullBranchDeletable (not .IsPullRequestBroken)}} +
    + +
    + {{end}} +
    + {{else if .IsPullFilesConflicted}} +
    + {{svg "octicon-x"}} + {{ctx.Locale.Tr "repo.pulls.files_conflicted"}} +
    +
      + {{range .ConflictedFiles}} +
    • {{.}}
    • + {{end}} +
    + {{else if .IsPullRequestBroken}} +
    + {{svg "octicon-x"}} + {{ctx.Locale.Tr "repo.pulls.data_broken"}} +
    + {{else if .IsPullWorkInProgress}} +
    +
    + {{svg "octicon-x"}} + {{ctx.Locale.Tr "repo.pulls.cannot_merge_work_in_progress"}} +
    + {{if or .HasIssuesOrPullsWritePermission .IsIssuePoster}} + + {{end}} +
    + {{template "repo/issue/view_content/update_branch_by_merge" $}} + {{else if .Issue.PullRequest.IsChecking}} +
    + {{svg "octicon-sync"}} + {{ctx.Locale.Tr "repo.pulls.is_checking"}} +
    + {{else if .Issue.PullRequest.IsAncestor}} +
    + {{svg "octicon-alert"}} + {{ctx.Locale.Tr "repo.pulls.is_ancestor"}} +
    + {{else if or .Issue.PullRequest.CanAutoMerge .Issue.PullRequest.IsEmpty}} + {{if .IsBlockedByApprovals}} +
    + {{svg "octicon-x"}} + {{ctx.Locale.Tr "repo.pulls.blocked_by_approvals" .GrantedApprovals .ProtectedBranch.RequiredApprovals}} +
    + {{else if .IsBlockedByRejection}} +
    + {{svg "octicon-x"}} + {{ctx.Locale.Tr "repo.pulls.blocked_by_rejection"}} +
    + {{else if .IsBlockedByOfficialReviewRequests}} +
    + {{svg "octicon-x"}} + {{ctx.Locale.Tr "repo.pulls.blocked_by_official_review_requests"}} +
    + {{else if .IsBlockedByOutdatedBranch}} +
    + {{svg "octicon-x"}} + {{ctx.Locale.Tr "repo.pulls.blocked_by_outdated_branch"}} +
    + {{else if .IsBlockedByChangedProtectedFiles}} +
    + {{svg "octicon-x"}} + {{ctx.Locale.TrN $.ChangedProtectedFilesNum "repo.pulls.blocked_by_changed_protected_files_1" "repo.pulls.blocked_by_changed_protected_files_n"}} +
    +
      + {{range .ChangedProtectedFiles}} +
    • {{.}}
    • + {{end}} +
    + {{else if and .EnableStatusCheck (or .RequiredStatusCheckState.IsError .RequiredStatusCheckState.IsFailure)}} +
    + {{svg "octicon-x"}} + {{ctx.Locale.Tr "repo.pulls.required_status_check_failed"}} +
    + {{else if and .EnableStatusCheck (not .RequiredStatusCheckState.IsSuccess)}} +
    + {{svg "octicon-x"}} + {{ctx.Locale.Tr "repo.pulls.required_status_check_missing"}} +
    + {{else if and .AllowMerge .RequireSigned (not .WillSign)}} +
    + {{svg "octicon-x"}} + {{ctx.Locale.Tr "repo.pulls.require_signed_wont_sign"}} +
    +
    + {{svg "octicon-unlock"}} + {{ctx.Locale.Tr (printf "repo.signing.wont_sign.%s" .WontSignReason)}} +
    + {{end}} + + {{$notAllOverridableChecksOk := or .IsBlockedByApprovals .IsBlockedByRejection .IsBlockedByOfficialReviewRequests .IsBlockedByOutdatedBranch .IsBlockedByChangedProtectedFiles (and .EnableStatusCheck (not .RequiredStatusCheckState.IsSuccess))}} + + {{/* admin can merge without checks, writer can merge when checks succeed */}} + {{$canMergeNow := and (or $.IsRepoAdmin (not $notAllOverridableChecksOk)) (or (not .AllowMerge) (not .RequireSigned) .WillSign)}} + {{/* admin and writer both can make an auto merge schedule */}} + + {{if $canMergeNow}} + {{if $notAllOverridableChecksOk}} +
    + {{svg "octicon-dot-fill"}} + {{ctx.Locale.Tr "repo.pulls.required_status_check_administrator"}} +
    + {{else}} +
    + {{svg "octicon-check"}} + {{ctx.Locale.Tr "repo.pulls.can_auto_merge_desc"}} +
    + {{end}} + {{if .WillSign}} +
    + {{svg "octicon-lock" 16 "text green"}} + {{ctx.Locale.Tr "repo.signing.will_sign" .SigningKey}} +
    + {{else if .IsSigned}} +
    + {{svg "octicon-unlock"}} + {{ctx.Locale.Tr (printf "repo.signing.wont_sign.%s" .WontSignReason)}} +
    + {{end}} + {{end}} + {{template "repo/issue/view_content/update_branch_by_merge" $}} + {{if .Issue.PullRequest.IsEmpty}} +
    + +
    + {{svg "octicon-alert"}} + {{ctx.Locale.Tr "repo.pulls.is_empty"}} +
    + {{end}} + + {{if .AllowMerge}} {{/* user is allowed to merge */}} + {{$prUnit := .Repository.MustGetUnit $.Context ctx.Consts.RepoUnitTypePullRequests}} + {{$approvers := (.Issue.PullRequest.GetApprovers ctx)}} + {{if or $prUnit.PullRequestsConfig.AllowMerge $prUnit.PullRequestsConfig.AllowRebase $prUnit.PullRequestsConfig.AllowRebaseMerge $prUnit.PullRequestsConfig.AllowSquash $prUnit.PullRequestsConfig.AllowFastForwardOnly}} + {{$hasPendingPullRequestMergeTip := ""}} + {{if .HasPendingPullRequestMerge}} + {{$createdPRMergeStr := TimeSinceUnix .PendingPullRequestMerge.CreatedUnix ctx.Locale}} + {{$hasPendingPullRequestMergeTip = ctx.Locale.Tr "repo.pulls.auto_merge_has_pending_schedule" .PendingPullRequestMerge.Doer.Name $createdPRMergeStr}} + {{end}} +
    + + + {{$showGeneralMergeForm = true}} +
    + {{else}} + {{/* no merge style was set in repo setting: not or ($prUnit.PullRequestsConfig.AllowMerge ...) */}} +
    +
    + {{svg "octicon-x"}} + {{ctx.Locale.Tr "repo.pulls.no_merge_desc"}} +
    +
    + {{svg "octicon-info"}} + {{ctx.Locale.Tr "repo.pulls.no_merge_helper"}} +
    + {{end}} {{/* end if the repo was set to use any merge style */}} + {{else}} + {{/* user is not allowed to merge */}} +
    +
    + {{svg "octicon-info"}} + {{ctx.Locale.Tr "repo.pulls.no_merge_access"}} +
    + {{end}} {{/* end if user is allowed to merge or not */}} + {{else}} + {{/* Merge conflict without specific file. Suggest manual merge, only if all reviews and status checks OK. */}} + {{if .IsBlockedByApprovals}} +
    + {{svg "octicon-x"}} + {{ctx.Locale.Tr "repo.pulls.blocked_by_approvals" .GrantedApprovals .ProtectedBranch.RequiredApprovals}} +
    + {{else if .IsBlockedByRejection}} +
    + {{svg "octicon-x"}} + {{ctx.Locale.Tr "repo.pulls.blocked_by_rejection"}} +
    + {{else if .IsBlockedByOfficialReviewRequests}} +
    + {{svg "octicon-x"}} + {{ctx.Locale.Tr "repo.pulls.blocked_by_official_review_requests"}} +
    + {{else if .IsBlockedByOutdatedBranch}} +
    + {{svg "octicon-x"}} + {{ctx.Locale.Tr "repo.pulls.blocked_by_outdated_branch"}} +
    + {{else if .IsBlockedByChangedProtectedFiles}} +
    + {{svg "octicon-x"}} + {{ctx.Locale.TrN $.ChangedProtectedFilesNum "repo.pulls.blocked_by_changed_protected_files_1" "repo.pulls.blocked_by_changed_protected_files_n"}} +
    +
      + {{range .ChangedProtectedFiles}} +
    • {{.}}
    • + {{end}} +
    + {{else if and .EnableStatusCheck (not .RequiredStatusCheckState.IsSuccess)}} +
    + {{svg "octicon-x"}} + {{ctx.Locale.Tr "repo.pulls.required_status_check_failed"}} +
    + {{else if and .RequireSigned (not .WillSign)}} +
    + {{svg "octicon-x"}} + {{ctx.Locale.Tr "repo.pulls.require_signed_wont_sign"}} +
    + {{else}} +
    + {{svg "octicon-x"}} + {{ctx.Locale.Tr "repo.pulls.cannot_auto_merge_desc"}} +
    +
    + {{svg "octicon-info"}} + {{ctx.Locale.Tr "repo.pulls.cannot_auto_merge_helper"}} +
    + {{end}} + {{end}}{{/* end if: pull request status */}} + + {{/* + Manually Merged is not a well-known feature, it is used to mark a non-mergeable PR (already merged, conflicted) as merged + To test it: + * Enable "Manually Merged" feature in the Repository Settings + * Create a pull request, either: + * - Merge the pull request branch locally and push the merged commit to Gitea + * - Make some conflicts between the base branch and the pull request branch + * Then the Manually Merged form will be shown in the merge form + */}} + {{if and $.StillCanManualMerge (not $showGeneralMergeForm)}} +
    +
    {{/* another similar form is in PullRequestMergeForm.vue*/}} + {{.CsrfTokenHtml}} +
    + +
    + +
    + {{end}} + + {{if and .Issue.PullRequest.HeadRepo (not .Issue.PullRequest.HasMerged) (not .Issue.IsClosed)}} + {{template "repo/issue/view_content/pull_merge_instruction" dict "PullRequest" .Issue.PullRequest "ShowMergeInstructions" .ShowMergeInstructions}} + {{end}} +
    +
    +
    +{{end}} diff --git a/data/gitea/templates/repo/issue/view_content/pull_merge_instruction.tmpl b/data/gitea/templates/repo/issue/view_content/pull_merge_instruction.tmpl new file mode 100644 index 0000000..bb59b49 --- /dev/null +++ b/data/gitea/templates/repo/issue/view_content/pull_merge_instruction.tmpl @@ -0,0 +1,49 @@ +
    +
    {{ctx.Locale.Tr "repo.pulls.cmd_instruction_hint"}}
    +
    +

    {{ctx.Locale.Tr "repo.pulls.cmd_instruction_checkout_title"}}

    {{ctx.Locale.Tr "repo.pulls.cmd_instruction_checkout_desc"}}
    + {{$localBranch := .PullRequest.HeadBranch}} + {{if ne .PullRequest.HeadRepo.ID .PullRequest.BaseRepo.ID}} + {{$localBranch = print .PullRequest.HeadRepo.OwnerName "-" .PullRequest.HeadBranch}} + {{end}} +
    + {{if eq .PullRequest.Flow 0}} +
    git fetch -u {{if ne .PullRequest.HeadRepo.ID .PullRequest.BaseRepo.ID}}{{else}}origin{{end}} {{.PullRequest.HeadBranch}}:{{$localBranch}}
    + {{else}} +
    git fetch -u origin {{.PullRequest.GetGitRefName}}:{{$localBranch}}
    + {{end}} +
    git checkout {{$localBranch}}
    +
    + {{if .ShowMergeInstructions}} +

    {{ctx.Locale.Tr "repo.pulls.cmd_instruction_merge_title"}}

    {{ctx.Locale.Tr "repo.pulls.cmd_instruction_merge_desc"}}
    +
    +
    +
    git checkout {{.PullRequest.BaseBranch}}
    +
    git merge --no-ff {{$localBranch}}
    +
    +
    +
    git checkout {{.PullRequest.BaseBranch}}
    +
    git merge --ff-only {{$localBranch}}
    +
    +
    +
    git checkout {{$localBranch}}
    +
    git rebase {{.PullRequest.BaseBranch}}
    +
    git checkout {{.PullRequest.BaseBranch}}
    +
    git merge --no-ff {{$localBranch}}
    +
    +
    +
    git checkout {{.PullRequest.BaseBranch}}
    +
    git merge --squash {{$localBranch}}
    +
    +
    +
    git checkout {{.PullRequest.BaseBranch}}
    +
    git merge --ff-only {{$localBranch}}
    +
    +
    +
    git checkout {{.PullRequest.BaseBranch}}
    +
    git merge {{$localBranch}}
    +
    +
    git push origin {{.PullRequest.BaseBranch}}
    +
    + {{end}} +
    diff --git a/data/gitea/templates/repo/issue/view_content/reactions.tmpl b/data/gitea/templates/repo/issue/view_content/reactions.tmpl new file mode 100644 index 0000000..0011efe --- /dev/null +++ b/data/gitea/templates/repo/issue/view_content/reactions.tmpl @@ -0,0 +1,17 @@ +
    +{{range $key, $value := .Reactions}} + {{$hasReacted := $value.HasUser ctx.RootData.SignedUserID}} + + {{ReactionToEmoji $key}} + {{len $value}} + +{{end}} +{{if AllowedReactions}} + {{template "repo/issue/view_content/add_reaction" dict "ActionURL" .ActionURL}} +{{end}} +
    diff --git a/data/gitea/templates/repo/issue/view_content/reference_issue_dialog.tmpl b/data/gitea/templates/repo/issue/view_content/reference_issue_dialog.tmpl new file mode 100644 index 0000000..d6c9081 --- /dev/null +++ b/data/gitea/templates/repo/issue/view_content/reference_issue_dialog.tmpl @@ -0,0 +1,28 @@ + diff --git a/data/gitea/templates/repo/issue/view_content/show_role.tmpl b/data/gitea/templates/repo/issue/view_content/show_role.tmpl new file mode 100644 index 0000000..40c8b67 --- /dev/null +++ b/data/gitea/templates/repo/issue/view_content/show_role.tmpl @@ -0,0 +1,10 @@ +{{if and .ShowRole.IsPoster (not .IgnorePoster)}} +
    + {{ctx.Locale.Tr "repo.issues.author"}} +
    +{{end}} +{{if .ShowRole.RoleInRepo}} +
    + {{.ShowRole.RoleInRepo.LocaleString ctx.Locale}} +
    +{{end}} diff --git a/data/gitea/templates/repo/issue/view_content/sidebar.tmpl b/data/gitea/templates/repo/issue/view_content/sidebar.tmpl new file mode 100644 index 0000000..bb0bb2c --- /dev/null +++ b/data/gitea/templates/repo/issue/view_content/sidebar.tmpl @@ -0,0 +1,691 @@ +
    + {{template "repo/issue/branch_selector_field" .}} + {{if .Issue.IsPull}} + + + +
    + {{ctx.Locale.Tr "repo.issues.new.no_reviewers"}} +
    + {{range .PullReviewers}} +
    +
    + {{if .User}} + {{ctx.AvatarUtils.Avatar .User 20 "tw-mr-2"}}{{.User.GetDisplayName}} + {{else if .Team}} + {{svg "octicon-people" 20 "tw-mr-2"}}{{$.Issue.Repo.OwnerName}}/{{.Team.Name}} + {{end}} +
    +
    + {{if (and $.Permission.IsAdmin (or (eq .Review.Type 1) (eq .Review.Type 3)) (not $.Issue.IsClosed) (not $.Issue.PullRequest.HasMerged))}} + + {{svg "octicon-x" 20}} + + + {{end}} + {{if .Review.Stale}} + + {{svg "octicon-hourglass" 16}} + + {{end}} + {{if and .CanChange (or .Checked (and (not $.Issue.IsClosed) (not $.Issue.PullRequest.HasMerged)))}} + {{if .Checked}}{{svg "octicon-trash"}}{{else}}{{svg "octicon-sync"}}{{end}} + {{end}} + {{svg (printf "octicon-%s" .Review.Type.Icon) 16 (printf "text %s" (.Review.HTMLTypeColorName))}} +
    +
    + {{end}} + {{range .OriginalReviews}} +
    + +
    + {{svg (printf "octicon-%s" .Type.Icon) 16 (printf "text %s" (.HTMLTypeColorName))}} +
    +
    + {{end}} +
    +
    + {{if and (or .HasIssuesOrPullsWritePermission .IsIssuePoster) (not .HasMerged) (not .Issue.IsClosed) (not .IsPullWorkInProgress)}} + + {{end}} +
    + {{end}} + + {{template "repo/issue/labels/labels_selector_field" .}} + {{template "repo/issue/labels/labels_sidebar" dict "root" $}} + +
    + + +
    + {{ctx.Locale.Tr "repo.issues.new.no_milestone"}} + +
    + + {{if .IsProjectsEnabled}} +
    + + +
    + {{ctx.Locale.Tr "repo.issues.new.no_projects"}} + +
    + {{end}} + +
    + + + +
    + {{ctx.Locale.Tr "repo.issues.new.no_assignees"}} +
    + {{range .Issue.Assignees}} + + {{end}} +
    +
    + +
    + + {{if .Participants}} + {{ctx.Locale.Tr "repo.issues.num_participants" .NumParticipants}} +
    + {{range .Participants}} + + {{ctx.AvatarUtils.Avatar . 28 "tw-my-0.5 tw-mr-1"}} + + {{end}} +
    + {{end}} + + {{if and $.IssueWatch (not .Repository.IsArchived)}} +
    + +
    + {{ctx.Locale.Tr "notification.notifications"}} +
    + {{template "repo/issue/view_content/watching" .}} +
    +
    + {{end}} + {{if .Repository.IsTimetrackerEnabled $.Context}} + {{if and .CanUseTimetracker (not .Repository.IsArchived)}} +
    +
    + {{ctx.Locale.Tr "repo.issues.tracker"}} +
    +
    + {{$.CsrfTokenHtml}} +
    +
    + {{$.CsrfTokenHtml}} +
    + {{if $.IsStopwatchRunning}} + + + {{else}} + {{if .HasUserStopwatch}} +
    + {{ctx.Locale.Tr "repo.issues.tracking_already_started" .OtherStopwatchURL}} +
    + {{end}} + + + + {{end}} +
    +
    + {{end}} + {{if .WorkingUsers}} +
    +
    + {{ctx.Locale.Tr "repo.issues.time_spent_from_all_authors" ($.Issue.TotalTrackedTime | Sec2Time)}} +
    + {{range $user, $trackedtime := .WorkingUsers}} +
    + + {{ctx.AvatarUtils.Avatar $user}} + +
    + {{template "shared/user/authorlink" $user}} +
    + {{$trackedtime|Sec2Time}} +
    +
    +
    + {{end}} +
    +
    + {{end}} + {{end}} + +
    + {{ctx.Locale.Tr "repo.issues.due_date"}} +
    +
    + {{svg "octicon-x" 16 "close icon"}} + {{ctx.Locale.Tr "repo.issues.due_date_invalid"}} +
    + {{if ne .Issue.DeadlineUnix 0}} +

    +

    +
    + {{svg "octicon-calendar" 16 "tw-mr-2"}} + {{DateTime "long" .Issue.DeadlineUnix.FormatDate}} +
    +
    + {{if and .HasIssuesOrPullsWritePermission (not .Repository.IsArchived)}} + {{svg "octicon-pencil" 16 "tw-mr-1"}} + {{svg "octicon-trash"}} + {{end}} +
    +
    +

    + {{else}} +

    {{ctx.Locale.Tr "repo.issues.due_date_not_set"}}

    + {{end}} + + {{if and .HasIssuesOrPullsWritePermission (not .Repository.IsArchived)}} +
    +
    + {{$.CsrfTokenHtml}} + + +
    +
    + {{end}} +
    + + {{if .Repository.IsDependenciesEnabled $.Context}} +
    + +
    + {{if (and (not .BlockedByDependencies) (not .BlockedByDependenciesNotPermitted) (not .BlockingDependencies) (not .BlockingDependenciesNotPermitted))}} + {{ctx.Locale.Tr "repo.issues.dependency.title"}} +
    +

    + {{if .Issue.IsPull}} + {{ctx.Locale.Tr "repo.issues.dependency.pr_no_dependencies"}} + {{else}} + {{ctx.Locale.Tr "repo.issues.dependency.issue_no_dependencies"}} + {{end}} +

    + {{end}} + + {{if or .BlockingDependencies .BlockingDependenciesNotPermitted}} + + {{ctx.Locale.Tr "repo.issues.dependency.blocks_short"}} + +
    + {{range .BlockingDependencies}} +
    +
    + + #{{.Issue.Index}} {{.Issue.Title | RenderEmoji $.Context}} + +
    + {{.Repository.OwnerName}}/{{.Repository.Name}} +
    +
    +
    + {{if and $.CanCreateIssueDependencies (not $.Repository.IsArchived)}} + + {{svg "octicon-trash" 16}} + + {{end}} +
    +
    + {{end}} + {{if .BlockingDependenciesNotPermitted}} +
    + {{ctx.Locale.TrN (len .BlockingDependenciesNotPermitted) "repo.issues.dependency.no_permission_1" "repo.issues.dependency.no_permission_n" (len .BlockingDependenciesNotPermitted)}} +
    + {{end}} +
    + {{end}} + + {{if or .BlockedByDependencies .BlockedByDependenciesNotPermitted}} + + {{ctx.Locale.Tr "repo.issues.dependency.blocked_by_short"}} + +
    + {{range .BlockedByDependencies}} +
    +
    + + #{{.Issue.Index}} {{.Issue.Title | RenderEmoji $.Context}} + +
    + {{.Repository.OwnerName}}/{{.Repository.Name}} +
    +
    +
    + {{if and $.CanCreateIssueDependencies (not $.Repository.IsArchived)}} + + {{svg "octicon-trash" 16}} + + {{end}} +
    +
    + {{end}} + {{if $.CanCreateIssueDependencies}} + {{range .BlockedByDependenciesNotPermitted}} +
    +
    +
    + {{svg "octicon-lock" 16}} + + #{{.Issue.Index}} {{.Issue.Title | RenderEmoji $.Context}} + +
    +
    + {{.Repository.OwnerName}}/{{.Repository.Name}} +
    +
    +
    + {{if and $.CanCreateIssueDependencies (not $.Repository.IsArchived)}} + + {{svg "octicon-trash" 16}} + + {{end}} +
    +
    + {{end}} + {{else if .BlockedByDependenciesNotPermitted}} +
    + {{ctx.Locale.TrN (len .BlockedByDependenciesNotPermitted) "repo.issues.dependency.no_permission_1" "repo.issues.dependency.no_permission_n" (len .BlockedByDependenciesNotPermitted)}} +
    + {{end}} +
    + {{end}} + + {{if and .CanCreateIssueDependencies (not .Repository.IsArchived)}} +
    +
    + {{$.CsrfTokenHtml}} +
    + + +
    +
    +
    + {{end}} +
    + + {{if and .CanCreateIssueDependencies (not .Repository.IsArchived)}} + + + + {{end}} + {{end}} + +
    +
    + {{$issueReferenceLink := printf "%s#%d" .Issue.Repo.FullName .Issue.Index}} +
    + {{ctx.Locale.Tr "repo.issues.reference_link" $issueReferenceLink}} + +
    +
    + + {{if and .IsRepoAdmin (not .Repository.IsArchived)}} +
    + + {{if or .PinEnabled .Issue.IsPinned}} +
    + {{$.CsrfTokenHtml}} + +
    + {{end}} + + + + + + {{end}} + + {{if and .Issue.IsPull .IsIssuePoster (not .Issue.IsClosed) .Issue.PullRequest.HeadRepo}} + {{if and (not (eq .Issue.PullRequest.HeadRepo.FullName .Issue.PullRequest.BaseRepo.FullName)) .CanWriteToHeadRepo}} +
    +
    +
    + + +
    +
    + {{end}} + {{end}} +
    diff --git a/data/gitea/templates/repo/issue/view_content/update_branch_by_merge.tmpl b/data/gitea/templates/repo/issue/view_content/update_branch_by_merge.tmpl new file mode 100644 index 0000000..adce052 --- /dev/null +++ b/data/gitea/templates/repo/issue/view_content/update_branch_by_merge.tmpl @@ -0,0 +1,37 @@ +{{if and (gt $.Issue.PullRequest.CommitsBehind 0) (not $.Issue.IsClosed) (not $.Issue.PullRequest.IsChecking) (not $.IsPullFilesConflicted) (not $.IsPullRequestBroken)}} +
    +
    +
    + {{svg "octicon-alert"}} + {{ctx.Locale.Tr "repo.pulls.outdated_with_base_branch"}} +
    +
    + {{if and $.UpdateAllowed $.UpdateByRebaseAllowed}} +
    +
    + + +
    +
    + {{end}} + {{if and $.UpdateAllowed (not $.UpdateByRebaseAllowed)}} +
    + {{$.CsrfTokenHtml}} + +
    + {{end}} +
    +
    +{{end}} diff --git a/data/gitea/templates/repo/issue/view_content/watching.tmpl b/data/gitea/templates/repo/issue/view_content/watching.tmpl new file mode 100644 index 0000000..05936d0 --- /dev/null +++ b/data/gitea/templates/repo/issue/view_content/watching.tmpl @@ -0,0 +1,12 @@ +
    + + +
    diff --git a/data/gitea/templates/repo/issue/view_title.tmpl b/data/gitea/templates/repo/issue/view_title.tmpl new file mode 100644 index 0000000..58d3759 --- /dev/null +++ b/data/gitea/templates/repo/issue/view_title.tmpl @@ -0,0 +1,124 @@ +{{if .Flash}} +
    + {{template "base/alert" .}} +
    +{{end}} +
    + {{$canEditIssueTitle := and (or .HasIssuesOrPullsWritePermission .IsIssuePoster) (not .Repository.IsArchived)}} +
    +

    + {{RenderIssueTitle $.Context .Issue.Title ($.Repository.ComposeMetas ctx) | RenderCodeBlock}} + #{{.Issue.Index}} +

    +
    + {{if $canEditIssueTitle}} + + {{end}} + {{if not .Issue.IsPull}} + {{ctx.Locale.Tr "repo.issues.new"}} + {{end}} +
    +
    + {{if $canEditIssueTitle}} +
    +
    + +
    +
    + + +
    +
    + {{end}} +
    + {{if .HasMerged}} +
    {{svg "octicon-git-merge" 16 "tw-mr-1"}} {{if eq .Issue.PullRequest.Status 3}}{{ctx.Locale.Tr "repo.pulls.manually_merged"}}{{else}}{{ctx.Locale.Tr "repo.pulls.merged"}}{{end}}
    + {{else if .Issue.IsClosed}} +
    {{if .Issue.IsPull}}{{svg "octicon-git-pull-request"}}{{else}}{{svg "octicon-issue-closed"}}{{end}} {{ctx.Locale.Tr "repo.issues.closed_title"}}
    + {{else if .Issue.IsPull}} + {{if .IsPullWorkInProgress}} +
    {{svg "octicon-git-pull-request-draft"}} {{ctx.Locale.Tr "repo.issues.draft_title"}}
    + {{else}} +
    {{svg "octicon-git-pull-request"}} {{ctx.Locale.Tr "repo.issues.open_title"}}
    + {{end}} + {{else}} +
    {{svg "octicon-issue-opened"}} {{ctx.Locale.Tr "repo.issues.open_title"}}
    + {{end}} +
    + {{if .Issue.IsPull}} + {{$headHref := .HeadTarget}} + {{if .HeadBranchLink}} + {{$headHref = HTMLFormat `%s` .HeadBranchLink $headHref}} + {{end}} + {{$headHref = HTMLFormat `%s ` $headHref (ctx.Locale.Tr "copy_branch") .HeadTarget (svg "octicon-copy" 14)}} + {{$baseHref := .BaseTarget}} + {{if .BaseBranchLink}} + {{$baseHref = HTMLFormat `%s` .BaseBranchLink $baseHref}} + {{end}} + {{if .Issue.PullRequest.HasMerged}} + {{$mergedStr:= TimeSinceUnix .Issue.PullRequest.MergedUnix ctx.Locale}} + {{if .Issue.OriginalAuthor}} + {{.Issue.OriginalAuthor}} + {{ctx.Locale.Tr "repo.pulls.merged_title_desc" .NumCommits $headHref $baseHref $mergedStr}} + {{else}} + {{.Issue.PullRequest.Merger.GetDisplayName}} + {{ctx.Locale.Tr "repo.pulls.merged_title_desc" .NumCommits $headHref $baseHref $mergedStr}} + {{end}} + {{else}} + {{if .Issue.OriginalAuthor}} + {{.Issue.OriginalAuthor}} {{ctx.Locale.Tr "repo.pulls.title_desc" .NumCommits $headHref $baseHref}} + {{else}} + + {{.Issue.Poster.GetDisplayName}} + {{ctx.Locale.Tr "repo.pulls.title_desc" .NumCommits $headHref $baseHref}} + + {{end}} + + + {{svg "octicon-arrow-right"}} + + + {{end}} + {{else}} + {{$createdStr:= TimeSinceUnix .Issue.CreatedUnix ctx.Locale}} + + {{if .Issue.OriginalAuthor}} + {{ctx.Locale.Tr "repo.issues.opened_by_fake" $createdStr .Issue.OriginalAuthor}} + {{else if gt .Issue.Poster.ID 0}} + {{ctx.Locale.Tr "repo.issues.opened_by" $createdStr .Issue.Poster.HomeLink .Issue.Poster.GetDisplayName}} + {{else}} + {{ctx.Locale.Tr "repo.issues.opened_by_fake" $createdStr .Issue.Poster.GetDisplayName}} + {{end}} + · + {{ctx.Locale.TrN .Issue.NumComments "repo.issues.num_comments_1" "repo.issues.num_comments" .Issue.NumComments}} + + {{end}} +
    +
    +
    diff --git a/data/gitea/templates/repo/latest_commit.tmpl b/data/gitea/templates/repo/latest_commit.tmpl new file mode 100644 index 0000000..8bacb42 --- /dev/null +++ b/data/gitea/templates/repo/latest_commit.tmpl @@ -0,0 +1,31 @@ +{{if not .LatestCommit}} +
    +{{else}} + {{if .LatestCommitUser}} + {{ctx.AvatarUtils.Avatar .LatestCommitUser 24 "tw-mr-1"}} + {{if and .LatestCommitUser.FullName DefaultShowFullName}} + {{.LatestCommitUser.FullName}} + {{else}} + {{if .LatestCommit.Author}}{{.LatestCommit.Author.Name}}{{else}}{{.LatestCommitUser.Name}}{{end}} + {{end}} + {{else}} + {{if .LatestCommit.Author}} + {{ctx.AvatarUtils.AvatarByEmail .LatestCommit.Author.Email .LatestCommit.Author.Name 24 "tw-mr-1"}} + {{.LatestCommit.Author.Name}} + {{end}} + {{end}} + + {{ShortSha .LatestCommit.ID.String}} + {{if .LatestCommit.Signature}} + {{template "repo/shabox_badge" dict "root" $ "verification" .LatestCommitVerification}} + {{end}} + + {{template "repo/commit_statuses" dict "Status" .LatestCommitStatus "Statuses" .LatestCommitStatuses}} + {{$commitLink:= printf "%s/commit/%s" .RepoLink (PathEscape .LatestCommit.ID.String)}} + {{RenderCommitMessageLinkSubject $.Context .LatestCommit.Message $commitLink ($.Repository.ComposeMetas ctx)}} + {{if IsMultilineCommitMessage .LatestCommit.Message}} + +
    {{RenderCommitBody $.Context .LatestCommit.Message ($.Repository.ComposeMetas ctx)}}
    + {{end}} +
    +{{end}} diff --git a/data/gitea/templates/repo/migrate/codebase.tmpl b/data/gitea/templates/repo/migrate/codebase.tmpl new file mode 100644 index 0000000..c8059b7 --- /dev/null +++ b/data/gitea/templates/repo/migrate/codebase.tmpl @@ -0,0 +1,116 @@ +{{template "base/head" .}} +
    +
    +
    +
    + {{template "base/disable_form_autofill"}} + {{.CsrfTokenHtml}} +

    + {{ctx.Locale.Tr "repo.migrate.migrate" .service.Title}} + +

    +
    + {{template "base/alert" .}} +
    + + + + {{ctx.Locale.Tr "repo.migrate.clone_address_desc"}}{{if .ContextUser.CanImportLocal}} {{ctx.Locale.Tr "repo.migrate.clone_local_path"}}{{end}} + +
    + +
    + + +
    +
    + + +
    + + {{template "repo/migrate/options" .}} + +
    +
    + +
    + + +
    +
    + + +
    +
    +
    + +
    + + +
    +
    + + +
    +
    +
    + +
    + +
    + + +
    + +
    + + +
    +
    + +
    + {{if .IsForcedPrivate}} + + + {{else}} + + + {{end}} +
    +
    +
    + + +
    + +
    + + +
    +
    +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/migrate/git.tmpl b/data/gitea/templates/repo/migrate/git.tmpl new file mode 100644 index 0000000..9c5f0d7 --- /dev/null +++ b/data/gitea/templates/repo/migrate/git.tmpl @@ -0,0 +1,90 @@ +{{template "base/head" .}} +
    +
    +
    +
    + {{template "base/disable_form_autofill"}} + {{.CsrfTokenHtml}} +

    + {{ctx.Locale.Tr "repo.migrate.migrate" .service.Title}} + +

    +
    + {{template "base/alert" .}} +
    + + + + {{ctx.Locale.Tr "repo.migrate.clone_address_desc"}}{{if .ContextUser.CanImportLocal}} {{ctx.Locale.Tr "repo.migrate.clone_local_path"}}{{end}} + +
    +
    + + +
    +
    + + +
    + + {{template "repo/migrate/options" .}} + +
    + +
    + + +
    + +
    + + +
    +
    + +
    + {{if .IsForcedPrivate}} + + + {{else}} + + + {{end}} +
    +
    +
    + + +
    + +
    + + +
    +
    +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/migrate/gitbucket.tmpl b/data/gitea/templates/repo/migrate/gitbucket.tmpl new file mode 100644 index 0000000..b667fa8 --- /dev/null +++ b/data/gitea/templates/repo/migrate/gitbucket.tmpl @@ -0,0 +1,132 @@ +{{template "base/head" .}} +
    +
    +
    +
    + {{template "base/disable_form_autofill"}} + {{.CsrfTokenHtml}} +

    + {{ctx.Locale.Tr "repo.migrate.migrate" .service.Title}} + +

    +
    + {{template "base/alert" .}} +
    + + + + {{ctx.Locale.Tr "repo.migrate.clone_address_desc"}}{{if .ContextUser.CanImportLocal}} {{ctx.Locale.Tr "repo.migrate.clone_local_path"}}{{end}} + +
    + +
    + + +
    +
    + + +
    + + {{template "repo/migrate/options" .}} + +
    + +
    + + +
    +
    + +
    + {{ctx.Locale.Tr "repo.migrate.migrate_items_options"}} +
    + +
    + + +
    +
    + + +
    +
    +
    + +
    + + +
    +
    + + +
    +
    +
    + +
    + + +
    +
    +
    + +
    + +
    + + +
    + +
    + + +
    +
    + +
    + {{if .IsForcedPrivate}} + + + {{else}} + + + {{end}} +
    +
    +
    + + +
    + +
    + + +
    +
    +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/migrate/gitea.tmpl b/data/gitea/templates/repo/migrate/gitea.tmpl new file mode 100644 index 0000000..3b8f377 --- /dev/null +++ b/data/gitea/templates/repo/migrate/gitea.tmpl @@ -0,0 +1,128 @@ +{{template "base/head" .}} +
    +
    +
    +
    + {{.CsrfTokenHtml}} +

    + {{ctx.Locale.Tr "repo.migrate.migrate" .service.Title}} + +

    +
    + {{template "base/alert" .}} +
    + + + + {{ctx.Locale.Tr "repo.migrate.clone_address_desc"}}{{if .ContextUser.CanImportLocal}} {{ctx.Locale.Tr "repo.migrate.clone_local_path"}}{{end}} + +
    + +
    + + + {{svg "octicon-question"}} +
    + + {{template "repo/migrate/options" .}} + +
    + +
    + + +
    +
    + +
    + {{ctx.Locale.Tr "repo.migrate.migrate_items_options"}} +
    + +
    + + +
    +
    + + +
    +
    +
    + +
    + + +
    +
    + + +
    +
    +
    + +
    + + +
    +
    +
    + +
    + +
    + + +
    + +
    + + +
    +
    + +
    + {{if .IsForcedPrivate}} + + + {{else}} + + + {{end}} +
    +
    +
    + + +
    + +
    + + +
    +
    +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/migrate/github.tmpl b/data/gitea/templates/repo/migrate/github.tmpl new file mode 100644 index 0000000..3535edd --- /dev/null +++ b/data/gitea/templates/repo/migrate/github.tmpl @@ -0,0 +1,130 @@ +{{template "base/head" .}} +
    +
    +
    +
    + {{.CsrfTokenHtml}} +

    + {{ctx.Locale.Tr "repo.migrate.migrate" .service.Title}} + +

    +
    + {{template "base/alert" .}} +
    + + + + {{ctx.Locale.Tr "repo.migrate.clone_address_desc"}} + +
    + +
    + + + {{svg "octicon-question"}} + + {{ctx.Locale.Tr "repo.migrate.github_token_desc"}} + +
    + + {{template "repo/migrate/options" .}} + +
    + +
    + + +
    +
    +
    + {{ctx.Locale.Tr "repo.migrate.migrate_items_options"}} +
    + +
    + + +
    +
    + + +
    +
    +
    + +
    + + +
    +
    + + +
    +
    +
    + +
    + + +
    +
    +
    + +
    + +
    + + +
    + +
    + + +
    +
    + +
    + {{if .IsForcedPrivate}} + + + {{else}} + + + {{end}} +
    +
    +
    + + +
    + +
    + + +
    +
    +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/migrate/gitlab.tmpl b/data/gitea/templates/repo/migrate/gitlab.tmpl new file mode 100644 index 0000000..f705fb3 --- /dev/null +++ b/data/gitea/templates/repo/migrate/gitlab.tmpl @@ -0,0 +1,127 @@ +{{template "base/head" .}} +
    +
    +
    +
    + {{.CsrfTokenHtml}} +

    + {{ctx.Locale.Tr "repo.migrate.migrate" .service.Title}} + +

    +
    + {{template "base/alert" .}} +
    + + + + {{ctx.Locale.Tr "repo.migrate.clone_address_desc"}}{{if .ContextUser.CanImportLocal}} {{ctx.Locale.Tr "repo.migrate.clone_local_path"}}{{end}} + +
    + +
    + + + {{svg "octicon-question"}} +
    + + {{template "repo/migrate/options" .}} + +
    + +
    + + +
    +
    +
    + {{ctx.Locale.Tr "repo.migrate.migrate_items_options"}} +
    + +
    + + +
    +
    + + +
    +
    +
    + +
    + + +
    +
    + + +
    +
    +
    + +
    + + +
    +
    +
    + +
    + +
    + + +
    + +
    + + +
    +
    + +
    + {{if .IsForcedPrivate}} + + + {{else}} + + + {{end}} +
    +
    +
    + + +
    + +
    + + +
    +
    +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/migrate/gogs.tmpl b/data/gitea/templates/repo/migrate/gogs.tmpl new file mode 100644 index 0000000..eca83b1 --- /dev/null +++ b/data/gitea/templates/repo/migrate/gogs.tmpl @@ -0,0 +1,130 @@ +{{template "base/head" .}} +
    +
    +
    +
    + {{.CsrfTokenHtml}} +

    + {{ctx.Locale.Tr "repo.migrate.migrate" .service.Title}} + +

    +
    + {{template "base/alert" .}} +
    + + + + {{ctx.Locale.Tr "repo.migrate.clone_address_desc"}}{{if .ContextUser.CanImportLocal}} {{ctx.Locale.Tr "repo.migrate.clone_local_path"}}{{end}} + +
    + +
    + + + +
    + + {{template "repo/migrate/options" .}} + +
    + +
    + + +
    +
    + +
    + {{ctx.Locale.Tr "repo.migrate.migrate_items_options"}} +
    + +
    + + +
    +
    + + +
    +
    +
    + +
    + + +
    +
    + +
    + +
    + +
    + + +
    + +
    + + +
    +
    + +
    + {{if .IsForcedPrivate}} + + + {{else}} + + + {{end}} +
    +
    +
    + + +
    + +
    + + +
    +
    +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/migrate/helper.tmpl b/data/gitea/templates/repo/migrate/helper.tmpl new file mode 100644 index 0000000..e69de29 diff --git a/data/gitea/templates/repo/migrate/migrate.tmpl b/data/gitea/templates/repo/migrate/migrate.tmpl new file mode 100644 index 0000000..c5c697e --- /dev/null +++ b/data/gitea/templates/repo/migrate/migrate.tmpl @@ -0,0 +1,32 @@ +{{template "base/head" .}} + +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/migrate/migrating.tmpl b/data/gitea/templates/repo/migrate/migrating.tmpl new file mode 100644 index 0000000..bc07b48 --- /dev/null +++ b/data/gitea/templates/repo/migrate/migrating.tmpl @@ -0,0 +1,101 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    +
    +
    + {{template "base/alert" .}} +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +

    {{ctx.Locale.Tr "repo.migrate.migrating" .CloneAddr}}

    +

    +
    +
    + {{if .CloneAddr}} +

    {{ctx.Locale.Tr "repo.migrate.migrating_failed" .CloneAddr}}

    + {{else}} +

    {{ctx.Locale.Tr "repo.migrate.migrating_failed_no_addr"}}

    + {{end}} +

    +
    + {{if .Permission.IsAdmin}} +
    +
    + {{if .Failed}} + + {{else}} + + {{end}} + +
    + {{end}} +
    +
    +
    +
    +
    +
    +
    + + + + + +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/migrate/onedev.tmpl b/data/gitea/templates/repo/migrate/onedev.tmpl new file mode 100644 index 0000000..e1aad96 --- /dev/null +++ b/data/gitea/templates/repo/migrate/onedev.tmpl @@ -0,0 +1,116 @@ +{{template "base/head" .}} +
    +
    +
    +
    + {{template "base/disable_form_autofill"}} + {{.CsrfTokenHtml}} +

    + {{ctx.Locale.Tr "repo.migrate.migrate" .service.Title}} + +

    +
    + {{template "base/alert" .}} +
    + + + + {{ctx.Locale.Tr "repo.migrate.clone_address_desc"}}{{if .ContextUser.CanImportLocal}} {{ctx.Locale.Tr "repo.migrate.clone_local_path"}}{{end}} + +
    + +
    + + +
    +
    + + +
    + + {{template "repo/migrate/options" .}} + +
    +
    + +
    + + +
    +
    + + +
    +
    +
    + +
    + + +
    +
    + + +
    +
    +
    + +
    + +
    + + +
    + +
    + + +
    +
    + +
    + {{if .IsForcedPrivate}} + + + {{else}} + + + {{end}} +
    +
    +
    + + +
    + +
    + + +
    +
    +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/migrate/options.tmpl b/data/gitea/templates/repo/migrate/options.tmpl new file mode 100644 index 0000000..8a46e57 --- /dev/null +++ b/data/gitea/templates/repo/migrate/options.tmpl @@ -0,0 +1,26 @@ +{{if not .DisableNewPullMirrors}} +
    + +
    + + +
    +
    +{{end}} +{{if .LFSActive}} +
    + +
    + + +
    + ({{ctx.Locale.Tr "repo.settings.advanced_settings"}}) +
    +
    + {{ctx.Locale.Tr "repo.migrate_options_lfs_endpoint.description" "https://github.com/git-lfs/git-lfs/blob/main/docs/api/server-discovery.md#server-discovery"}}{{if .ContextUser.CanImportLocal}} {{ctx.Locale.Tr "repo.migrate_options_lfs_endpoint.description.local"}}{{end}} +
    + + +
    +
    +{{end}} diff --git a/data/gitea/templates/repo/navbar.tmpl b/data/gitea/templates/repo/navbar.tmpl new file mode 100644 index 0000000..b2471dc --- /dev/null +++ b/data/gitea/templates/repo/navbar.tmpl @@ -0,0 +1,14 @@ + diff --git a/data/gitea/templates/repo/packages.tmpl b/data/gitea/templates/repo/packages.tmpl new file mode 100644 index 0000000..14e32c1 --- /dev/null +++ b/data/gitea/templates/repo/packages.tmpl @@ -0,0 +1,8 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{template "package/shared/list" .}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/projects/list.tmpl b/data/gitea/templates/repo/projects/list.tmpl new file mode 100644 index 0000000..9eae401 --- /dev/null +++ b/data/gitea/templates/repo/projects/list.tmpl @@ -0,0 +1,8 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{template "projects/list" .}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/projects/new.tmpl b/data/gitea/templates/repo/projects/new.tmpl new file mode 100644 index 0000000..e70f3bc --- /dev/null +++ b/data/gitea/templates/repo/projects/new.tmpl @@ -0,0 +1,8 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{template "projects/new" .}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/projects/view.tmpl b/data/gitea/templates/repo/projects/view.tmpl new file mode 100644 index 0000000..05ad726 --- /dev/null +++ b/data/gitea/templates/repo/projects/view.tmpl @@ -0,0 +1,15 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    +
    + {{template "repo/issue/navbar" .}} + {{ctx.Locale.Tr "repo.issues.new"}} +
    +
    +
    + {{template "projects/view" .}} +
    +
    + +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/pulls/commits.tmpl b/data/gitea/templates/repo/pulls/commits.tmpl new file mode 100644 index 0000000..bf6e812 --- /dev/null +++ b/data/gitea/templates/repo/pulls/commits.tmpl @@ -0,0 +1,10 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{template "repo/issue/view_title" .}} + {{template "repo/pulls/tab_menu" .}} + {{template "repo/commits_table" .}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/pulls/files.tmpl b/data/gitea/templates/repo/pulls/files.tmpl new file mode 100644 index 0000000..402bec8 --- /dev/null +++ b/data/gitea/templates/repo/pulls/files.tmpl @@ -0,0 +1,14 @@ +{{template "base/head" .}} + + + + +
    + {{template "repo/header" .}} +
    + {{template "repo/issue/view_title" .}} + {{template "repo/pulls/tab_menu" .}} + {{template "repo/diff/box" .}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/pulls/fork.tmpl b/data/gitea/templates/repo/pulls/fork.tmpl new file mode 100644 index 0000000..2cf0a85 --- /dev/null +++ b/data/gitea/templates/repo/pulls/fork.tmpl @@ -0,0 +1,90 @@ +{{template "base/head" .}} +
    +
    +
    +
    + {{.CsrfTokenHtml}} +

    + {{ctx.Locale.Tr "new_fork"}} +

    +
    + {{template "base/alert" .}} +
    + + +
    + +
    + + {{.ForkRepo.FullName}} +
    +
    + + +
    +
    + +
    + + +
    + {{ctx.Locale.Tr "repo.fork_visibility_helper"}} +
    +
    + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/pulls/status.tmpl b/data/gitea/templates/repo/pulls/status.tmpl new file mode 100644 index 0000000..e8636ba --- /dev/null +++ b/data/gitea/templates/repo/pulls/status.tmpl @@ -0,0 +1,59 @@ +{{/* +Template Attributes: +* CommitStatus: summary of all commit status state +* CommitStatuses: all commit status elements +* MissingRequiredChecks: commit check contexts that are required by branch protection but not present +* ShowHideChecks: whether use a button to show/hide the checks +* is_context_required: Used in pull request commit status check table +*/}} + +{{if .CommitStatus}} +
    +
    + {{if or (eq .CommitStatus.State "pending") (.MissingRequiredChecks)}} + {{ctx.Locale.Tr "repo.pulls.status_checking"}} + {{else if eq .CommitStatus.State "success"}} + {{ctx.Locale.Tr "repo.pulls.status_checks_success"}} + {{else if eq .CommitStatus.State "warning"}} + {{ctx.Locale.Tr "repo.pulls.status_checks_warning"}} + {{else if eq .CommitStatus.State "failure"}} + {{ctx.Locale.Tr "repo.pulls.status_checks_failure"}} + {{else if eq .CommitStatus.State "error"}} + {{ctx.Locale.Tr "repo.pulls.status_checks_error"}} + {{else}} + {{ctx.Locale.Tr "repo.pulls.status_checking"}} + {{end}} + + {{if .ShowHideChecks}} +
    + +
    + {{end}} +
    + +
    + {{range .CommitStatuses}} +
    + {{template "repo/commit_status" .}} +
    {{.Context}} {{.Description}}
    +
    + {{if $.is_context_required}} + {{if (call $.is_context_required .Context)}}
    {{ctx.Locale.Tr "repo.pulls.status_checks_requested"}}
    {{end}} + {{end}} + {{if .TargetURL}}{{ctx.Locale.Tr "repo.pulls.status_checks_details"}}{{end}} +
    +
    + {{end}} + {{range .MissingRequiredChecks}} +
    + {{svg "octicon-dot-fill" 18 "commit-status icon text yellow"}} +
    {{.}}
    +
    {{ctx.Locale.Tr "repo.pulls.status_checks_requested"}}
    +
    + {{end}} +
    +
    +{{end}} diff --git a/data/gitea/templates/repo/pulls/tab_menu.tmpl b/data/gitea/templates/repo/pulls/tab_menu.tmpl new file mode 100644 index 0000000..8b192c4 --- /dev/null +++ b/data/gitea/templates/repo/pulls/tab_menu.tmpl @@ -0,0 +1,28 @@ + diff --git a/data/gitea/templates/repo/pulse.tmpl b/data/gitea/templates/repo/pulse.tmpl new file mode 100644 index 0000000..e68109b --- /dev/null +++ b/data/gitea/templates/repo/pulse.tmpl @@ -0,0 +1,231 @@ +

    + {{DateTime "long" .DateFrom}} - {{DateTime "long" .DateUntil}} + + +

    + +{{if (or (.Permission.CanRead ctx.Consts.RepoUnitTypeIssues) (.Permission.CanRead ctx.Consts.RepoUnitTypePullRequests))}} +

    {{ctx.Locale.Tr "repo.activity.overview"}}

    +
    + {{if .Permission.CanRead ctx.Consts.RepoUnitTypePullRequests}} +
    + {{if gt .Activity.ActivePRCount 0}} +
    + {{if gt .Activity.MergedPRPerc 0}} + + {{end}} + +
    + {{else}} +
    + +
    + {{end}} + {{ctx.Locale.TrN .Activity.ActivePRCount "repo.activity.active_prs_count_1" "repo.activity.active_prs_count_n" .Activity.ActivePRCount}} +
    + {{end}} + {{if .Permission.CanRead ctx.Consts.RepoUnitTypeIssues}} +
    + {{if gt .Activity.ActiveIssueCount 0}} +
    + {{if gt .Activity.ClosedIssuePerc 0}} + + {{end}} + +
    + {{else}} +
    + +
    + {{end}} + {{ctx.Locale.TrN .Activity.ActiveIssueCount "repo.activity.active_issues_count_1" "repo.activity.active_issues_count_n" .Activity.ActiveIssueCount}} +
    + {{end}} +
    + +{{end}} + +{{if .Permission.CanRead ctx.Consts.RepoUnitTypeCode}} + {{if eq .Activity.Code.CommitCountInAllBranches 0}} +
    +

    {{ctx.Locale.Tr "repo.activity.no_git_activity"}}

    +
    + {{end}} + {{if gt .Activity.Code.CommitCountInAllBranches 0}} +
    +
    + {{ctx.Locale.Tr "repo.activity.git_stats_exclude_merges"}} + {{ctx.Locale.TrN .Activity.Code.AuthorCount "repo.activity.git_stats_author_1" "repo.activity.git_stats_author_n" .Activity.Code.AuthorCount}} + {{ctx.Locale.TrN .Activity.Code.AuthorCount "repo.activity.git_stats_pushed_1" "repo.activity.git_stats_pushed_n"}} + {{ctx.Locale.TrN .Activity.Code.CommitCount "repo.activity.git_stats_commit_1" "repo.activity.git_stats_commit_n" .Activity.Code.CommitCount}} + {{ctx.Locale.Tr "repo.activity.git_stats_push_to_branch" .Repository.DefaultBranch}} + {{ctx.Locale.TrN .Activity.Code.CommitCountInAllBranches "repo.activity.git_stats_commit_1" "repo.activity.git_stats_commit_n" .Activity.Code.CommitCountInAllBranches}} + {{ctx.Locale.Tr "repo.activity.git_stats_push_to_all_branches"}} + {{ctx.Locale.Tr "repo.activity.git_stats_on_default_branch" .Repository.DefaultBranch}} + {{ctx.Locale.TrN .Activity.Code.ChangedFiles "repo.activity.git_stats_file_1" "repo.activity.git_stats_file_n" .Activity.Code.ChangedFiles}} + {{ctx.Locale.TrN .Activity.Code.ChangedFiles "repo.activity.git_stats_files_changed_1" "repo.activity.git_stats_files_changed_n"}} + {{ctx.Locale.Tr "repo.activity.git_stats_additions"}} + {{ctx.Locale.TrN .Activity.Code.Additions "repo.activity.git_stats_addition_1" "repo.activity.git_stats_addition_n" .Activity.Code.Additions}} + {{ctx.Locale.Tr "repo.activity.git_stats_and_deletions"}} + {{ctx.Locale.TrN .Activity.Code.Deletions "repo.activity.git_stats_deletion_1" "repo.activity.git_stats_deletion_n" .Activity.Code.Deletions}}. +
    +
    +
    +
    +
    + {{end}} +{{end}} + +{{if gt .Activity.PublishedReleaseCount 0}} +

    + {{svg "octicon-tag" 16 "tw-mr-2"}} + {{ctx.Locale.Tr "repo.activity.title.releases_published_by" + (ctx.Locale.TrN .Activity.PublishedReleaseCount "repo.activity.title.releases_1" "repo.activity.title.releases_n" .Activity.PublishedReleaseCount) + (ctx.Locale.TrN .Activity.PublishedReleaseAuthorCount "repo.activity.title.user_1" "repo.activity.title.user_n" .Activity.PublishedReleaseAuthorCount) + }} +

    +
    + {{range .Activity.PublishedReleases}} +

    + {{ctx.Locale.Tr "repo.activity.published_release_label"}} + {{.TagName}} + {{if not .IsTag}} + {{.Title | RenderEmoji $.Context | RenderCodeBlock}} + {{end}} + {{TimeSinceUnix .CreatedUnix ctx.Locale}} +

    + {{end}} +
    +{{end}} + +{{if gt .Activity.MergedPRCount 0}} +

    + {{svg "octicon-git-pull-request" 16 "tw-mr-2"}} + {{ctx.Locale.Tr "repo.activity.title.prs_merged_by" + (ctx.Locale.TrN .Activity.MergedPRCount "repo.activity.title.prs_1" "repo.activity.title.prs_n" .Activity.MergedPRCount) + (ctx.Locale.TrN .Activity.MergedPRAuthorCount "repo.activity.title.user_1" "repo.activity.title.user_n" .Activity.MergedPRAuthorCount) + }} +

    +
    + {{range .Activity.MergedPRs}} +

    + {{ctx.Locale.Tr "repo.activity.merged_prs_label"}} + #{{.Index}} {{.Issue.Title | RenderEmoji $.Context | RenderCodeBlock}} + {{TimeSinceUnix .MergedUnix ctx.Locale}} +

    + {{end}} +
    +{{end}} + +{{if gt .Activity.OpenedPRCount 0}} +

    + {{svg "octicon-git-branch" 16 "tw-mr-2"}} + {{ctx.Locale.Tr "repo.activity.title.prs_opened_by" + (ctx.Locale.TrN .Activity.OpenedPRCount "repo.activity.title.prs_1" "repo.activity.title.prs_n" .Activity.OpenedPRCount) + (ctx.Locale.TrN .Activity.OpenedPRAuthorCount "repo.activity.title.user_1" "repo.activity.title.user_n" .Activity.OpenedPRAuthorCount) + }} +

    +
    + {{range .Activity.OpenedPRs}} +

    + {{ctx.Locale.Tr "repo.activity.opened_prs_label"}} + #{{.Index}} {{.Issue.Title | RenderEmoji $.Context | RenderCodeBlock}} + {{TimeSinceUnix .Issue.CreatedUnix ctx.Locale}} +

    + {{end}} +
    +{{end}} + +{{if gt .Activity.ClosedIssueCount 0}} +

    + {{svg "octicon-issue-closed" 16 "tw-mr-2"}} + {{ctx.Locale.Tr "repo.activity.title.issues_closed_from" + (ctx.Locale.TrN .Activity.ClosedIssueCount "repo.activity.title.issues_1" "repo.activity.title.issues_n" .Activity.ClosedIssueCount) + (ctx.Locale.TrN .Activity.ClosedIssueAuthorCount "repo.activity.title.user_1" "repo.activity.title.user_n" .Activity.ClosedIssueAuthorCount) + }} +

    +
    + {{range .Activity.ClosedIssues}} +

    + {{ctx.Locale.Tr "repo.activity.closed_issue_label"}} + #{{.Index}} {{.Title | RenderEmoji $.Context | RenderCodeBlock}} + {{TimeSinceUnix .ClosedUnix ctx.Locale}} +

    + {{end}} +
    +{{end}} + +{{if gt .Activity.OpenedIssueCount 0}} +

    + {{svg "octicon-issue-opened" 16 "tw-mr-2"}} + {{ctx.Locale.Tr "repo.activity.title.issues_created_by" + (ctx.Locale.TrN .Activity.OpenedIssueCount "repo.activity.title.issues_1" "repo.activity.title.issues_n" .Activity.OpenedIssueCount) + (ctx.Locale.TrN .Activity.OpenedIssueAuthorCount "repo.activity.title.user_1" "repo.activity.title.user_n" .Activity.OpenedIssueAuthorCount) + }} +

    +
    + {{range .Activity.OpenedIssues}} +

    + {{ctx.Locale.Tr "repo.activity.new_issue_label"}} + #{{.Index}} {{.Title | RenderEmoji $.Context | RenderCodeBlock}} + {{TimeSinceUnix .CreatedUnix ctx.Locale}} +

    + {{end}} +
    +{{end}} + +{{if gt .Activity.UnresolvedIssueCount 0}} +

    + {{svg "octicon-comment-discussion" 16 "tw-mr-2"}} + {{ctx.Locale.TrN .Activity.UnresolvedIssueCount "repo.activity.title.unresolved_conv_1" "repo.activity.title.unresolved_conv_n" .Activity.UnresolvedIssueCount}} +

    +
    + {{range .Activity.UnresolvedIssues}} +

    + {{ctx.Locale.Tr "repo.activity.unresolved_conv_label"}} + #{{.Index}} + {{if .IsPull}} + {{.Title | RenderEmoji $.Context | RenderCodeBlock}} + {{else}} + {{.Title | RenderEmoji $.Context | RenderCodeBlock}} + {{end}} + {{TimeSinceUnix .UpdatedUnix ctx.Locale}} +

    + {{end}} +
    +{{end}} diff --git a/data/gitea/templates/repo/recent_commits.tmpl b/data/gitea/templates/repo/recent_commits.tmpl new file mode 100644 index 0000000..cfa8fab --- /dev/null +++ b/data/gitea/templates/repo/recent_commits.tmpl @@ -0,0 +1,9 @@ +{{if .Permission.CanRead ctx.Consts.RepoUnitTypeCode}} +
    +
    +{{end}} diff --git a/data/gitea/templates/repo/release/list.tmpl b/data/gitea/templates/repo/release/list.tmpl new file mode 100644 index 0000000..3454867 --- /dev/null +++ b/data/gitea/templates/repo/release/list.tmpl @@ -0,0 +1,114 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{template "base/alert" .}} + {{template "repo/release_tag_header" .}} + + + {{template "base/paginate" .}} +
    +
    + +{{if (and ($.Permission.CanWrite ctx.Consts.RepoUnitTypeCode) .PageIsTagList)}} + +{{end}} + +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/release/new.tmpl b/data/gitea/templates/repo/release/new.tmpl new file mode 100644 index 0000000..c01f9a4 --- /dev/null +++ b/data/gitea/templates/repo/release/new.tmpl @@ -0,0 +1,150 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    +

    + {{if .PageIsEditRelease}} + {{ctx.Locale.Tr "repo.release.edit_release"}} +
    {{ctx.Locale.Tr "repo.release.edit_subheader"}}
    + {{else}} + {{ctx.Locale.Tr "repo.release.new_release"}} +
    {{ctx.Locale.Tr "repo.release.new_subheader"}}
    + {{end}} +

    + {{template "base/alert" .}} +
    + {{.CsrfTokenHtml}} +
    +
    + {{if .PageIsEditRelease}} + {{.tag_name}}@{{.tag_target}} + {{else}} + + +
    + @ + +
    +
    + {{ctx.Locale.Tr "repo.release.tag_helper"}} +
    + {{end}} +
    +
    +
    +
    + +
    +
    + {{template "shared/combomarkdowneditor" (dict + "MarkdownPreviewUrl" (print .Repository.Link "/markup") + "MarkdownPreviewContext" .RepoLink + "TextareaName" "content" + "TextareaContent" .content + "TextareaPlaceholder" (ctx.Locale.Tr "repo.release.message") + "TextareaAriaLabel" (ctx.Locale.Tr "repo.release.message") + "DropzoneParentContainer" "form" + )}} +
    + {{range .attachments}} +
    +
    + + + {{.Size | FileSize}} + + {{svg "octicon-info"}} + +
    + + {{ctx.Locale.Tr "remove"}} + +
    + {{end}} + {{if .IsAttachmentEnabled}} +
    + {{template "repo/upload" .}} +
    + {{end}} +
    +
    +
    +
    + {{if not .PageIsEditRelease}} +
    +
    + + +
    +
    + {{else}} + + {{end}} +
    +
    + + +
    +
    + {{ctx.Locale.Tr "repo.release.prerelease_helper"}} +
    +
    + {{if .PageIsEditRelease}} + + {{ctx.Locale.Tr "repo.release.cancel"}} + + + {{ctx.Locale.Tr "repo.release.delete_release"}} + + {{if .IsDraft}} + + + {{else}} + + {{end}} + {{else}} + {{if not .tag_name}} + + {{end}} + + + {{end}} +
    +
    +
    +
    +
    +
    + +{{if .PageIsEditRelease}} + +{{end}} +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/release_tag_header.tmpl b/data/gitea/templates/repo/release_tag_header.tmpl new file mode 100644 index 0000000..f96c768 --- /dev/null +++ b/data/gitea/templates/repo/release_tag_header.tmpl @@ -0,0 +1,29 @@ +{{$canReadReleases := $.Permission.CanRead ctx.Consts.RepoUnitTypeReleases}} +{{$canReadCode := $.Permission.CanRead ctx.Consts.RepoUnitTypeCode}} + +{{if $canReadReleases}} + +
    +{{else if $canReadCode}} + {{/* if the "repo.releases" unit is disabled, only show the "commits / branches / tags" sub menu */}} + {{template "repo/sub_menu" .}} +{{end}} diff --git a/data/gitea/templates/repo/search.tmpl b/data/gitea/templates/repo/search.tmpl new file mode 100644 index 0000000..3f5b22b --- /dev/null +++ b/data/gitea/templates/repo/search.tmpl @@ -0,0 +1,8 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{template "shared/search/code/search" .}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/search_name.tmpl b/data/gitea/templates/repo/search_name.tmpl new file mode 100644 index 0000000..951f168 --- /dev/null +++ b/data/gitea/templates/repo/search_name.tmpl @@ -0,0 +1 @@ +{{.Name}}{{if DefaultShowFullName}} {{.FullName}}{{end}} diff --git a/data/gitea/templates/repo/settings/actions.tmpl b/data/gitea/templates/repo/settings/actions.tmpl new file mode 100644 index 0000000..f38ab5b --- /dev/null +++ b/data/gitea/templates/repo/settings/actions.tmpl @@ -0,0 +1,11 @@ +{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings actions")}} +
    + {{if eq .PageType "runners"}} + {{template "shared/actions/runner_list" .}} + {{else if eq .PageType "secrets"}} + {{template "shared/secrets/add_list" .}} + {{else if eq .PageType "variables"}} + {{template "shared/variables/variable_list" .}} + {{end}} +
    +{{template "repo/settings/layout_footer" .}} diff --git a/data/gitea/templates/repo/settings/branches.tmpl b/data/gitea/templates/repo/settings/branches.tmpl new file mode 100644 index 0000000..6f070ba --- /dev/null +++ b/data/gitea/templates/repo/settings/branches.tmpl @@ -0,0 +1,76 @@ +{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings edit")}} +
    + {{if .Repository.IsArchived}} +
    + {{ctx.Locale.Tr "repo.settings.archive.branchsettings_unavailable"}} +
    + {{else}} +

    + {{ctx.Locale.Tr "repo.default_branch"}} +

    +
    +

    + {{ctx.Locale.Tr "repo.settings.default_branch_desc"}} +

    +
    + {{.CsrfTokenHtml}} + + + +
    +
    + +

    + {{ctx.Locale.Tr "repo.settings.protected_branch"}} + +

    + +
    +
    + {{range .ProtectedBranches}} +
    +
    +
    +
    {{.RuleName}}
    +
    +
    +
    + {{ctx.Locale.Tr "repo.settings.edit_protected_branch"}} + +
    +
    + {{else}} +
    + {{ctx.Locale.Tr "repo.settings.no_protected_branch"}} +
    + {{end}} +
    +
    + {{end}} +
    + + + +{{template "repo/settings/layout_footer" .}} diff --git a/data/gitea/templates/repo/settings/collaboration.tmpl b/data/gitea/templates/repo/settings/collaboration.tmpl new file mode 100644 index 0000000..8028642 --- /dev/null +++ b/data/gitea/templates/repo/settings/collaboration.tmpl @@ -0,0 +1,117 @@ +{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings collaboration")}} +
    +

    + {{ctx.Locale.Tr "repo.settings.collaboration"}} +

    + {{if .Collaborators}} +
    +
    + {{range .Collaborators}} +
    + +
    +
    + {{template "shared/user/name" .}} +
    +
    +
    +
    + {{svg "octicon-shield-lock"}} + +
    + +
    +
    + {{end}} +
    +
    + {{end}} +
    +
    + {{.CsrfTokenHtml}} + + +
    +
    + + {{if .RepoOwnerIsOrganization}} +

    + {{ctx.Locale.Tr "repo.settings.teams"}} +

    + {{$allowedToChangeTeams := (or (.Org.RepoAdminChangeTeamAccess) (.Permission.IsOwner))}} + {{if .Teams}} +
    +
    + {{range $t, $team := .Teams}} +
    +
    + + {{.Name}} + +
    + {{svg "octicon-shield-lock"}} + {{if eq .AccessMode 1}}{{ctx.Locale.Tr "repo.settings.collaboration.read"}}{{else if eq .AccessMode 2}}{{ctx.Locale.Tr "repo.settings.collaboration.write"}}{{else if eq .AccessMode 3}}{{ctx.Locale.Tr "repo.settings.collaboration.admin"}}{{else if eq .AccessMode 4}}{{ctx.Locale.Tr "repo.settings.collaboration.owner"}}{{else}}{{ctx.Locale.Tr "repo.settings.collaboration.undefined"}}{{end}} +
    + {{if or (eq .AccessMode 1) (eq .AccessMode 2)}} + {{$first := true}} +
    + Sections: {{range $u, $unit := $.Units}}{{if and ($.Repo.UnitEnabled $.Context $unit.Type) ($team.UnitEnabled $.Context $unit.Type)}}{{if $first}}{{$first = false}}{{else}}, {{end}}{{ctx.Locale.Tr $unit.NameKey}}{{end}}{{end}} {{if $first}}None{{end}} +
    + {{end}} +
    + {{if $allowedToChangeTeams}} +
    + +
    + {{end}} +
    + {{end}} +
    +
    + {{end}} +
    + {{if $allowedToChangeTeams}} +
    + {{.CsrfTokenHtml}} + + +
    + {{else}} +
    + {{ctx.Locale.Tr "repo.settings.change_team_access_not_allowed"}} +
    + {{end}} +
    + {{end}} +
    + + + +{{template "repo/settings/layout_footer" .}} diff --git a/data/gitea/templates/repo/settings/deploy_keys.tmpl b/data/gitea/templates/repo/settings/deploy_keys.tmpl new file mode 100644 index 0000000..190ca1a --- /dev/null +++ b/data/gitea/templates/repo/settings/deploy_keys.tmpl @@ -0,0 +1,86 @@ +{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings")}} +
    +

    + {{ctx.Locale.Tr "repo.settings.deploy_keys"}} +
    + {{if not .DisableSSH}} + + {{else}} + + {{end}} +
    +

    +
    +
    +
    + {{.CsrfTokenHtml}} +
    + {{ctx.Locale.Tr "repo.settings.deploy_key_desc"}} +
    +
    + + +
    +
    + + +
    +
    +
    + + + {{ctx.Locale.Tr "repo.settings.is_writable_info"}} +
    +
    + + +
    +
    + {{if .Deploykeys}} +
    + {{range .Deploykeys}} +
    +
    + {{svg "octicon-key" 32}} +
    +
    +
    {{.Name}}
    +
    + {{.Fingerprint}} +
    +
    + {{ctx.Locale.Tr "settings.added_on" (DateTime "short" .CreatedUnix)}} — {{svg "octicon-info"}} {{if .HasUsed}}{{ctx.Locale.Tr "settings.last_used"}} {{DateTime "short" .UpdatedUnix}}{{else}}{{ctx.Locale.Tr "settings.no_activity"}}{{end}} - {{ctx.Locale.Tr "settings.can_read_info"}}{{if not .IsReadOnly}} / {{ctx.Locale.Tr "settings.can_write_info"}} {{end}} +
    +
    +
    + +
    +
    + {{end}} +
    + {{else}} + {{ctx.Locale.Tr "repo.settings.no_deploy_keys"}} + {{end}} +
    +
    + + + +{{template "repo/settings/layout_footer" .}} diff --git a/data/gitea/templates/repo/settings/githook_edit.tmpl b/data/gitea/templates/repo/settings/githook_edit.tmpl new file mode 100644 index 0000000..e20f51b --- /dev/null +++ b/data/gitea/templates/repo/settings/githook_edit.tmpl @@ -0,0 +1,27 @@ +{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings edit githook")}} +
    +

    + {{ctx.Locale.Tr "repo.settings.githooks"}} +

    +
    +

    {{ctx.Locale.Tr "repo.settings.githook_edit_desc"}}

    +
    + {{.CsrfTokenHtml}} + {{with .Hook}} +
    + + {{.Name}} +
    +
    + + +
    +
    +
    + +
    + {{end}} +
    +
    +
    +{{template "repo/settings/layout_footer" .}} diff --git a/data/gitea/templates/repo/settings/githooks.tmpl b/data/gitea/templates/repo/settings/githooks.tmpl new file mode 100644 index 0000000..1a603f9 --- /dev/null +++ b/data/gitea/templates/repo/settings/githooks.tmpl @@ -0,0 +1,23 @@ +{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings githooks")}} +
    +

    + {{ctx.Locale.Tr "repo.settings.githooks"}} +

    +
    +
    +
    + {{ctx.Locale.Tr "repo.settings.githooks_desc"}} +
    + {{range .Hooks}} +
    + {{svg "octicon-dot-fill" 22}} + {{.Name}} + + {{svg "octicon-pencil"}} + +
    + {{end}} +
    +
    +
    +{{template "repo/settings/layout_footer" .}} diff --git a/data/gitea/templates/repo/settings/layout_footer.tmpl b/data/gitea/templates/repo/settings/layout_footer.tmpl new file mode 100644 index 0000000..60cad3f --- /dev/null +++ b/data/gitea/templates/repo/settings/layout_footer.tmpl @@ -0,0 +1,11 @@ +{{if false}}{{/* to make html structure "likely" complete to prevent IDE warnings */}} +
    +
    +
    + {{/* block: repo-setting-content */}} +{{end}} + +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/settings/layout_head.tmpl b/data/gitea/templates/repo/settings/layout_head.tmpl new file mode 100644 index 0000000..efec9bf --- /dev/null +++ b/data/gitea/templates/repo/settings/layout_head.tmpl @@ -0,0 +1,14 @@ +{{template "base/head" .ctxData}} +
    + {{template "repo/header" .ctxData}} +
    + {{template "repo/settings/navbar" .ctxData}} +
    + {{template "base/alert" .ctxData}} + {{/* block: repo-setting-content */}} + +{{if false}}{{/* to make html structure "likely" complete to prevent IDE warnings */}} +
    +
    +
    +{{end}} diff --git a/data/gitea/templates/repo/settings/lfs.tmpl b/data/gitea/templates/repo/settings/lfs.tmpl new file mode 100644 index 0000000..bc92b48 --- /dev/null +++ b/data/gitea/templates/repo/settings/lfs.tmpl @@ -0,0 +1,53 @@ +{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings lfs")}} +
    +

    + {{ctx.Locale.Tr "repo.settings.lfs_filelist"}} ({{ctx.Locale.Tr "admin.total" .Total}}) + +

    + + + {{range .LFSFiles}} + + + + + + + {{else}} + + + + {{end}} + +
    + + {{ShortSha .Oid}} + + {{FileSize .Size}}{{TimeSince .CreatedUnix.AsTime ctx.Locale}} + {{ctx.Locale.Tr "repo.settings.lfs_findcommits"}} + +
    {{ctx.Locale.Tr "repo.settings.lfs_no_lfs_files"}}
    + {{template "base/paginate" .}} + {{range .LFSFiles}} + + {{end}} +
    +{{template "repo/settings/layout_footer" .}} diff --git a/data/gitea/templates/repo/settings/lfs_file.tmpl b/data/gitea/templates/repo/settings/lfs_file.tmpl new file mode 100644 index 0000000..a015cc8 --- /dev/null +++ b/data/gitea/templates/repo/settings/lfs_file.tmpl @@ -0,0 +1,55 @@ +{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings lfs")}} +
    +
    +

    + {{ctx.Locale.Tr "repo.settings.lfs"}} / {{.LFSFile.Oid}} + +

    +
    + {{template "repo/unicode_escape_prompt" dict "EscapeStatus" .EscapeStatus "root" $}} +
    + {{if .IsFileTooLarge}} + {{template "shared/filetoolarge" dict "RawFileLink" .RawFileLink}} + {{else if .IsMarkup}} + {{if .FileContent}}{{.FileContent | SafeHTML}}{{end}} + {{else if .IsPlainText}} +
    {{if .FileContent}}{{.FileContent | SafeHTML}}{{end}}
    + {{else if not .IsTextFile}} +
    + {{if .IsImageFile}} + + {{else if .IsVideoFile}} + + {{else if .IsAudioFile}} + + {{else if .IsPDFFile}} +
    + {{else}} + {{ctx.Locale.Tr "repo.file_view_raw"}} + {{end}} +
    + {{else if .FileSize}} + + + + + + + +
    {{.LineNums}}
      {{.FileContent}}
    + {{end}} +
    +
    +
    +
    +{{template "repo/settings/layout_footer" .}} diff --git a/data/gitea/templates/repo/settings/lfs_file_find.tmpl b/data/gitea/templates/repo/settings/lfs_file_find.tmpl new file mode 100644 index 0000000..809a028 --- /dev/null +++ b/data/gitea/templates/repo/settings/lfs_file_find.tmpl @@ -0,0 +1,46 @@ +{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings lfs")}} +
    +
    +

    + {{ctx.Locale.Tr "repo.settings.lfs"}} / {{.Oid}} +

    + + + {{range .Results}} + + + + + + + + {{else}} + + + + {{end}} + +
    + {{svg "octicon-file"}} + {{.Name}} + + + + {{.Summary | RenderEmoji $.Context}} + + + + {{svg "octicon-git-branch"}}{{.BranchName}} + + {{if .ParentHashes}} + {{ctx.Locale.Tr "repo.diff.parent"}} + {{range .ParentHashes}} + {{ShortSha .String}} + {{end}} + {{end}} + {{ctx.Locale.Tr "repo.diff.commit"}} + {{ShortSha .SHA}} + {{TimeSince .When ctx.Locale}}
    {{ctx.Locale.Tr "repo.settings.lfs_lfs_file_no_commits"}}
    +
    +
    +{{template "repo/settings/layout_footer" .}} diff --git a/data/gitea/templates/repo/settings/lfs_locks.tmpl b/data/gitea/templates/repo/settings/lfs_locks.tmpl new file mode 100644 index 0000000..9a18f52 --- /dev/null +++ b/data/gitea/templates/repo/settings/lfs_locks.tmpl @@ -0,0 +1,56 @@ +{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings lfs")}} +
    +
    +

    + {{ctx.Locale.Tr "repo.settings.lfs"}} / {{ctx.Locale.Tr "repo.settings.lfs_locks"}} ({{ctx.Locale.Tr "admin.total" .Total}}) +

    +
    +
    + {{$.CsrfTokenHtml}} +
    + + +
    +
    +
    + + + {{range $index, $lock := .LFSLocks}} + + + + + + + {{else}} + + + + {{end}} + +
    + {{if index $.Linkable $index}} + {{svg "octicon-file"}} + {{$lock.Path}} + {{else}} + {{svg "octicon-diff"}} + {{$lock.Path}} + {{end}} + {{if not (index $.Lockables $index)}} + {{svg "octicon-alert"}} + {{end}} + + + {{ctx.AvatarUtils.Avatar $lock.Owner}} + {{$lock.Owner.DisplayName}} + + {{TimeSince .Created ctx.Locale}} +
    + {{$.CsrfTokenHtml}} + +
    +
    {{ctx.Locale.Tr "repo.settings.lfs_locks_no_locks"}}
    + {{template "base/paginate" .}} +
    +
    +{{template "repo/settings/layout_footer" .}} diff --git a/data/gitea/templates/repo/settings/lfs_pointers.tmpl b/data/gitea/templates/repo/settings/lfs_pointers.tmpl new file mode 100644 index 0000000..758aec6 --- /dev/null +++ b/data/gitea/templates/repo/settings/lfs_pointers.tmpl @@ -0,0 +1,56 @@ +{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings lfs")}} +
    +

    + {{ctx.Locale.Tr "repo.settings.lfs_pointers.found" .NumPointers .NumAssociated .NumNotAssociated .NumNoExist}} + {{if gt .NumAssociatable 0}} +
    +
    + {{.CsrfTokenHtml}} + {{range .Pointers}} + {{if .Associatable}} + + {{end}} + {{end}} + +
    +
    + {{end}} +

    +
    + + + + + + + + + + + + + {{range .Pointers}} + + + + + + + + + {{end}} + +
    {{ctx.Locale.Tr "repo.settings.lfs_pointers.sha"}}{{ctx.Locale.Tr "repo.settings.lfs_pointers.oid"}}{{ctx.Locale.Tr "repo.settings.lfs_pointers.inRepo"}}{{ctx.Locale.Tr "repo.settings.lfs_pointers.exists"}}{{ctx.Locale.Tr "repo.settings.lfs_pointers.accessible"}}
    + + {{ShortSha .SHA}} + + + + {{ShortSha .Oid}} + + {{if .InRepo}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}{{if .Exists}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}{{if .Accessible}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}} + {{ctx.Locale.Tr "repo.settings.lfs_findcommits"}} +
    +
    +
    +{{template "repo/settings/layout_footer" .}} diff --git a/data/gitea/templates/repo/settings/navbar.tmpl b/data/gitea/templates/repo/settings/navbar.tmpl new file mode 100644 index 0000000..debfad2 --- /dev/null +++ b/data/gitea/templates/repo/settings/navbar.tmpl @@ -0,0 +1,53 @@ +
    + +
    diff --git a/data/gitea/templates/repo/settings/options.tmpl b/data/gitea/templates/repo/settings/options.tmpl new file mode 100644 index 0000000..a21f0b8 --- /dev/null +++ b/data/gitea/templates/repo/settings/options.tmpl @@ -0,0 +1,1077 @@ +{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings options")}} +
    +

    + {{ctx.Locale.Tr "repo.settings.basic_settings"}} +

    +
    +
    + {{template "base/disable_form_autofill"}} + {{.CsrfTokenHtml}} + +
    + + +
    +
    + + {{FileSize .Repository.Size}} +
    +
    + +
    + + +
    +
    + {{if not .Repository.IsFork}} +
    + +
    + {{if .IsAdmin}} + + {{else}} + + {{if and .Repository.IsPrivate $.ForcePrivate}}{{end}} + {{end}} + +
    +
    + {{end}} +
    + + +
    +
    + + +
    +
    + +
    +
    + +
    +
    + {{.CsrfTokenHtml}} +
    + + +
    +
    + + +
    +
    +
    + + {{/* These variables exist to make the logic in the Settings window easier to comprehend and are not used later on. */}} + {{$newMirrorsPartiallyEnabled := or (not .DisableNewPullMirrors) (not .DisableNewPushMirrors)}} + {{/* .Repository.IsMirror is not always reliable if the repository is not actively acting as a mirror because of errors. */}} + {{$showMirrorSettings := and (.Repository.UnitEnabled $.Context ctx.Consts.RepoUnitTypeCode) (or $newMirrorsPartiallyEnabled .Repository.IsMirror .PullMirror .PushMirrors)}} + {{$newMirrorsEntirelyEnabled := and (not .DisableNewPullMirrors) (not .DisableNewPushMirrors)}} + {{$onlyNewPushMirrorsEnabled := and (not .DisableNewPushMirrors) .DisableNewPullMirrors}} + {{$onlyNewPullMirrorsEnabled := and .DisableNewPushMirrors (not .DisableNewPullMirrors)}} + {{$existingPushMirror := or .Repository.IsMirror .PushMirrors}} + {{$modifyBrokenPullMirror := and .Repository.IsMirror (not .PullMirror)}} + {{$isWorkingPullMirror := .PullMirror}} + + {{if $showMirrorSettings}} +

    + {{ctx.Locale.Tr "repo.settings.mirror_settings"}} +

    +
    + {{if .Repository.IsArchived}} +
    + {{ctx.Locale.Tr "repo.settings.archive.mirrors_unavailable"}} +
    + {{else}} + {{if $newMirrorsEntirelyEnabled}} + {{ctx.Locale.Tr "repo.settings.mirror_settings.docs"}} + {{ctx.Locale.Tr "repo.settings.mirror_settings.docs.doc_link_title"}}

    + {{ctx.Locale.Tr "repo.settings.mirror_settings.docs.pull_mirror_instructions"}} + {{ctx.Locale.Tr "repo.settings.mirror_settings.docs.doc_link_pull_section"}}
    + {{else if $onlyNewPushMirrorsEnabled}} + {{ctx.Locale.Tr "repo.settings.mirror_settings.docs.disabled_pull_mirror.instructions"}} + {{ctx.Locale.Tr "repo.settings.mirror_settings.docs.more_information_if_disabled"}} + {{ctx.Locale.Tr "repo.settings.mirror_settings.docs.doc_link_title"}}
    + {{else if $onlyNewPullMirrorsEnabled}} + {{ctx.Locale.Tr "repo.settings.mirror_settings.docs.disabled_push_mirror.instructions"}} + {{ctx.Locale.Tr "repo.settings.mirror_settings.docs.disabled_push_mirror.pull_mirror_warning"}} + {{ctx.Locale.Tr "repo.settings.mirror_settings.docs.more_information_if_disabled"}} + {{ctx.Locale.Tr "repo.settings.mirror_settings.docs.doc_link_title"}}

    + {{ctx.Locale.Tr "repo.settings.mirror_settings.docs.disabled_push_mirror.info"}} + {{if $existingPushMirror}} + {{ctx.Locale.Tr "repo.settings.mirror_settings.docs.can_still_use"}} + {{end}} + {{else}} + {{ctx.Locale.Tr "repo.settings.mirror_settings.docs.no_new_mirrors"}} {{ctx.Locale.Tr "repo.settings.mirror_settings.docs.can_still_use"}}
    + {{end}} + + {{if .Repository.IsMirror}} + + + + + + + + + + {{if $modifyBrokenPullMirror}} + {{/* even if a repo is a pull mirror (IsMirror=true), the PullMirror might still be nil if the mirror migration is broken */}} + + + + + + {{else if $isWorkingPullMirror}} + + + + + + + + + + + + {{end}}{{/* end if: $modifyBrokenPullMirror / $isWorkingPullMirror */}} +
    {{ctx.Locale.Tr "repo.settings.mirror_settings.mirrored_repository"}}{{ctx.Locale.Tr "repo.settings.mirror_settings.direction"}}{{ctx.Locale.Tr "repo.settings.mirror_settings.last_update"}}
    +
    {{ctx.Locale.Tr "repo.settings.mirror_settings.direction.pull"}}: {{ctx.Locale.Tr "error.occurred"}}
    +
    {{.PullMirror.RemoteAddress}}{{ctx.Locale.Tr "repo.settings.mirror_settings.direction.pull"}}{{DateTime "full" .PullMirror.UpdatedUnix}} +
    + {{.CsrfTokenHtml}} + + +
    +
    +
    + {{template "base/disable_form_autofill"}} + {{.CsrfTokenHtml}} + +
    + +
    + + +
    +
    +
    + + +
    + {{$address := MirrorRemoteAddress $.Context .Repository .PullMirror.GetRemoteName}} +
    + + +

    {{ctx.Locale.Tr "repo.mirror_address_desc"}}

    +
    +
    + + {{ctx.Locale.Tr "repo.need_auth"}} + +
    +
    + + +
    +
    + + +
    +

    {{ctx.Locale.Tr "repo.mirror_password_help"}}

    +
    +
    + + {{if .LFSStartServer}} +
    + +
    + + +
    +
    +
    + + +

    {{ctx.Locale.Tr "repo.mirror_lfs_endpoint_desc" "https://github.com/git-lfs/git-lfs/blob/main/docs/api/server-discovery.md#server-discovery"}}

    +
    + {{end}} +
    + +
    +
    +
    + {{end}}{{/* end if .Repository.IsMirror */}} + + + + + + + + + + + + {{range .PushMirrors}} + + + + + + + {{else}} + + + + {{end}} + {{if (not .DisableNewPushMirrors)}} + + + + {{end}} + +
    {{ctx.Locale.Tr "repo.settings.mirror_settings.pushed_repository"}}{{ctx.Locale.Tr "repo.settings.mirror_settings.direction"}}{{ctx.Locale.Tr "repo.settings.mirror_settings.last_update"}}
    {{.RemoteAddress}}{{ctx.Locale.Tr "repo.settings.mirror_settings.direction.push"}}{{if .LastUpdateUnix}}{{DateTime "full" .LastUpdateUnix}}{{else}}{{ctx.Locale.Tr "never"}}{{end}} {{if .LastError}}
    {{ctx.Locale.Tr "error"}}
    {{end}}
    + +
    + {{$.CsrfTokenHtml}} + + + +
    +
    + {{$.CsrfTokenHtml}} + + + +
    +
    {{ctx.Locale.Tr "repo.settings.mirror_settings.push_mirror.none"}}
    +
    + {{template "base/disable_form_autofill"}} + {{.CsrfTokenHtml}} + +
    + + +

    {{ctx.Locale.Tr "repo.mirror_address_desc"}}

    +
    +
    + + {{ctx.Locale.Tr "repo.need_auth"}} + +
    +
    + + +
    +
    + + +
    +
    +
    +
    +
    + + +
    +
    +
    + + +
    +
    + +
    +
    +
    + {{end}} +
    + {{end}} + +

    + {{ctx.Locale.Tr "repo.settings.advanced_settings"}} +

    +
    +
    + {{.CsrfTokenHtml}} + + + {{$isCodeEnabled := .Repository.UnitEnabled $.Context ctx.Consts.RepoUnitTypeCode}} + {{$isCodeGlobalDisabled := ctx.Consts.RepoUnitTypeCode.UnitGlobalDisabled}} +
    + +
    + + +
    +
    + + {{$isInternalWikiEnabled := .Repository.UnitEnabled ctx ctx.Consts.RepoUnitTypeWiki}} + {{$isExternalWikiEnabled := .Repository.UnitEnabled ctx ctx.Consts.RepoUnitTypeExternalWiki}} + {{$isWikiEnabled := or $isInternalWikiEnabled $isExternalWikiEnabled}} + {{$isWikiGlobalDisabled := ctx.Consts.RepoUnitTypeWiki.UnitGlobalDisabled}} + {{$isExternalWikiGlobalDisabled := ctx.Consts.RepoUnitTypeExternalWiki.UnitGlobalDisabled}} + {{$isBothWikiGlobalDisabled := and $isWikiGlobalDisabled $isExternalWikiGlobalDisabled}} +
    + +
    + + +
    +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    + {{$unitInternalWiki := .Repository.MustGetUnit ctx ctx.Consts.RepoUnitTypeWiki}} + + +
    +
    +
    +
    + + +
    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.external_wiki_url_desc"}}

    +
    +
    + +
    + + {{$isIssuesEnabled := or (.Repository.UnitEnabled $.Context ctx.Consts.RepoUnitTypeIssues) (.Repository.UnitEnabled $.Context ctx.Consts.RepoUnitTypeExternalTracker)}} + {{$isIssuesGlobalDisabled := ctx.Consts.RepoUnitTypeIssues.UnitGlobalDisabled}} + {{$isExternalTrackerGlobalDisabled := ctx.Consts.RepoUnitTypeExternalTracker.UnitGlobalDisabled}} + {{$isIssuesAndExternalGlobalDisabled := and $isIssuesGlobalDisabled $isExternalTrackerGlobalDisabled}} +
    + +
    + + +
    +
    +
    +
    +
    + + +
    +
    +
    + {{if .Repository.CanEnableTimetracker}} +
    +
    + + +
    +
    +
    +
    + + +
    +
    + {{end}} +
    +
    + + +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.external_tracker_url_desc"}}

    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.tracker_url_format_desc"}}

    +
    +
    + +
    +
    + {{$externalTracker := (.Repository.MustGetUnit $.Context ctx.Consts.RepoUnitTypeExternalTracker)}} + {{$externalTrackerStyle := $externalTracker.ExternalTrackerConfig.ExternalTrackerStyle}} + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.tracker_issue_style.regexp_pattern_desc"}}

    +
    +
    +
    + +
    + + {{$isProjectsEnabled := .Repository.UnitEnabled $.Context ctx.Consts.RepoUnitTypeProjects}} + {{$isProjectsGlobalDisabled := ctx.Consts.RepoUnitTypeProjects.UnitGlobalDisabled}} + {{$projectsUnit := .Repository.MustGetUnit $.Context ctx.Consts.RepoUnitTypeProjects}} +
    + +
    + + +
    +
    +
    +

    + {{ctx.Locale.Tr "repo.settings.projects_mode_desc"}} +

    + +
    + +
    + + {{$isReleasesEnabled := .Repository.UnitEnabled $.Context ctx.Consts.RepoUnitTypeReleases}} + {{$isReleasesGlobalDisabled := ctx.Consts.RepoUnitTypeReleases.UnitGlobalDisabled}} +
    + +
    + + +
    +
    + + {{$isPackagesEnabled := .Repository.UnitEnabled $.Context ctx.Consts.RepoUnitTypePackages}} + {{$isPackagesGlobalDisabled := ctx.Consts.RepoUnitTypePackages.UnitGlobalDisabled}} +
    + +
    + + +
    +
    + + {{if .EnableActions}} + {{$isActionsEnabled := .Repository.UnitEnabled $.Context ctx.Consts.RepoUnitTypeActions}} + {{$isActionsGlobalDisabled := ctx.Consts.RepoUnitTypeActions.UnitGlobalDisabled}} +
    + +
    + + +
    +
    + {{end}} + + {{if not .IsMirror}} +
    + {{$pullRequestEnabled := .Repository.UnitEnabled $.Context ctx.Consts.RepoUnitTypePullRequests}} + {{$pullRequestGlobalDisabled := ctx.Consts.RepoUnitTypePullRequests.UnitGlobalDisabled}} + {{$prUnit := .Repository.MustGetUnit $.Context ctx.Consts.RepoUnitTypePullRequests}} +
    + +
    + + +
    +
    +
    +
    +

    + {{ctx.Locale.Tr "repo.settings.merge_style_desc"}} +

    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    + +
    +

    + {{ctx.Locale.Tr "repo.settings.default_merge_style_desc"}} +

    + +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    + {{end}} + +
    +
    + +
    +
    +
    + +

    + {{ctx.Locale.Tr "repo.settings.signing_settings"}} +

    +
    +
    + {{.CsrfTokenHtml}} + +
    +
    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.trust_model.default.desc"}}

    +
    +
    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.trust_model.collaborator.desc"}}

    +
    +
    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.trust_model.committer.desc"}}

    +
    +
    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.trust_model.collaboratorcommitter.desc"}}

    +
    +
    +
    + +
    +
    + +
    +
    +
    + + {{if .IsAdmin}} +

    + {{ctx.Locale.Tr "repo.settings.admin_settings"}} +

    +
    +
    + {{.CsrfTokenHtml}} + +
    +
    + + +
    +
    + +
    + +
    +
    + +
    +
    + {{.CsrfTokenHtml}} + + {{if .IsRepoIndexerEnabled}} +

    {{ctx.Locale.Tr "repo.settings.admin_code_indexer"}}

    +
    + + + {{if .CodeIndexerStatus}} + + {{ShortSha .CodeIndexerStatus.CommitSha}} + + {{else}} + {{ctx.Locale.Tr "repo.settings.admin_indexer_unindexed"}} + {{end}} + +
    + +
    +
    + {{end}} +

    {{ctx.Locale.Tr "repo.settings.admin_stats_indexer"}}

    +
    + {{if and .StatsIndexerStatus .StatsIndexerStatus.CommitSha}} + + {{end}} + + {{if and .StatsIndexerStatus .StatsIndexerStatus.CommitSha}} + + {{ShortSha .StatsIndexerStatus.CommitSha}} + + {{else}} + {{ctx.Locale.Tr "repo.settings.admin_indexer_unindexed"}} + {{end}} + +
    + +
    +
    +
    +
    + {{end}} + + {{if .Permission.IsOwner}} +

    + {{ctx.Locale.Tr "repo.settings.danger_zone"}} +

    +
    +
    + {{if .Repository.IsMirror}} +
    +
    +
    {{ctx.Locale.Tr "repo.settings.convert"}}
    +
    {{ctx.Locale.Tr "repo.settings.convert_desc"}}
    +
    +
    + +
    +
    + {{end}} + {{if and .Repository.IsFork .Repository.Owner.CanCreateRepo}} +
    +
    +
    {{ctx.Locale.Tr "repo.settings.convert_fork"}}
    +
    {{ctx.Locale.Tr "repo.settings.convert_fork_desc"}}
    +
    +
    + +
    +
    + {{end}} +
    +
    +
    {{ctx.Locale.Tr "repo.settings.transfer"}}
    +
    + {{if .RepoTransfer}} + {{ctx.Locale.Tr "repo.settings.transfer_started" .RepoTransfer.Recipient.DisplayName}} + {{else}} + {{ctx.Locale.Tr "repo.settings.transfer_desc"}} + {{end}} +
    +
    +
    + {{if .RepoTransfer}} +
    + {{.CsrfTokenHtml}} + + +
    + {{else}} + + {{end}} +
    +
    + {{if .Permission.CanRead ctx.Consts.RepoUnitTypeWiki}} +
    +
    +
    {{ctx.Locale.Tr "repo.settings.wiki_delete"}}
    +
    {{ctx.Locale.Tr "repo.settings.wiki_delete_desc"}}
    +
    +
    + +
    +
    + {{end}} +
    +
    +
    {{ctx.Locale.Tr "repo.settings.delete"}}
    +
    {{ctx.Locale.Tr "repo.settings.delete_desc"}}
    +
    +
    + +
    +
    + {{if not .Repository.IsMirror}} +
    +
    + {{if .Repository.IsArchived}} +
    {{ctx.Locale.Tr "repo.settings.unarchive.header"}}
    +
    {{ctx.Locale.Tr "repo.settings.unarchive.text"}}
    + {{else}} +
    {{ctx.Locale.Tr "repo.settings.archive.header"}}
    +
    {{ctx.Locale.Tr "repo.settings.archive.text"}}
    + {{end}} +
    +
    + +
    +
    + {{end}} +
    +
    + {{end}} +
    +{{template "repo/settings/layout_footer" .}} + +{{if .Permission.IsOwner}} + {{if .Repository.IsMirror}} + + {{end}} + {{if and .Repository.IsFork .Repository.Owner.CanCreateRepo}} + + {{end}} + + + + + {{if .Repository.UnitEnabled $.Context ctx.Consts.RepoUnitTypeWiki}} + + {{end}} + + {{if not .Repository.IsMirror}} + + {{end}} +{{end}} + +{{template "repo/settings/push_mirror_sync_modal" .}} diff --git a/data/gitea/templates/repo/settings/protected_branch.tmpl b/data/gitea/templates/repo/settings/protected_branch.tmpl new file mode 100644 index 0000000..fec4d7c --- /dev/null +++ b/data/gitea/templates/repo/settings/protected_branch.tmpl @@ -0,0 +1,271 @@ +{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings branches")}} +
    +
    +

    + {{ctx.Locale.Tr "repo.settings.branch_protection" .Rule.RuleName}} +

    +
    +
    {{ctx.Locale.Tr "repo.settings.protect_patterns"}}
    +
    + + + +

    {{ctx.Locale.Tr "repo.settings.protect_branch_name_pattern_desc"}}

    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.protect_protected_file_patterns_desc"}}

    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.protect_unprotected_file_patterns_desc"}}

    +
    + + {{.CsrfTokenHtml}} +
    {{ctx.Locale.Tr "repo.settings.event_push"}}
    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.protect_disable_push_desc"}}

    +
    +
    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.protect_enable_push_desc"}}

    +
    +
    +
    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.protect_whitelist_committers_desc"}}

    +
    +
    +
    +
    + + +
    + {{if .Owner.IsOrganization}} +
    + + +
    + {{end}} +
    +
    + + +
    +
    +
    +
    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.require_signed_commits_desc"}}

    +
    +
    +
    {{ctx.Locale.Tr "repo.settings.event_pull_request_approvals"}}
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.protect_required_approvals_desc"}}

    +
    +
    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.protect_approvals_whitelist_enabled_desc"}}

    +
    +
    +
    +
    + + +
    + {{if .Owner.IsOrganization}} +
    + + +
    + {{end}} +
    +
    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.dismiss_stale_approvals_desc"}}

    +
    +
    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.ignore_stale_approvals_desc"}}

    +
    +
    +
    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.protect_check_status_contexts_desc"}}

    +
    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.protect_status_check_patterns_desc"}}

    + + + + + + + + {{range $.recent_status_checks}} + + + + {{else}} + + {{end}} + +
    {{ctx.Locale.Tr "repo.settings.protect_check_status_contexts_list"}}
    + {{.}} + {{ctx.Locale.Tr "repo.settings.protect_status_check_matched"}} +
    -
    +
    +
    +
    {{ctx.Locale.Tr "repo.settings.event_pull_request_merge"}}
    +
    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.protect_enable_merge_desc"}}

    +
    +
    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.protect_merge_whitelist_committers_desc"}}

    +
    +
    +
    +
    + + +
    + {{if .Owner.IsOrganization}} +
    + + +
    + {{end}} +
    +
    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.block_rejected_reviews_desc"}}

    +
    +
    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.block_on_official_review_requests_desc"}}

    +
    +
    +
    +
    + + +

    {{ctx.Locale.Tr "repo.settings.block_outdated_branch_desc"}}

    +
    +
    +
    + +
    + +
    +
    +
    +
    +{{template "repo/settings/layout_footer" .}} diff --git a/data/gitea/templates/repo/settings/push_mirror_sync_modal.tmpl b/data/gitea/templates/repo/settings/push_mirror_sync_modal.tmpl new file mode 100644 index 0000000..e8dad61 --- /dev/null +++ b/data/gitea/templates/repo/settings/push_mirror_sync_modal.tmpl @@ -0,0 +1,32 @@ + diff --git a/data/gitea/templates/repo/settings/runner_edit.tmpl b/data/gitea/templates/repo/settings/runner_edit.tmpl new file mode 100644 index 0000000..8b76aea --- /dev/null +++ b/data/gitea/templates/repo/settings/runner_edit.tmpl @@ -0,0 +1,5 @@ +{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings runners")}} +
    + {{template "shared/actions/runner_edit" .}} +
    +{{template "repo/settings/layout_footer" .}} diff --git a/data/gitea/templates/repo/settings/secrets.tmpl b/data/gitea/templates/repo/settings/secrets.tmpl new file mode 100644 index 0000000..0b89639 --- /dev/null +++ b/data/gitea/templates/repo/settings/secrets.tmpl @@ -0,0 +1,5 @@ +{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings")}} +
    + {{template "shared/secrets/add_list" .}} +
    +{{template "repo/settings/layout_footer" .}} diff --git a/data/gitea/templates/repo/settings/tags.tmpl b/data/gitea/templates/repo/settings/tags.tmpl new file mode 100644 index 0000000..c9efb7b --- /dev/null +++ b/data/gitea/templates/repo/settings/tags.tmpl @@ -0,0 +1,126 @@ +{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings edit")}} +
    + {{if .Repository.IsArchived}} +
    + {{ctx.Locale.Tr "repo.settings.archive.tagsettings_unavailable"}} +
    + {{else}} +

    + {{ctx.Locale.Tr "repo.settings.tags.protection"}} +

    + +
    +
    +
    +
    +
    + {{.CsrfTokenHtml}} +
    + + +
    +
    + + +
    + {{if .Owner.IsOrganization}} +
    + + +
    + {{end}} +
    + {{if .PageIsEditProtectedTag}} + + + {{ctx.Locale.Tr "cancel"}} + + {{else}} + + {{end}} +
    +
    +
    +
    + +
    + + + + + + + + {{range .ProtectedTags}} + + + + + + {{else}} + + {{end}} + +
    {{ctx.Locale.Tr "repo.settings.tags.protection.pattern"}}{{ctx.Locale.Tr "repo.settings.tags.protection.allowed"}}
    {{.NamePattern}}
    + {{if or .AllowlistUserIDs (and $.Owner.IsOrganization .AllowlistTeamIDs)}} + {{$userIDs := .AllowlistUserIDs}} + {{range $.Users}} + {{if SliceUtils.Contains $userIDs .ID}} + {{ctx.AvatarUtils.Avatar . 26}} {{.GetDisplayName}} + {{end}} + {{end}} + {{if $.Owner.IsOrganization}} + {{$teamIDs := .AllowlistTeamIDs}} + {{range $.Teams}} + {{if SliceUtils.Contains $teamIDs .ID}} + {{.Name}} + {{end}} + {{end}} + {{end}} + {{else}} + {{ctx.Locale.Tr "repo.settings.tags.protection.allowed.noone"}} + {{end}} + + {{ctx.Locale.Tr "edit"}} +
    + {{$.CsrfTokenHtml}} + + +
    +
    {{ctx.Locale.Tr "repo.settings.tags.protection.none"}}
    +
    +
    +
    + {{end}} +
    +{{template "repo/settings/layout_footer" .}} diff --git a/data/gitea/templates/repo/settings/webhook/base.tmpl b/data/gitea/templates/repo/settings/webhook/base.tmpl new file mode 100644 index 0000000..d524722 --- /dev/null +++ b/data/gitea/templates/repo/settings/webhook/base.tmpl @@ -0,0 +1,5 @@ +{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings webhooks")}} +
    + {{template "repo/settings/webhook/list" .}} +
    +{{template "repo/settings/layout_footer" .}} diff --git a/data/gitea/templates/repo/settings/webhook/base_list.tmpl b/data/gitea/templates/repo/settings/webhook/base_list.tmpl new file mode 100644 index 0000000..36e75a7 --- /dev/null +++ b/data/gitea/templates/repo/settings/webhook/base_list.tmpl @@ -0,0 +1,26 @@ +

    + {{.Title}} +
    + +
    +

    +
    +
    +
    + {{.Description}} +
    + {{range .Webhooks}} +
    + {{svg "octicon-dot-fill" 22}} +
    + {{.URL}} +
    + {{svg "octicon-pencil"}} + {{svg "octicon-trash"}} +
    + {{end}} +
    +
    diff --git a/data/gitea/templates/repo/settings/webhook/delete_modal.tmpl b/data/gitea/templates/repo/settings/webhook/delete_modal.tmpl new file mode 100644 index 0000000..9955ed3 --- /dev/null +++ b/data/gitea/templates/repo/settings/webhook/delete_modal.tmpl @@ -0,0 +1,10 @@ + diff --git a/data/gitea/templates/repo/settings/webhook/dingtalk.tmpl b/data/gitea/templates/repo/settings/webhook/dingtalk.tmpl new file mode 100644 index 0000000..0ba99e9 --- /dev/null +++ b/data/gitea/templates/repo/settings/webhook/dingtalk.tmpl @@ -0,0 +1,11 @@ +{{if eq .HookType "dingtalk"}} +

    {{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://dingtalk.com" (ctx.Locale.Tr "repo.settings.web_hook_name_dingtalk")}}

    +
    + {{.CsrfTokenHtml}} +
    + + +
    + {{template "repo/settings/webhook/settings" .}} +
    +{{end}} diff --git a/data/gitea/templates/repo/settings/webhook/discord.tmpl b/data/gitea/templates/repo/settings/webhook/discord.tmpl new file mode 100644 index 0000000..104346e --- /dev/null +++ b/data/gitea/templates/repo/settings/webhook/discord.tmpl @@ -0,0 +1,19 @@ +{{if eq .HookType "discord"}} +

    {{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://discord.com" (ctx.Locale.Tr "repo.settings.web_hook_name_discord")}}

    +
    + {{.CsrfTokenHtml}} +
    + + +
    +
    + + +
    +
    + + +
    + {{template "repo/settings/webhook/settings" .}} +
    +{{end}} diff --git a/data/gitea/templates/repo/settings/webhook/feishu.tmpl b/data/gitea/templates/repo/settings/webhook/feishu.tmpl new file mode 100644 index 0000000..d80deab --- /dev/null +++ b/data/gitea/templates/repo/settings/webhook/feishu.tmpl @@ -0,0 +1,12 @@ +{{if eq .HookType "feishu"}} +

    {{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://feishu.cn" (ctx.Locale.Tr "repo.settings.web_hook_name_feishu")}}

    +

    {{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://larksuite.com" (ctx.Locale.Tr "repo.settings.web_hook_name_larksuite")}}

    +
    + {{.CsrfTokenHtml}} +
    + + +
    + {{template "repo/settings/webhook/settings" .}} +
    +{{end}} diff --git a/data/gitea/templates/repo/settings/webhook/gitea.tmpl b/data/gitea/templates/repo/settings/webhook/gitea.tmpl new file mode 100644 index 0000000..e6eb61e --- /dev/null +++ b/data/gitea/templates/repo/settings/webhook/gitea.tmpl @@ -0,0 +1,40 @@ +{{if eq .HookType "gitea"}} +

    {{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://docs.gitea.com/usage/webhooks" (ctx.Locale.Tr "repo.settings.web_hook_name_gitea")}}

    +
    + {{template "base/disable_form_autofill"}} + {{.CsrfTokenHtml}} +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    + {{template "repo/settings/webhook/settings" .}} +
    +{{end}} diff --git a/data/gitea/templates/repo/settings/webhook/gogs.tmpl b/data/gitea/templates/repo/settings/webhook/gogs.tmpl new file mode 100644 index 0000000..e91a327 --- /dev/null +++ b/data/gitea/templates/repo/settings/webhook/gogs.tmpl @@ -0,0 +1,28 @@ +{{if eq .HookType "gogs"}} +

    {{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://docs.gitea.com/usage/webhooks" (ctx.Locale.Tr "repo.settings.web_hook_name_gogs")}}

    +
    + {{template "base/disable_form_autofill"}} + {{.CsrfTokenHtml}} +
    + + +
    +
    + + +
    +
    + + +
    + {{template "repo/settings/webhook/settings" .}} +
    +{{end}} diff --git a/data/gitea/templates/repo/settings/webhook/history.tmpl b/data/gitea/templates/repo/settings/webhook/history.tmpl new file mode 100644 index 0000000..0e03b8e --- /dev/null +++ b/data/gitea/templates/repo/settings/webhook/history.tmpl @@ -0,0 +1,92 @@ +{{$isNew:=or .PageIsSettingsHooksNew .PageIsAdminDefaultHooksNew .PageIsAdminSystemHooksNew}} +{{if .PageIsSettingsHooksEdit}} +

    + {{ctx.Locale.Tr "repo.settings.recent_deliveries"}} + {{if .Permission.IsAdmin}} +
    + + + + +
    + {{end}} +

    +
    +
    + {{range .History}} +
    +
    +
    + {{if .IsSucceed}} + {{svg "octicon-check"}} + {{else if not .IsDelivered}} + {{svg "octicon-stopwatch"}} + {{else}} + {{svg "octicon-alert"}} + {{end}} + {{.UUID}} +
    + + {{TimeSince .Delivered.AsTime ctx.Locale}} + +
    +
    + +
    + {{if .RequestInfo}} +
    {{ctx.Locale.Tr "repo.settings.webhook.headers"}}
    +
    Request URL: {{.RequestInfo.URL}}
    +Request method: {{if .RequestInfo.HTTPMethod}}{{.RequestInfo.HTTPMethod}}{{else}}POST{{end}}
    +{{range $key, $val := .RequestInfo.Headers}}{{$key}}: {{$val}}
    +{{end}}
    +
    {{ctx.Locale.Tr "repo.settings.webhook.payload"}}
    +
    {{or .RequestInfo.Body .PayloadContent}}
    + {{else}} + - + {{end}} +
    +
    + {{if .ResponseInfo}} +
    {{ctx.Locale.Tr "repo.settings.webhook.headers"}}
    +
    {{range $key, $val := .ResponseInfo.Headers}}{{$key}}: {{$val}}
    +{{end}}
    +
    {{ctx.Locale.Tr "repo.settings.webhook.body"}}
    +
    {{.ResponseInfo.Body}}
    + {{else}} + - + {{end}} +
    +
    +
    + {{end}} +
    +
    +{{end}} diff --git a/data/gitea/templates/repo/settings/webhook/link_menu.tmpl b/data/gitea/templates/repo/settings/webhook/link_menu.tmpl new file mode 100644 index 0000000..e2c86dc --- /dev/null +++ b/data/gitea/templates/repo/settings/webhook/link_menu.tmpl @@ -0,0 +1,50 @@ +{{$size := 20}} +{{if .Size}} + {{$size = .Size}} +{{end}} + diff --git a/data/gitea/templates/repo/settings/webhook/list.tmpl b/data/gitea/templates/repo/settings/webhook/list.tmpl new file mode 100644 index 0000000..b24159f --- /dev/null +++ b/data/gitea/templates/repo/settings/webhook/list.tmpl @@ -0,0 +1,4 @@ + +{{template "repo/settings/webhook/base_list" .}} + +{{template "repo/settings/webhook/delete_modal" .}} diff --git a/data/gitea/templates/repo/settings/webhook/matrix.tmpl b/data/gitea/templates/repo/settings/webhook/matrix.tmpl new file mode 100644 index 0000000..7f1c9f0 --- /dev/null +++ b/data/gitea/templates/repo/settings/webhook/matrix.tmpl @@ -0,0 +1,27 @@ +{{if eq .HookType "matrix"}} +

    {{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://matrix.org/" (ctx.Locale.Tr "repo.settings.web_hook_name_matrix")}}

    +
    + {{.CsrfTokenHtml}} +
    + + +
    +
    + + +
    +
    + + +
    + {{template "repo/settings/webhook/settings" .}} +
    +{{end}} diff --git a/data/gitea/templates/repo/settings/webhook/msteams.tmpl b/data/gitea/templates/repo/settings/webhook/msteams.tmpl new file mode 100644 index 0000000..62ea24e --- /dev/null +++ b/data/gitea/templates/repo/settings/webhook/msteams.tmpl @@ -0,0 +1,11 @@ +{{if eq .HookType "msteams"}} +

    {{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://teams.microsoft.com" (ctx.Locale.Tr "repo.settings.web_hook_name_msteams")}}

    +
    + {{.CsrfTokenHtml}} +
    + + +
    + {{template "repo/settings/webhook/settings" .}} +
    +{{end}} diff --git a/data/gitea/templates/repo/settings/webhook/new.tmpl b/data/gitea/templates/repo/settings/webhook/new.tmpl new file mode 100644 index 0000000..b04a442 --- /dev/null +++ b/data/gitea/templates/repo/settings/webhook/new.tmpl @@ -0,0 +1,7 @@ +{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings new webhook")}} +
    + {{$CustomHeaderTitle := ctx.Locale.Tr "repo.settings.update_webhook"}} + {{if .PageIsSettingsHooksNew}}{{$CustomHeaderTitle = ctx.Locale.Tr "repo.settings.add_webhook"}}{{end}} + {{template "webhook/new" (dict "ctxData" . "CustomHeaderTitle" $CustomHeaderTitle)}} +
    +{{template "repo/settings/layout_footer" .}} diff --git a/data/gitea/templates/repo/settings/webhook/packagist.tmpl b/data/gitea/templates/repo/settings/webhook/packagist.tmpl new file mode 100644 index 0000000..25aba2a --- /dev/null +++ b/data/gitea/templates/repo/settings/webhook/packagist.tmpl @@ -0,0 +1,19 @@ +{{if eq .HookType "packagist"}} +

    {{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://packagist.org" (ctx.Locale.Tr "repo.settings.web_hook_name_packagist")}}

    +
    + {{.CsrfTokenHtml}} +
    + + +
    +
    + + +
    +
    + + +
    + {{template "repo/settings/webhook/settings" .}} +
    +{{end}} diff --git a/data/gitea/templates/repo/settings/webhook/settings.tmpl b/data/gitea/templates/repo/settings/webhook/settings.tmpl new file mode 100644 index 0000000..6862ce5 --- /dev/null +++ b/data/gitea/templates/repo/settings/webhook/settings.tmpl @@ -0,0 +1,288 @@ +{{$isNew:=or .PageIsSettingsHooksNew .PageIsAdminDefaultHooksNew .PageIsAdminSystemHooksNew}} +
    +

    {{ctx.Locale.Tr "repo.settings.event_desc"}}

    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    + +
    + +
    + +
    + +
    +
    +
    + + + {{ctx.Locale.Tr "repo.settings.event_create_desc"}} +
    +
    +
    + +
    +
    +
    + + + {{ctx.Locale.Tr "repo.settings.event_delete_desc"}} +
    +
    +
    + +
    +
    +
    + + + {{ctx.Locale.Tr "repo.settings.event_fork_desc"}} +
    +
    +
    + +
    +
    +
    + + + {{ctx.Locale.Tr "repo.settings.event_push_desc"}} +
    +
    +
    + +
    +
    +
    + + + {{ctx.Locale.Tr "repo.settings.event_repository_desc"}} +
    +
    +
    + +
    +
    +
    + + + {{ctx.Locale.Tr "repo.settings.event_release_desc"}} +
    +
    +
    + +
    +
    +
    + + + {{ctx.Locale.Tr "repo.settings.event_package_desc"}} +
    +
    +
    + + +
    +
    +
    + + + {{ctx.Locale.Tr "repo.settings.event_wiki_desc"}} +
    +
    +
    + + +
    + +
    + +
    +
    +
    + + + {{ctx.Locale.Tr "repo.settings.event_issues_desc"}} +
    +
    +
    + +
    +
    +
    + + + {{ctx.Locale.Tr "repo.settings.event_issue_assign_desc"}} +
    +
    +
    + +
    +
    +
    + + + {{ctx.Locale.Tr "repo.settings.event_issue_label_desc"}} +
    +
    +
    + +
    +
    +
    + + + {{ctx.Locale.Tr "repo.settings.event_issue_milestone_desc"}} +
    +
    +
    + +
    +
    +
    + + + {{ctx.Locale.Tr "repo.settings.event_issue_comment_desc"}} +
    +
    +
    + + +
    + +
    + +
    +
    +
    + + + {{ctx.Locale.Tr "repo.settings.event_pull_request_desc"}} +
    +
    +
    + +
    +
    +
    + + + {{ctx.Locale.Tr "repo.settings.event_pull_request_assign_desc"}} +
    +
    +
    + +
    +
    +
    + + + {{ctx.Locale.Tr "repo.settings.event_pull_request_label_desc"}} +
    +
    +
    + +
    +
    +
    + + + {{ctx.Locale.Tr "repo.settings.event_pull_request_milestone_desc"}} +
    +
    +
    + +
    +
    +
    + + + {{ctx.Locale.Tr "repo.settings.event_pull_request_comment_desc"}} +
    +
    +
    + +
    +
    +
    + + + {{ctx.Locale.Tr "repo.settings.event_pull_request_review_desc"}} +
    +
    +
    + +
    +
    +
    + + + {{ctx.Locale.Tr "repo.settings.event_pull_request_sync_desc"}} +
    +
    +
    + +
    +
    +
    + + + {{ctx.Locale.Tr "repo.settings.event_pull_request_review_request_desc"}} +
    +
    +
    +
    +
    + + +
    + + + {{ctx.Locale.Tr "repo.settings.branch_filter_desc"}} +
    + + +
    + + + {{if ne .HookType "matrix"}}{{/* Matrix doesn't make the authorization optional but it is implied by the help string, should be changed.*/}} + {{ctx.Locale.Tr "repo.settings.authorization_header_desc" ("Bearer token123456, Basic YWxhZGRpbjpvcGVuc2VzYW1l" | SafeHTML)}} + {{end}} +
    + +
    + +
    +
    + + + {{ctx.Locale.Tr "repo.settings.active_helper"}} +
    +
    +
    + {{if $isNew}} + + {{else}} + + {{ctx.Locale.Tr "repo.settings.delete_webhook"}} + {{end}} +
    + +{{template "repo/settings/webhook/delete_modal" .}} diff --git a/data/gitea/templates/repo/settings/webhook/slack.tmpl b/data/gitea/templates/repo/settings/webhook/slack.tmpl new file mode 100644 index 0000000..e7cae92 --- /dev/null +++ b/data/gitea/templates/repo/settings/webhook/slack.tmpl @@ -0,0 +1,28 @@ +{{if eq .HookType "slack"}} +

    {{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://slack.com" (ctx.Locale.Tr "repo.settings.web_hook_name_slack")}}

    +
    + {{.CsrfTokenHtml}} +
    + + +
    +
    + + +
    + +
    + + +
    +
    + + +
    +
    + + +
    + {{template "repo/settings/webhook/settings" .}} +
    +{{end}} diff --git a/data/gitea/templates/repo/settings/webhook/telegram.tmpl b/data/gitea/templates/repo/settings/webhook/telegram.tmpl new file mode 100644 index 0000000..f92c2be --- /dev/null +++ b/data/gitea/templates/repo/settings/webhook/telegram.tmpl @@ -0,0 +1,19 @@ +{{if eq .HookType "telegram"}} +

    {{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://core.telegram.org/bots" (ctx.Locale.Tr "repo.settings.web_hook_name_telegram")}}

    +
    + {{.CsrfTokenHtml}} +
    + + +
    +
    + + +
    +
    + + +
    + {{template "repo/settings/webhook/settings" .}} +
    +{{end}} diff --git a/data/gitea/templates/repo/settings/webhook/wechatwork.tmpl b/data/gitea/templates/repo/settings/webhook/wechatwork.tmpl new file mode 100644 index 0000000..78a1617 --- /dev/null +++ b/data/gitea/templates/repo/settings/webhook/wechatwork.tmpl @@ -0,0 +1,11 @@ +{{if eq .HookType "wechatwork"}} +

    {{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://work.weixin.qq.com" (ctx.Locale.Tr "repo.settings.web_hook_name_wechatwork")}}

    +
    + {{.CsrfTokenHtml}} +
    + + +
    + {{template "repo/settings/webhook/settings" .}} +
    +{{end}} diff --git a/data/gitea/templates/repo/shabox_badge.tmpl b/data/gitea/templates/repo/shabox_badge.tmpl new file mode 100644 index 0000000..939292b --- /dev/null +++ b/data/gitea/templates/repo/shabox_badge.tmpl @@ -0,0 +1,15 @@ +
    + {{if .verification.Verified}} +
    + {{if ne .verification.SigningUser.ID 0}} + {{svg "gitea-lock"}} + {{ctx.AvatarUtils.Avatar .verification.SigningUser 28 "signature"}} + {{else}} + {{svg "gitea-lock-cog"}} + {{ctx.AvatarUtils.AvatarByEmail .verification.SigningEmail "" 28 "signature"}} + {{end}} +
    + {{else}} + {{svg "gitea-unlock"}} + {{end}} +
    diff --git a/data/gitea/templates/repo/star_unstar.tmpl b/data/gitea/templates/repo/star_unstar.tmpl new file mode 100644 index 0000000..0f09d8b --- /dev/null +++ b/data/gitea/templates/repo/star_unstar.tmpl @@ -0,0 +1,13 @@ +
    +
    + {{$buttonText := ctx.Locale.Tr "repo.star"}} + {{if $.IsStaringRepo}}{{$buttonText = ctx.Locale.Tr "repo.unstar"}}{{end}} + + + {{CountFmt .Repository.NumStars}} + +
    +
    diff --git a/data/gitea/templates/repo/sub_menu.tmpl b/data/gitea/templates/repo/sub_menu.tmpl new file mode 100644 index 0000000..87d2110 --- /dev/null +++ b/data/gitea/templates/repo/sub_menu.tmpl @@ -0,0 +1,46 @@ +{{if and (not .HideRepoInfo) (not .IsBlame)}} +
    + + {{if and (.Permission.CanRead ctx.Consts.RepoUnitTypeCode) (not .IsEmptyRepo) .LanguageStats}} + + + {{range .LanguageStats}} +
    + {{end}} +
    + {{end}} +
    +{{end}} diff --git a/data/gitea/templates/repo/tag/list.tmpl b/data/gitea/templates/repo/tag/list.tmpl new file mode 100644 index 0000000..354808e --- /dev/null +++ b/data/gitea/templates/repo/tag/list.tmpl @@ -0,0 +1,80 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{template "base/alert" .}} + {{template "repo/release_tag_header" .}} + {{if .Releases}} +

    +
    + {{svg "octicon-tag" 16 "tw-mr-1"}}{{ctx.Locale.Tr "repo.release.tags"}} +
    +

    + {{$canReadReleases := $.Permission.CanRead ctx.Consts.RepoUnitTypeReleases}} +
    + + + {{range $idx, $release := .Releases}} + + + + {{end}} + +
    +

    + {{if $canReadReleases}} + {{.TagName}} + {{else}} + {{.TagName}} + {{end}} +

    +
    + {{if $.Permission.CanRead ctx.Consts.RepoUnitTypeCode}} + {{if .CreatedUnix}} + {{svg "octicon-clock" 16 "tw-mr-1"}}{{TimeSinceUnix .CreatedUnix ctx.Locale}} + {{end}} + + {{svg "octicon-git-commit" 16 "tw-mr-1"}}{{ShortSha .Sha1}} + + {{if not $.DisableDownloadSourceArchives}} + {{svg "octicon-file-zip" 16 "tw-mr-1"}}ZIP + {{svg "octicon-file-zip" 16 "tw-mr-1"}}TAR.GZ + {{end}} + + {{if (and $canReadReleases $.CanCreateRelease $release.IsTag)}} + {{svg "octicon-tag" 16 "tw-mr-1"}}{{ctx.Locale.Tr "repo.release.new_release"}} + {{end}} + + {{if (and ($.Permission.CanWrite ctx.Consts.RepoUnitTypeCode) $release.IsTag)}} + + {{svg "octicon-trash" 16 "tw-mr-1"}}{{ctx.Locale.Tr "repo.release.delete_tag"}} + + {{end}} + + {{if and $canReadReleases (not $release.IsTag)}} + {{svg "octicon-tag" 16 "tw-mr-1"}}{{ctx.Locale.Tr "repo.release.detail"}} + {{end}} + {{end}} +
    +
    +
    + {{end}} + + {{template "base/paginate" .}} +
    +
    + +{{if $.Permission.CanWrite ctx.Consts.RepoUnitTypeCode}} + +{{end}} + +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/unicode_escape_prompt.tmpl b/data/gitea/templates/repo/unicode_escape_prompt.tmpl new file mode 100644 index 0000000..8bceafa --- /dev/null +++ b/data/gitea/templates/repo/unicode_escape_prompt.tmpl @@ -0,0 +1,22 @@ +{{if .EscapeStatus}} + {{if .EscapeStatus.HasInvisible}} +
    + +
    + {{ctx.Locale.Tr "repo.invisible_runes_header"}} +
    +

    {{ctx.Locale.Tr "repo.invisible_runes_description"}}

    + {{if .EscapeStatus.HasAmbiguous}} +

    {{ctx.Locale.Tr "repo.ambiguous_runes_description"}}

    + {{end}} +
    + {{else if .EscapeStatus.HasAmbiguous}} +
    + +
    + {{ctx.Locale.Tr "repo.ambiguous_runes_header"}} +
    +

    {{ctx.Locale.Tr "repo.ambiguous_runes_description"}}

    +
    + {{end}} +{{end}} diff --git a/data/gitea/templates/repo/upload.tmpl b/data/gitea/templates/repo/upload.tmpl new file mode 100644 index 0000000..eef5199 --- /dev/null +++ b/data/gitea/templates/repo/upload.tmpl @@ -0,0 +1,15 @@ +
    +
    +
    diff --git a/data/gitea/templates/repo/user_cards.tmpl b/data/gitea/templates/repo/user_cards.tmpl new file mode 100644 index 0000000..5accc2c --- /dev/null +++ b/data/gitea/templates/repo/user_cards.tmpl @@ -0,0 +1,29 @@ +
    + {{if .CardsTitle}} +

    + {{.CardsTitle}} +

    + {{end}} +
      + {{range .Cards}} +
    • + + {{ctx.AvatarUtils.Avatar .}} + +

      {{.DisplayName}}

      + +
      + {{if .Website}} + {{svg "octicon-link"}} {{.Website}} + {{else if .Location}} + {{svg "octicon-location"}} {{.Location}} + {{else}} + {{svg "octicon-calendar"}} {{ctx.Locale.Tr "user.joined_on" (DateTime "short" .CreatedUnix)}} + {{end}} +
      +
    • + {{end}} +
    + + {{template "base/paginate" .}} +
    diff --git a/data/gitea/templates/repo/view_file.tmpl b/data/gitea/templates/repo/view_file.tmpl new file mode 100644 index 0000000..08833f9 --- /dev/null +++ b/data/gitea/templates/repo/view_file.tmpl @@ -0,0 +1,151 @@ +{{ if false }} +
    +{{ end }} + {{- if .FileError}} +
    +
    {{.FileError}}
    +
    + {{end}} + {{- if .FileWarning}} +
    +
    {{.FileWarning}}
    +
    + {{end}} + + {{if not .ReadmeInList}} +
    +
    + {{template "repo/latest_commit" .}} +
    + {{if .LatestCommit}} + {{if .LatestCommit.Committer}} +
    + {{TimeSince .LatestCommit.Committer.When ctx.Locale}} +
    + {{end}} + {{end}} +
    + {{end}} + + {{ if false }} +

    + {{ end }} + {{ if false }} +
    + {{if .ReadmeInList}} + {{svg "octicon-book" 16 "tw-mr-2"}} + {{.FileName}} + {{else}} + {{template "repo/file_info" .}} + {{end}} +
    + {{ end }} +
    + {{if .HasSourceRenderedToggle}} + + {{end}} + {{if not .ReadmeInList}} +
    + {{ctx.Locale.Tr "repo.file_raw"}} + {{if not .IsViewCommit}} + {{ctx.Locale.Tr "repo.file_permalink"}} + {{end}} + {{if .IsRepresentableAsText}} + {{ctx.Locale.Tr "repo.blame"}} + {{end}} + {{ctx.Locale.Tr "repo.file_history"}} + {{if .EscapeStatus.Escaped}} + + + {{end}} +
    + {{svg "octicon-download"}} + {{svg "octicon-copy" 14}} + {{if .EnableFeed}} + + {{svg "octicon-rss" 14}} + + {{end}} + {{if .Repository.CanEnableEditor}} + {{if .CanEditFile}} + {{svg "octicon-pencil"}} + {{else}} + {{svg "octicon-pencil"}} + {{end}} + {{if .CanDeleteFile}} + {{svg "octicon-trash"}} + {{else}} + {{svg "octicon-trash"}} + {{end}} + {{end}} + {{else if and false .EscapeStatus.Escaped}} + + + {{end}} + {{if and .ReadmeInList .CanEditReadmeFile}} + {{svg "octicon-pencil"}} + {{end}} +
    + {{ if false }} +

    + {{end}} +
    + {{if not (or .IsMarkup .IsRenderedHTML)}} + {{template "repo/unicode_escape_prompt" dict "EscapeStatus" .EscapeStatus "root" $}} + {{end}} +
    + {{if .IsFileTooLarge}} + {{template "shared/filetoolarge" dict "RawFileLink" .RawFileLink}} + {{else if .IsMarkup}} + {{if .FileContent}}{{.FileContent}}{{end}} + {{else if .IsPlainText}} +
    {{if .FileContent}}{{.FileContent}}{{end}}
    + {{else if not .IsTextSource}} +
    + {{if .IsImageFile}} + + {{else if .IsVideoFile}} + + {{else if .IsAudioFile}} + + {{else if .IsPDFFile}} +
    + {{else}} + {{ctx.Locale.Tr "repo.file_view_raw"}} + {{end}} +
    + {{else if .FileSize}} + + + {{range $idx, $code := .FileContent}} + {{$line := Eval $idx "+" 1}} + + + {{if $.EscapeStatus.Escaped}} + + {{end}} + + + {{end}} + +
    {{if (index $.LineEscapeStatus $idx).Escaped}}{{end}}{{$code}}
    + + {{end}} +
    +
    +{{ if false }} +
    +{{end }} diff --git a/data/gitea/templates/repo/view_list.tmpl b/data/gitea/templates/repo/view_list.tmpl new file mode 100644 index 0000000..c9a43ed --- /dev/null +++ b/data/gitea/templates/repo/view_list.tmpl @@ -0,0 +1,74 @@ +{{if and .ReadmeExist (or .IsMarkup .IsPlainText)}} + {{template "repo/view_file" .}} +{{end}} + + + + + + + + + {{if .HasParentPath}} + + + + {{end}} + {{range $item := .Files}} + {{$entry := $item.Entry}} + {{$commit := $item.Commit}} + {{$subModuleFile := $item.SubModuleFile}} + + + + + + {{end}} + +
    +
    +
    + {{template "repo/latest_commit" .}} +
    +
    +
    {{if .LatestCommit}}{{if .LatestCommit.Committer}}{{TimeSince .LatestCommit.Committer.When ctx.Locale}}{{end}}{{end}}
    {{svg "octicon-reply"}}..
    + + {{if $entry.IsSubModule}} + {{svg "octicon-file-submodule"}} + {{$refURL := $subModuleFile.RefURL AppUrl $.Repository.FullName $.SSHDomain}} {{/* FIXME: the usage of AppUrl seems incorrect, it would be fixed in the future, use AppSubUrl instead */}} + {{if $refURL}} + {{$entry.Name}}@{{ShortSha $subModuleFile.RefID}} + {{else}} + {{$entry.Name}}@{{ShortSha $subModuleFile.RefID}} + {{end}} + {{else}} + {{if $entry.IsDir}} + {{$subJumpablePathName := $entry.GetSubJumpablePathName}} + {{svg "octicon-file-directory-fill"}} + + {{$subJumpablePathFields := StringUtils.Split $subJumpablePathName "/"}} + {{$subJumpablePathFieldLast := (Eval (len $subJumpablePathFields) "-" 1)}} + {{if eq $subJumpablePathFieldLast 0}} + {{$subJumpablePathName}} + {{else}} + {{$subJumpablePathPrefixes := slice $subJumpablePathFields 0 $subJumpablePathFieldLast}} + {{StringUtils.Join $subJumpablePathPrefixes "/"}}/{{index $subJumpablePathFields $subJumpablePathFieldLast}} + {{end}} + + {{else}} + {{svg (printf "octicon-%s" (EntryIcon $entry))}} + {{$entry.Name}} + {{end}} + {{end}} + + + + {{if $commit}} + {{$commitLink := printf "%s/commit/%s" $.RepoLink (PathEscape $commit.ID.String)}} + {{RenderCommitMessageLinkSubject $.Context $commit.Message $commitLink ($.Repository.ComposeMetas ctx)}} + {{else}} +
    + {{end}} +
    +
    {{if $commit}}{{TimeSince $commit.Committer.When ctx.Locale}}{{end}}
    + diff --git a/data/gitea/templates/repo/watch_unwatch.tmpl b/data/gitea/templates/repo/watch_unwatch.tmpl new file mode 100644 index 0000000..465cd91 --- /dev/null +++ b/data/gitea/templates/repo/watch_unwatch.tmpl @@ -0,0 +1,13 @@ +
    +
    + {{$buttonText := ctx.Locale.Tr "repo.watch"}} + {{if $.IsWatchingRepo}}{{$buttonText = ctx.Locale.Tr "repo.unwatch"}}{{end}} + + + {{CountFmt .Repository.NumWatches}} + +
    +
    diff --git a/data/gitea/templates/repo/watchers.tmpl b/data/gitea/templates/repo/watchers.tmpl new file mode 100644 index 0000000..1828544 --- /dev/null +++ b/data/gitea/templates/repo/watchers.tmpl @@ -0,0 +1,8 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{template "repo/user_cards" .}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/wiki/new.tmpl b/data/gitea/templates/repo/wiki/new.tmpl new file mode 100644 index 0000000..0f10e60 --- /dev/null +++ b/data/gitea/templates/repo/wiki/new.tmpl @@ -0,0 +1,45 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    + {{template "base/alert" .}} +
    + {{ctx.Locale.Tr "repo.wiki.new_page"}} + {{if .PageIsWikiEdit}} + {{ctx.Locale.Tr "repo.wiki.new_page_button"}} + {{end}} +
    +
    + {{.CsrfTokenHtml}} +
    + +
    +
    + {{ctx.Locale.Tr "repo.wiki.page_name_desc"}} +
    + + {{$content := .content}} + {{if not .PageIsWikiEdit}} + {{$content = ctx.Locale.Tr "repo.wiki.welcome"}} + {{end}} + {{template "shared/combomarkdowneditor" (dict + "MarkdownPreviewUrl" (print .Repository.Link "/markup") + "MarkdownPreviewContext" .RepoLink + "TextareaName" "content" + "TextareaPlaceholder" (ctx.Locale.Tr "repo.wiki.page_content") + "TextareaAriaLabel" (ctx.Locale.Tr "repo.wiki.page_content") + "TextareaContent" $content + )}} + +
    + +
    +
    +
    + {{ctx.Locale.Tr "cancel"}} + +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/wiki/pages.tmpl b/data/gitea/templates/repo/wiki/pages.tmpl new file mode 100644 index 0000000..52bf165 --- /dev/null +++ b/data/gitea/templates/repo/wiki/pages.tmpl @@ -0,0 +1,31 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    +

    + {{ctx.Locale.Tr "repo.wiki.pages"}} + + {{if and .CanWriteWiki (not .Repository.IsMirror)}} + {{ctx.Locale.Tr "repo.wiki.new_page_button"}} + {{end}} + +

    + {{if .IsRepositoryAdmin}}
    {{ctx.Locale.Tr "repo.default_branch"}}: {{.Repository.DefaultWikiBranch}}
    {{end}} + + + {{range .Pages}} + + + {{$timeSince := TimeSinceUnix .UpdatedUnix ctx.Locale}} + + + {{end}} + +
    + {{svg "octicon-file"}} + {{.Name}} + {{svg "octicon-chevron-right"}} + {{ctx.Locale.Tr "repo.wiki.last_updated" $timeSince}}
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/wiki/revision.tmpl b/data/gitea/templates/repo/wiki/revision.tmpl new file mode 100644 index 0000000..8e0060d --- /dev/null +++ b/data/gitea/templates/repo/wiki/revision.tmpl @@ -0,0 +1,40 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} + {{$title := .title}} +
    +
    +
    +
    + {{.revision}} {{svg "octicon-home"}} + {{$title}} +
    + {{$timeSince := TimeSince .Author.When ctx.Locale}} + {{ctx.Locale.Tr "repo.wiki.last_commit_info" .Author.Name $timeSince}} +
    +
    +
    +
    +
    + {{template "repo/clone_buttons" .}} + {{template "repo/clone_script" .}} +
    +
    +
    +

    {{ctx.Locale.Tr "repo.wiki.wiki_page_revisions"}}

    +
    +

    +
    +
    + {{.CommitCount}} {{ctx.Locale.Tr "repo.commits.commits"}} +
    +
    +

    + {{if and .Commits (gt .CommitCount 0)}} + {{template "repo/commits_list" .}} + {{end}} + {{template "base/paginate" .}} +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/wiki/start.tmpl b/data/gitea/templates/repo/wiki/start.tmpl new file mode 100644 index 0000000..1b3c3d5 --- /dev/null +++ b/data/gitea/templates/repo/wiki/start.tmpl @@ -0,0 +1,15 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} +
    +
    + {{svg "octicon-book" 48}} +

    {{ctx.Locale.Tr "repo.wiki.welcome"}}

    +

    {{ctx.Locale.Tr "repo.wiki.welcome_desc"}}

    + {{if and .CanWriteWiki (not .Repository.IsMirror)}} + {{ctx.Locale.Tr "repo.wiki.create_first_page"}} + {{end}} +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/repo/wiki/view.tmpl b/data/gitea/templates/repo/wiki/view.tmpl new file mode 100644 index 0000000..409de3f --- /dev/null +++ b/data/gitea/templates/repo/wiki/view.tmpl @@ -0,0 +1,115 @@ +{{template "base/head" .}} +
    + {{template "repo/header" .}} + {{$title := .title}} +
    +
    +
    + +
    +
    + {{template "repo/clone_buttons" .}} + {{template "repo/clone_script" .}} +
    +
    +
    +
    +
    + {{.CommitCount}} {{svg "octicon-history"}} + {{$title}} +
    + {{$timeSince := TimeSince .Author.When ctx.Locale}} + {{ctx.Locale.Tr "repo.wiki.last_commit_info" .Author.Name $timeSince}} +
    +
    + +
    +
    + {{if .FormatWarning}} +
    +

    {{.FormatWarning}}

    +
    + {{end}} + +
    + {{if .sidebarTocContent}} + + {{end}} + +
    + {{template "repo/unicode_escape_prompt" dict "EscapeStatus" .EscapeStatus "root" $}} + {{.content | SafeHTML}} +
    + + {{if .sidebarPresent}} + + {{end}} + +
    + + {{if .footerPresent}} + + {{end}} +
    +
    +
    + + + +{{template "base/footer" .}} diff --git a/data/gitea/templates/shared/actions/runner_badge.tmpl b/data/gitea/templates/shared/actions/runner_badge.tmpl new file mode 100644 index 0000000..816e87e --- /dev/null +++ b/data/gitea/templates/shared/actions/runner_badge.tmpl @@ -0,0 +1,25 @@ + + {{.Badge.Label.Text}}: {{.Badge.Message.Text}} + + + + + + + + + + + + + + + {{.Badge.Label.Text}}{{.Badge.Message.Text}} + diff --git a/data/gitea/templates/shared/actions/runner_edit.tmpl b/data/gitea/templates/shared/actions/runner_edit.tmpl new file mode 100644 index 0000000..d60f10b --- /dev/null +++ b/data/gitea/templates/shared/actions/runner_edit.tmpl @@ -0,0 +1,96 @@ +
    +

    + {{ctx.Locale.Tr "actions.runners.runner_title"}} {{.Runner.ID}} {{.Runner.Name}} +

    +
    +
    + {{template "base/disable_form_autofill"}} + {{.CsrfTokenHtml}} +
    +
    + + {{.Runner.StatusLocaleName ctx.Locale}} +
    +
    + + {{if .Runner.LastOnline}}{{TimeSinceUnix .Runner.LastOnline ctx.Locale}}{{else}}{{ctx.Locale.Tr "never"}}{{end}} +
    +
    + + + {{range .Runner.AgentLabels}} + {{.}} + {{end}} + +
    +
    + + {{.Runner.BelongsToOwnerType.LocaleString ctx.Locale}} +
    +
    + +
    + +
    + + +
    + +
    + +
    + + +
    +
    +
    + +

    + {{ctx.Locale.Tr "actions.runners.task_list"}} +

    +
    + + + + + + + + + + + + {{range .Tasks}} + + + + + + + + {{end}} + {{if not .Tasks}} + + + + {{end}} + +
    {{ctx.Locale.Tr "actions.runners.task_list.run"}}{{ctx.Locale.Tr "actions.runners.task_list.status"}}{{ctx.Locale.Tr "actions.runners.task_list.repository"}}{{ctx.Locale.Tr "actions.runners.task_list.commit"}}{{ctx.Locale.Tr "actions.runners.task_list.done_at"}}
    {{.ID}}{{.Status.LocaleString ctx.Locale}}{{.GetRepoName}} + {{ShortSha .CommitSHA}} + {{if .IsStopped}} + {{TimeSinceUnix .Stopped ctx.Locale}} + {{else}}-{{end}}
    {{ctx.Locale.Tr "actions.runners.task_list.no_tasks"}}
    + {{template "base/paginate" .}} +
    + +
    diff --git a/data/gitea/templates/shared/actions/runner_list.tmpl b/data/gitea/templates/shared/actions/runner_list.tmpl new file mode 100644 index 0000000..d3a86fe --- /dev/null +++ b/data/gitea/templates/shared/actions/runner_list.tmpl @@ -0,0 +1,95 @@ +
    + +

    + {{ctx.Locale.Tr "actions.runners.runner_manage_panel"}} ({{ctx.Locale.Tr "admin.total" .Total}}) +
    + + +
    +

    +
    +
    + {{template "shared/search/combo" dict "Value" .Keyword "Placeholder" (ctx.Locale.Tr "search.runner_kind")}} +
    +
    +
    + + + + + + + + + + + + + + + {{if .Runners}} + {{range .Runners}} + + + + + + + + + + + {{end}} + {{else}} + + + + {{end}} + +
    + {{ctx.Locale.Tr "actions.runners.status"}} + {{SortArrow "online" "offline" .SortType false}} + + {{ctx.Locale.Tr "actions.runners.id"}} + {{SortArrow "oldest" "newest" .SortType false}} + + {{ctx.Locale.Tr "actions.runners.name"}} + {{SortArrow "alphabetically" "reversealphabetically" .SortType false}} + {{ctx.Locale.Tr "actions.runners.version"}}{{ctx.Locale.Tr "actions.runners.owner_type"}}{{ctx.Locale.Tr "actions.runners.labels"}}{{ctx.Locale.Tr "actions.runners.last_online"}}{{ctx.Locale.Tr "edit"}}
    + {{.StatusLocaleName ctx.Locale}} + {{.ID}}

    {{.Name}}

    {{if .Version}}{{.Version}}{{else}}{{ctx.Locale.Tr "unknown"}}{{end}}{{.BelongsToOwnerType.LocaleString ctx.Locale}} + {{range .AgentLabels}}{{.}}{{end}} + {{if .LastOnline}}{{TimeSinceUnix .LastOnline ctx.Locale}}{{else}}{{ctx.Locale.Tr "never"}}{{end}} + {{if .Editable $.RunnerOwnerID $.RunnerRepoID}} + {{svg "octicon-pencil"}} + {{end}} +
    {{ctx.Locale.Tr "actions.runners.none"}}
    +
    + + {{template "base/paginate" .}} + +
    diff --git a/data/gitea/templates/shared/combomarkdowneditor.tmpl b/data/gitea/templates/shared/combomarkdowneditor.tmpl new file mode 100644 index 0000000..a0145ab --- /dev/null +++ b/data/gitea/templates/shared/combomarkdowneditor.tmpl @@ -0,0 +1,59 @@ +{{/* +Template Attributes: +* ContainerId: id attribute for the container element +* ContainerClasses: additional classes for the container element +* MarkdownPreviewUrl: preview url for the preview tab +* MarkdownPreviewContext: preview context for the preview tab +* TextareaName: name attribute for the textarea +* TextareaContent: content for the textarea +* TextareaPlaceholder: placeholder attribute for the textarea +* TextareaAriaLabel: aria-label attribute for the textarea +* DropzoneParentContainer: container for file upload (leave it empty if no upload) +* DisableAutosize: whether to disable automatic height resizing +*/}} +
    + {{if .MarkdownPreviewUrl}} + + {{end}} +
    + +
    + {{svg "octicon-heading"}} + {{svg "octicon-bold"}} + {{svg "octicon-italic"}} +
    +
    + {{svg "octicon-quote"}} + {{svg "octicon-code"}} + {{svg "octicon-link"}} +
    +
    + {{svg "octicon-list-unordered"}} + {{svg "octicon-list-ordered"}} + {{svg "octicon-tasklist"}} +
    +
    + {{svg "octicon-mention"}} + {{svg "octicon-cross-reference"}} +
    +
    + + +
    +
    + + + + +
    +
    + {{ctx.Locale.Tr "loading"}} +
    +
    diff --git a/data/gitea/templates/shared/filetoolarge.tmpl b/data/gitea/templates/shared/filetoolarge.tmpl new file mode 100644 index 0000000..8842fb1 --- /dev/null +++ b/data/gitea/templates/shared/filetoolarge.tmpl @@ -0,0 +1,4 @@ +
    + {{ctx.Locale.Tr "repo.file_too_large"}} + {{if .RawFileLink}}{{ctx.Locale.Tr "repo.file_view_raw"}}{{end}} +
    diff --git a/data/gitea/templates/shared/issueicon.tmpl b/data/gitea/templates/shared/issueicon.tmpl new file mode 100644 index 0000000..a62714e --- /dev/null +++ b/data/gitea/templates/shared/issueicon.tmpl @@ -0,0 +1,25 @@ +{{if .IsPull}} + {{if not .PullRequest}} + No PullRequest + {{else}} + {{if .IsClosed}} + {{if .PullRequest.HasMerged}} + {{svg "octicon-git-merge" 16 "text purple"}} + {{else}} + {{svg "octicon-git-pull-request" 16 "text red"}} + {{end}} + {{else}} + {{if .PullRequest.IsWorkInProgress ctx}} + {{svg "octicon-git-pull-request-draft" 16 "text grey"}} + {{else}} + {{svg "octicon-git-pull-request" 16 "text green"}} + {{end}} + {{end}} + {{end}} +{{else}} + {{if .IsClosed}} + {{svg "octicon-issue-closed" 16 "text red"}} + {{else}} + {{svg "octicon-issue-opened" 16 "text green"}} + {{end}} +{{end}} diff --git a/data/gitea/templates/shared/issuelist.tmpl b/data/gitea/templates/shared/issuelist.tmpl new file mode 100644 index 0000000..16c650e --- /dev/null +++ b/data/gitea/templates/shared/issuelist.tmpl @@ -0,0 +1,163 @@ +
    + {{$approvalCounts := .ApprovalCounts}} + {{range .Issues}} +
    + +
    + {{if $.CanWriteIssuesOrPulls}} + + {{end}} + {{template "shared/issueicon" .}} +
    + +
    +
    +
    + {{RenderEmoji $.Context .Title | RenderCodeBlock}} + {{if .IsPull}} + {{if (index $.CommitStatuses .PullRequest.ID)}} + {{template "repo/commit_statuses" dict "Status" (index $.CommitLastStatus .PullRequest.ID) "Statuses" (index $.CommitStatuses .PullRequest.ID)}} + {{end}} + {{end}} + + {{range .Labels}} + {{RenderLabel $.Context ctx.Locale .}} + {{end}} + +
    + {{if or .TotalTrackedTime .Assignees .NumComments}} +
    + {{if .TotalTrackedTime}} +
    + {{svg "octicon-clock" 16}} + {{.TotalTrackedTime | Sec2Time}} +
    + {{end}} + {{if .Assignees}} +
    + {{range .Assignees}} + + {{ctx.AvatarUtils.Avatar . 20}} + + {{end}} +
    + {{end}} + {{if .NumComments}} + + {{end}} +
    + {{end}} +
    +
    + + {{if eq $.listType "dashboard"}} + {{.Repo.FullName}}#{{.Index}} + {{else}} + #{{.Index}} + {{end}} + + {{$timeStr := TimeSinceUnix .GetLastEventTimestamp ctx.Locale}} + {{if .OriginalAuthor}} + {{ctx.Locale.Tr .GetLastEventLabelFake $timeStr .OriginalAuthor}} + {{else if gt .Poster.ID 0}} + {{ctx.Locale.Tr .GetLastEventLabel $timeStr .Poster.HomeLink .Poster.GetDisplayName}} + {{else}} + {{ctx.Locale.Tr .GetLastEventLabelFake $timeStr .Poster.GetDisplayName}} + {{end}} + {{if .IsPull}} + + {{end}} + {{if and .Milestone (ne $.listType "milestone")}} + + {{svg "octicon-milestone" 14}} + {{.Milestone.Name}} + + {{end}} + {{if .Project}} + + {{svg .Project.IconName 14}} + {{.Project.Title}} + + {{end}} + {{if .Ref}} + + {{svg "octicon-git-branch" 14}} + {{index $.IssueRefEndNames .ID}} + + {{end}} + {{$tasks := .GetTasks}} + {{if gt $tasks 0}} + {{$tasksDone := .GetTasksDone}} + + {{svg "octicon-checklist" 14}}{{$tasksDone}} / {{$tasks}} + + + {{end}} + {{if ne .DeadlineUnix 0}} + + + {{svg "octicon-calendar" 14}} + {{DateTime "short" (.DeadlineUnix.FormatDate)}} + + + {{end}} + {{if .IsPull}} + {{$approveOfficial := call $approvalCounts .ID "approve"}} + {{$rejectOfficial := call $approvalCounts .ID "reject"}} + {{$waitingOfficial := call $approvalCounts .ID "waiting"}} + {{if gt $approveOfficial 0}} + + {{svg "octicon-check" 14}} + {{ctx.Locale.TrN $approveOfficial "repo.pulls.approve_count_1" "repo.pulls.approve_count_n" $approveOfficial}} + + {{end}} + {{if gt $rejectOfficial 0}} + + {{svg "octicon-diff" 14}} + {{ctx.Locale.TrN $rejectOfficial "repo.pulls.reject_count_1" "repo.pulls.reject_count_n" $rejectOfficial}} + + {{end}} + {{if gt $waitingOfficial 0}} + + {{svg "octicon-eye" 14}} + {{ctx.Locale.TrN $waitingOfficial "repo.pulls.waiting_count_1" "repo.pulls.waiting_count_n" $waitingOfficial}} + + {{end}} + {{if and (not .PullRequest.HasMerged) .PullRequest.ConflictedFiles}} + + {{svg "octicon-x" 14}} + {{ctx.Locale.TrN (len .PullRequest.ConflictedFiles) "repo.pulls.num_conflicting_files_1" "repo.pulls.num_conflicting_files_n" (len .PullRequest.ConflictedFiles)}} + + {{end}} + {{end}} +
    +
    +
    + {{end}} + {{if .IssueIndexerUnavailable}} +
    +

    {{ctx.Locale.Tr "search.keyword_search_unavailable"}}

    +
    + {{end}} +
    +{{template "base/paginate" .}} diff --git a/data/gitea/templates/shared/misc/tabtitle.tmpl b/data/gitea/templates/shared/misc/tabtitle.tmpl new file mode 100644 index 0000000..dea9d4d --- /dev/null +++ b/data/gitea/templates/shared/misc/tabtitle.tmpl @@ -0,0 +1 @@ +{{.}} diff --git a/data/gitea/templates/shared/repo_search.tmpl b/data/gitea/templates/shared/repo_search.tmpl new file mode 100644 index 0000000..7fcb5d2 --- /dev/null +++ b/data/gitea/templates/shared/repo_search.tmpl @@ -0,0 +1,64 @@ + +{{if and .PageIsExploreRepositories .OnlyShowRelevant}} +
    + + {{ctx.Locale.Tr "explore.relevant_repositories" (printf "?only_show_relevant=0&sort=%s&q=%s&language=%s" $.SortType (QueryEscape $.Keyword) (QueryEscape $.Language))}} + +
    +{{end}} +
    diff --git a/data/gitea/templates/shared/search/button.tmpl b/data/gitea/templates/shared/search/button.tmpl new file mode 100644 index 0000000..7bb1662 --- /dev/null +++ b/data/gitea/templates/shared/search/button.tmpl @@ -0,0 +1,3 @@ +{{/* Disable (optional) - if search button has to be disabled */}} +{{/* Tooltip (optional) - a tooltip to be displayed on hover */}} + diff --git a/data/gitea/templates/shared/search/code/results.tmpl b/data/gitea/templates/shared/search/code/results.tmpl new file mode 100644 index 0000000..a98a662 --- /dev/null +++ b/data/gitea/templates/shared/search/code/results.tmpl @@ -0,0 +1,36 @@ +
    + {{range $term := .SearchResultLanguages}} + + + {{$term.Language}} +
    {{$term.Count}}
    +
    + {{end}} +
    + +{{template "base/paginate" .}} diff --git a/data/gitea/templates/shared/search/code/search.tmpl b/data/gitea/templates/shared/search/code/search.tmpl new file mode 100644 index 0000000..e49ea47 --- /dev/null +++ b/data/gitea/templates/shared/search/code/search.tmpl @@ -0,0 +1,22 @@ +
    + {{template "shared/search/combo_fuzzy" dict "Value" .Keyword "Disabled" .CodeIndexerUnavailable "IsFuzzy" .IsFuzzy "Placeholder" (ctx.Locale.Tr "search.code_kind")}} +
    +
    +
    + {{if .CodeIndexerUnavailable}} +
    +

    {{ctx.Locale.Tr "search.code_search_unavailable"}}

    +
    + {{else}} + {{if not .IsRepoIndexerEnabled}} +
    +

    {{ctx.Locale.Tr "search.code_search_by_git_grep"}}

    +
    + {{end}} + {{if .SearchResults}} + {{template "shared/search/code/results" .}} + {{else if .Keyword}} +
    {{ctx.Locale.Tr "search.no_results"}}
    + {{end}} + {{end}} +
    diff --git a/data/gitea/templates/shared/search/combo.tmpl b/data/gitea/templates/shared/search/combo.tmpl new file mode 100644 index 0000000..788db95 --- /dev/null +++ b/data/gitea/templates/shared/search/combo.tmpl @@ -0,0 +1,8 @@ +{{/* Value - value of the search field (for search results page) */}} +{{/* Disabled (optional) - if search field/button has to be disabled */}} +{{/* Placeholder (optional) - placeholder text to be used */}} +{{/* Tooltip (optional) - a tooltip to be displayed on button hover */}} +
    + {{template "shared/search/input" dict "Value" .Value "Disabled" .Disabled "Placeholder" .Placeholder}} + {{template "shared/search/button" dict "Disabled" .Disabled "Tooltip" .Tooltip}} +
    diff --git a/data/gitea/templates/shared/search/combo_fuzzy.tmpl b/data/gitea/templates/shared/search/combo_fuzzy.tmpl new file mode 100644 index 0000000..3540a89 --- /dev/null +++ b/data/gitea/templates/shared/search/combo_fuzzy.tmpl @@ -0,0 +1,10 @@ +{{/* Value - value of the search field (for search results page) */}} +{{/* Disabled (optional) - if search field/button has to be disabled */}} +{{/* Placeholder (optional) - placeholder text to be used */}} +{{/* IsFuzzy - state of the fuzzy search toggle */}} +{{/* Tooltip (optional) - a tooltip to be displayed on button hover */}} +
    + {{template "shared/search/input" dict "Value" .Value "Disabled" .Disabled "Placeholder" .Placeholder}} + {{template "shared/search/fuzzy" dict "Disabled" .Disabled "IsFuzzy" .IsFuzzy}} + {{template "shared/search/button" dict "Disabled" .Disabled "Tooltip" .Tooltip}} +
    diff --git a/data/gitea/templates/shared/search/fuzzy.tmpl b/data/gitea/templates/shared/search/fuzzy.tmpl new file mode 100644 index 0000000..5c09d3c --- /dev/null +++ b/data/gitea/templates/shared/search/fuzzy.tmpl @@ -0,0 +1,10 @@ +{{/* Disabled (optional) - if dropdown has to be disabled */}} +{{/* IsFuzzy - state of the fuzzy search toggle */}} + diff --git a/data/gitea/templates/shared/search/input.tmpl b/data/gitea/templates/shared/search/input.tmpl new file mode 100644 index 0000000..75bed07 --- /dev/null +++ b/data/gitea/templates/shared/search/input.tmpl @@ -0,0 +1,4 @@ +{{/* Value - value of the search field (for search results page) */}} +{{/* Disabled (optional) - if search field has to be disabled */}} +{{/* Placeholder (optional) - placeholder text to be used */}} + diff --git a/data/gitea/templates/shared/searchbottom.tmpl b/data/gitea/templates/shared/searchbottom.tmpl new file mode 100644 index 0000000..bee0397 --- /dev/null +++ b/data/gitea/templates/shared/searchbottom.tmpl @@ -0,0 +1,14 @@ +{{if or .result.Language (not .result.UpdatedUnix.IsZero)}} +
    +
    + {{if .result.Language}} + {{.result.Language}} + {{end}} +
    +
    + {{if not .result.UpdatedUnix.IsZero}} + {{ctx.Locale.Tr "explore.code_last_indexed_at" (TimeSinceUnix .result.UpdatedUnix ctx.Locale)}} + {{end}} +
    +
    +{{end}} diff --git a/data/gitea/templates/shared/searchfile.tmpl b/data/gitea/templates/shared/searchfile.tmpl new file mode 100644 index 0000000..280584e --- /dev/null +++ b/data/gitea/templates/shared/searchfile.tmpl @@ -0,0 +1,14 @@ +
    + + + {{range .SearchResult.Lines}} + + + + + {{end}} + +
    + {{.Num}} + {{.FormattedContent}}
    +
    diff --git a/data/gitea/templates/shared/secrets/add_list.tmpl b/data/gitea/templates/shared/secrets/add_list.tmpl new file mode 100644 index 0000000..ea59459 --- /dev/null +++ b/data/gitea/templates/shared/secrets/add_list.tmpl @@ -0,0 +1,81 @@ +

    + {{ctx.Locale.Tr "secrets.management"}} +
    + +
    +

    +
    + {{if .Secrets}} +
    + {{range .Secrets}} +
    +
    + {{svg "octicon-key" 32}} +
    +
    +
    + {{.Name}} +
    +
    + ****** +
    +
    +
    + + {{ctx.Locale.Tr "settings.added_on" (DateTime "short" .CreatedUnix)}} + + +
    +
    + {{end}} +
    + {{else}} + {{ctx.Locale.Tr "secrets.none"}} + {{end}} +
    + +{{/* Add secret dialog */}} + diff --git a/data/gitea/templates/shared/user/authorlink.tmpl b/data/gitea/templates/shared/user/authorlink.tmpl new file mode 100644 index 0000000..d57a635 --- /dev/null +++ b/data/gitea/templates/shared/user/authorlink.tmpl @@ -0,0 +1 @@ +{{.GetDisplayName}}{{if .IsBot}}bot{{end}} diff --git a/data/gitea/templates/shared/user/avatarlink.tmpl b/data/gitea/templates/shared/user/avatarlink.tmpl new file mode 100644 index 0000000..5e3ed7a --- /dev/null +++ b/data/gitea/templates/shared/user/avatarlink.tmpl @@ -0,0 +1 @@ +{{ctx.AvatarUtils.Avatar .user}} diff --git a/data/gitea/templates/shared/user/block_user_dialog.tmpl b/data/gitea/templates/shared/user/block_user_dialog.tmpl new file mode 100644 index 0000000..c6db4ca --- /dev/null +++ b/data/gitea/templates/shared/user/block_user_dialog.tmpl @@ -0,0 +1,23 @@ + diff --git a/data/gitea/templates/shared/user/blocked_users.tmpl b/data/gitea/templates/shared/user/blocked_users.tmpl new file mode 100644 index 0000000..e83a039 --- /dev/null +++ b/data/gitea/templates/shared/user/blocked_users.tmpl @@ -0,0 +1,83 @@ +

    + {{ctx.Locale.Tr "user.block.title"}} +

    +
    +

    {{ctx.Locale.Tr "user.block.info_1"}}

    +
      +
    • {{ctx.Locale.Tr "user.block.info_2"}}
    • +
    • {{ctx.Locale.Tr "user.block.info_3"}}
    • +
    • {{ctx.Locale.Tr "user.block.info_4"}}
    • +
    • {{ctx.Locale.Tr "user.block.info_5"}}
    • +
    • {{ctx.Locale.Tr "user.block.info_6"}}
    • +
    • {{ctx.Locale.Tr "user.block.info_7"}}
    • +
    +
    +
    +
    + {{.CsrfTokenHtml}} + + +
    + + +

    {{ctx.Locale.Tr "user.block.note.info"}}

    +
    +
    +
    +

    + {{ctx.Locale.Tr "user.block.list"}} +

    +
    +
    + {{range .UserBlocks}} +
    +
    + {{ctx.AvatarUtils.Avatar .Blockee}} +
    +
    + + {{if .Note}} +
    + {{ctx.Locale.Tr "user.block.note"}}: {{.Note}} +
    + {{end}} +
    +
    + +
    + {{$.CsrfTokenHtml}} + + + +
    +
    +
    + {{else}} +
    {{ctx.Locale.Tr "user.block.list.none"}}
    + {{end}} +
    +
    + diff --git a/data/gitea/templates/shared/user/name.tmpl b/data/gitea/templates/shared/user/name.tmpl new file mode 100644 index 0000000..896349f --- /dev/null +++ b/data/gitea/templates/shared/user/name.tmpl @@ -0,0 +1 @@ +{{.Name}}{{if .FullName}} ({{.FullName}}){{end}} diff --git a/data/gitea/templates/shared/user/namelink.tmpl b/data/gitea/templates/shared/user/namelink.tmpl new file mode 100644 index 0000000..a122f4f --- /dev/null +++ b/data/gitea/templates/shared/user/namelink.tmpl @@ -0,0 +1 @@ +{{.GetDisplayName}} diff --git a/data/gitea/templates/shared/user/org_profile_avatar.tmpl b/data/gitea/templates/shared/user/org_profile_avatar.tmpl new file mode 100644 index 0000000..d67f133 --- /dev/null +++ b/data/gitea/templates/shared/user/org_profile_avatar.tmpl @@ -0,0 +1,16 @@ +{{with .ContextUser}} +
    +
    +
    +
    + {{ctx.AvatarUtils.Avatar . 100}} + {{.DisplayName}} + + {{if .Visibility.IsLimited}}
    {{ctx.Locale.Tr "org.settings.visibility.limited_shortname"}}
    {{end}} + {{if .Visibility.IsPrivate}}
    {{ctx.Locale.Tr "org.settings.visibility.private_shortname"}}
    {{end}} +
    +
    +
    +
    +
    +{{end}} diff --git a/data/gitea/templates/shared/user/profile_big_avatar.tmpl b/data/gitea/templates/shared/user/profile_big_avatar.tmpl new file mode 100644 index 0000000..868f8d5 --- /dev/null +++ b/data/gitea/templates/shared/user/profile_big_avatar.tmpl @@ -0,0 +1,143 @@ +
    + +
    + {{if .ContextUser.FullName}}{{.ContextUser.FullName}}{{end}} + {{.ContextUser.Name}} {{if .IsAdmin}} + + {{svg "octicon-gear" 18}} + + {{end}} + +
    +
    +
      + {{if .UserBlocking}} +
    • {{svg "octicon-circle-slash"}} {{ctx.Locale.Tr "user.block.blocked"}}
    • + {{if .UserBlocking.Note}} +
    • {{ctx.Locale.Tr "user.block.note"}}: {{.UserBlocking.Note}}
    • + {{end}} + {{end}} + {{if .ContextUser.Location}} +
    • + {{svg "octicon-location"}} + {{.ContextUser.Location}} + {{if .ContextUserLocationMapURL}} + + {{svg "octicon-link-external"}} + + {{end}} +
    • + {{end}} + {{if (eq .SignedUserID .ContextUser.ID)}} +
    • + {{svg "octicon-mail"}} + {{.ContextUser.Email}} + + {{if .ShowUserEmail}} + + {{svg "octicon-unlock"}} + + {{else}} + + {{svg "octicon-lock"}} + + {{end}} + +
    • + {{else}} + {{if .ShowUserEmail}} +
    • + {{svg "octicon-mail"}} + {{.ContextUser.Email}} +
    • + {{end}} + {{end}} + {{if .ContextUser.Website}} +
    • + {{svg "octicon-link"}} + {{.ContextUser.Website}} +
    • + {{end}} + {{if $.RenderedDescription}} +
    • +
      {{$.RenderedDescription}}
      +
    • + {{end}} + {{range .OpenIDs}} + {{if .Show}} +
    • + {{svg "fontawesome-openid"}} + {{.URI}} +
    • + {{end}} + {{end}} +
    • {{svg "octicon-calendar"}} {{ctx.Locale.Tr "user.joined_on" (DateTime "short" .ContextUser.CreatedUnix)}}
    • + {{if and .Orgs .HasOrgsVisible}} +
    • +
        + {{range .Orgs}} + {{if (or .Visibility.IsPublic (and ($.SignedUser) (or .Visibility.IsLimited (and (.HasMemberWithUserID ctx $.SignedUserID) .Visibility.IsPrivate) ($.IsAdmin))))}} +
      • + + {{ctx.AvatarUtils.Avatar .}} + +
      • + {{end}} + {{end}} +
      +
    • + {{end}} + {{if .Badges}} +
    • +
        + {{range .Badges}} +
      • + {{.Description}} +
      • + {{end}} +
      +
    • + {{end}} + {{if and .IsSigned (ne .SignedUserID .ContextUser.ID)}} + {{if not .UserBlocking}} + + {{end}} +
    • + {{if not .UserBlocking}} + {{ctx.Locale.Tr "user.block.block.user"}} + {{else}} + {{ctx.Locale.Tr "user.block.unblock"}} + {{end}} +
    • + {{end}} +
    +
    +
    + +{{template "shared/user/block_user_dialog" .}} diff --git a/data/gitea/templates/shared/variables/variable_list.tmpl b/data/gitea/templates/shared/variables/variable_list.tmpl new file mode 100644 index 0000000..06c71c0 --- /dev/null +++ b/data/gitea/templates/shared/variables/variable_list.tmpl @@ -0,0 +1,92 @@ +

    + {{ctx.Locale.Tr "actions.variables.management"}} +
    + +
    +

    +
    + {{if .Variables}} +
    + {{range .Variables}} +
    +
    + {{svg "octicon-pencil" 32}} +
    +
    +
    + {{.Name}} +
    +
    + {{.Data}} +
    +
    +
    + + {{ctx.Locale.Tr "settings.added_on" (DateTime "short" .CreatedUnix)}} + + + +
    +
    + {{end}} +
    + {{else}} + {{ctx.Locale.Tr "actions.variables.none"}} + {{end}} +
    + +{{/** Edit variable dialog */}} + + diff --git a/data/gitea/templates/shared/webhook/icon.tmpl b/data/gitea/templates/shared/webhook/icon.tmpl new file mode 100644 index 0000000..0f80787 --- /dev/null +++ b/data/gitea/templates/shared/webhook/icon.tmpl @@ -0,0 +1,27 @@ +{{$size := 26}} +{{if .Size}} + {{$size = .Size}} +{{end}} +{{if eq .HookType "gitea"}} + {{svg "gitea-gitea" $size "img"}} +{{else if eq .HookType "gogs"}} + +{{else if eq .HookType "slack"}} + +{{else if eq .HookType "discord"}} + +{{else if eq .HookType "dingtalk"}} + +{{else if eq .HookType "telegram"}} + +{{else if eq .HookType "msteams"}} + +{{else if eq .HookType "feishu"}} + +{{else if eq .HookType "matrix"}} + {{svg "gitea-matrix" $size "img"}} +{{else if eq .HookType "wechatwork"}} + +{{else if eq .HookType "packagist"}} + +{{end}} diff --git a/data/gitea/templates/status/404.tmpl b/data/gitea/templates/status/404.tmpl new file mode 100644 index 0000000..78f149e --- /dev/null +++ b/data/gitea/templates/status/404.tmpl @@ -0,0 +1,10 @@ +{{template "base/head" .}} +
    + {{if .IsRepo}}{{template "repo/header" .}}{{end}} +
    + 404 +

    {{if .NotFoundPrompt}}{{.NotFoundPrompt}}{{else}}{{ctx.Locale.Tr "error404"}}{{end}}

    + {{if .NotFoundGoBackURL}}{{ctx.Locale.Tr "go_back"}}{{end}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/status/500.tmpl b/data/gitea/templates/status/500.tmpl new file mode 100644 index 0000000..566fddc --- /dev/null +++ b/data/gitea/templates/status/500.tmpl @@ -0,0 +1,68 @@ +{{/* This page should only depend the minimal template functions/variables, to avoid triggering new panics. +* base template functions: AppName, AssetUrlPrefix, AssetVersion, AppSubUrl, UserThemeName +* ctx.Locale +* .Flash +* .ErrorMsg +* .SignedUser (optional) +*/}} + + + + + Internal Server Error - {{AppName}} + + + {{template "base/head_style" .}} + + +
    + +
    +
    +
    + + {{template "base/alert" .}} +
    +

    Internal Server Error

    +
    +
    + {{if .ErrorMsg}} +

    {{ctx.Locale.Tr "error.occurred"}}:

    +
    {{.ErrorMsg}}
    + {{end}} +
    + {{if or .SignedUser.IsAdmin .ShowFooterVersion}}

    {{ctx.Locale.Tr "admin.config.app_ver"}}: {{AppVer}}

    {{end}} + {{if .SignedUser.IsAdmin}}

    {{ctx.Locale.Tr "error.report_message"}}

    {{end}} +
    +
    +
    +
    + + {{/* When a sub-template triggers an 500 error, its parent template has been partially rendered, then the 500 page + will be rendered after that partially rendered page, the HTML/JS are totally broken. Use this inline script to try to move it to main viewport. + And this page shouldn't include any other JS file, avoid duplicate JS execution (still due to the partial rendering).*/}} + + + diff --git a/data/gitea/templates/swagger/ui.tmpl b/data/gitea/templates/swagger/ui.tmpl new file mode 100644 index 0000000..9935ab9 --- /dev/null +++ b/data/gitea/templates/swagger/ui.tmpl @@ -0,0 +1,12 @@ + + + + Gitea API + + + + {{svg "octicon-reply"}}{{ctx.Locale.Tr "return_to_gitea"}} +
    + + + diff --git a/data/gitea/templates/swagger/v1_json.tmpl b/data/gitea/templates/swagger/v1_json.tmpl new file mode 100644 index 0000000..d5c0097 --- /dev/null +++ b/data/gitea/templates/swagger/v1_json.tmpl @@ -0,0 +1,25728 @@ +{ + "consumes": [ + "application/json", + "text/plain" + ], + "produces": [ + "application/json", + "text/html" + ], + "schemes": [ + "https", + "http" + ], + "swagger": "2.0", + "info": { + "description": "This documentation describes the Gitea API.", + "title": "Gitea API", + "license": { + "name": "MIT", + "url": "http://opensource.org/licenses/MIT" + }, + "version": "{{AppVer | JSEscape}}" + }, + "basePath": "{{AppSubUrl | JSEscape}}/api/v1", + "paths": { + "/activitypub/user-id/{user-id}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "activitypub" + ], + "summary": "Returns the Person actor for a user", + "operationId": "activitypubPerson", + "parameters": [ + { + "type": "integer", + "description": "user ID of the user", + "name": "user-id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/ActivityPub" + } + } + } + }, + "/activitypub/user-id/{user-id}/inbox": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "activitypub" + ], + "summary": "Send to the inbox", + "operationId": "activitypubPersonInbox", + "parameters": [ + { + "type": "integer", + "description": "user ID of the user", + "name": "user-id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + } + } + } + }, + "/admin/cron": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "List cron tasks", + "operationId": "adminCronList", + "parameters": [ + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/CronList" + }, + "403": { + "$ref": "#/responses/forbidden" + } + } + } + }, + "/admin/cron/{task}": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Run cron task", + "operationId": "adminCronRun", + "parameters": [ + { + "type": "string", + "description": "task to run", + "name": "task", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/admin/emails": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "List all emails", + "operationId": "adminGetAllEmails", + "parameters": [ + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/EmailList" + }, + "403": { + "$ref": "#/responses/forbidden" + } + } + } + }, + "/admin/emails/search": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Search all emails", + "operationId": "adminSearchEmails", + "parameters": [ + { + "type": "string", + "description": "keyword", + "name": "q", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/EmailList" + }, + "403": { + "$ref": "#/responses/forbidden" + } + } + } + }, + "/admin/hooks": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "List system's webhooks", + "operationId": "adminListHooks", + "parameters": [ + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/HookList" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Create a hook", + "operationId": "adminCreateHook", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateHookOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Hook" + } + } + } + }, + "/admin/hooks/{id}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Get a hook", + "operationId": "adminGetHook", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "id of the hook to get", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Hook" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Delete a hook", + "operationId": "adminDeleteHook", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "id of the hook to delete", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + } + } + }, + "patch": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Update a hook", + "operationId": "adminEditHook", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "id of the hook to update", + "name": "id", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/EditHookOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Hook" + } + } + } + }, + "/admin/orgs": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "List all organizations", + "operationId": "adminGetAllOrgs", + "parameters": [ + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/OrganizationList" + }, + "403": { + "$ref": "#/responses/forbidden" + } + } + } + }, + "/admin/runners/registration-token": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Get an global actions runner registration token", + "operationId": "adminGetRunnerRegistrationToken", + "responses": { + "200": { + "$ref": "#/responses/RegistrationToken" + } + } + } + }, + "/admin/unadopted": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "List unadopted repositories", + "operationId": "adminUnadoptedList", + "parameters": [ + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "pattern of repositories to search for", + "name": "pattern", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/StringSlice" + }, + "403": { + "$ref": "#/responses/forbidden" + } + } + } + }, + "/admin/unadopted/{owner}/{repo}": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Adopt unadopted files as a repository", + "operationId": "adminAdoptRepository", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Delete unadopted files", + "operationId": "adminDeleteUnadoptedRepository", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + } + } + } + }, + "/admin/users": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Search users according filter conditions", + "operationId": "adminSearchUsers", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "ID of the user's login source to search for", + "name": "source_id", + "in": "query" + }, + { + "type": "string", + "description": "user's login name to search for", + "name": "login_name", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/UserList" + }, + "403": { + "$ref": "#/responses/forbidden" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Create a user", + "operationId": "adminCreateUser", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateUserOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/User" + }, + "400": { + "$ref": "#/responses/error" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/admin/users/{username}": { + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Delete a user", + "operationId": "adminDeleteUser", + "parameters": [ + { + "type": "string", + "description": "username of user to delete", + "name": "username", + "in": "path", + "required": true + }, + { + "type": "boolean", + "description": "purge the user from the system completely", + "name": "purge", + "in": "query" + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + }, + "patch": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Edit an existing user", + "operationId": "adminEditUser", + "parameters": [ + { + "type": "string", + "description": "username of user to edit", + "name": "username", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/EditUserOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/User" + }, + "400": { + "$ref": "#/responses/error" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/admin/users/{username}/badges": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "List a user's badges", + "operationId": "adminListUserBadges", + "parameters": [ + { + "type": "string", + "description": "username of user", + "name": "username", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/BadgeList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Add a badge to a user", + "operationId": "adminAddUserBadges", + "parameters": [ + { + "type": "string", + "description": "username of user", + "name": "username", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/UserBadgeOption" + } + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Remove a badge from a user", + "operationId": "adminDeleteUserBadges", + "parameters": [ + { + "type": "string", + "description": "username of user", + "name": "username", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/UserBadgeOption" + } + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/admin/users/{username}/keys": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Add a public key on behalf of a user", + "operationId": "adminCreatePublicKey", + "parameters": [ + { + "type": "string", + "description": "username of the user", + "name": "username", + "in": "path", + "required": true + }, + { + "name": "key", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateKeyOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/PublicKey" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/admin/users/{username}/keys/{id}": { + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Delete a user's public key", + "operationId": "adminDeleteUserPublicKey", + "parameters": [ + { + "type": "string", + "description": "username of user", + "name": "username", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the key to delete", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/admin/users/{username}/orgs": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Create an organization", + "operationId": "adminCreateOrg", + "parameters": [ + { + "type": "string", + "description": "username of the user that will own the created organization", + "name": "username", + "in": "path", + "required": true + }, + { + "name": "organization", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateOrgOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Organization" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/admin/users/{username}/rename": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Rename a user", + "operationId": "adminRenameUser", + "parameters": [ + { + "type": "string", + "description": "existing username of user", + "name": "username", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RenameUserOption" + } + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/admin/users/{username}/repos": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Create a repository on behalf of a user", + "operationId": "adminCreateRepo", + "parameters": [ + { + "type": "string", + "description": "username of the user. This user will own the created repository", + "name": "username", + "in": "path", + "required": true + }, + { + "name": "repository", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateRepoOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Repository" + }, + "400": { + "$ref": "#/responses/error" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "409": { + "$ref": "#/responses/error" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/gitignore/templates": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "miscellaneous" + ], + "summary": "Returns a list of all gitignore templates", + "operationId": "listGitignoresTemplates", + "responses": { + "200": { + "$ref": "#/responses/GitignoreTemplateList" + } + } + } + }, + "/gitignore/templates/{name}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "miscellaneous" + ], + "summary": "Returns information about a gitignore template", + "operationId": "getGitignoreTemplateInfo", + "parameters": [ + { + "type": "string", + "description": "name of the template", + "name": "name", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/GitignoreTemplateInfo" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/label/templates": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "miscellaneous" + ], + "summary": "Returns a list of all label templates", + "operationId": "listLabelTemplates", + "responses": { + "200": { + "$ref": "#/responses/LabelTemplateList" + } + } + } + }, + "/label/templates/{name}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "miscellaneous" + ], + "summary": "Returns all labels in a template", + "operationId": "getLabelTemplateInfo", + "parameters": [ + { + "type": "string", + "description": "name of the template", + "name": "name", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/LabelTemplateInfo" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/licenses": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "miscellaneous" + ], + "summary": "Returns a list of all license templates", + "operationId": "listLicenseTemplates", + "responses": { + "200": { + "$ref": "#/responses/LicenseTemplateList" + } + } + } + }, + "/licenses/{name}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "miscellaneous" + ], + "summary": "Returns information about a license template", + "operationId": "getLicenseTemplateInfo", + "parameters": [ + { + "type": "string", + "description": "name of the license", + "name": "name", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/LicenseTemplateInfo" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/markdown": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "text/html" + ], + "tags": [ + "miscellaneous" + ], + "summary": "Render a markdown document as HTML", + "operationId": "renderMarkdown", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/MarkdownOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/MarkdownRender" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/markdown/raw": { + "post": { + "consumes": [ + "text/plain" + ], + "produces": [ + "text/html" + ], + "tags": [ + "miscellaneous" + ], + "summary": "Render raw markdown as HTML", + "operationId": "renderMarkdownRaw", + "parameters": [ + { + "description": "Request body to render", + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/MarkdownRender" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/markup": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "text/html" + ], + "tags": [ + "miscellaneous" + ], + "summary": "Render a markup document as HTML", + "operationId": "renderMarkup", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/MarkupOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/MarkupRender" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/nodeinfo": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "miscellaneous" + ], + "summary": "Returns the nodeinfo of the Gitea application", + "operationId": "getNodeInfo", + "responses": { + "200": { + "$ref": "#/responses/NodeInfo" + } + } + } + }, + "/notifications": { + "get": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "notification" + ], + "summary": "List users's notification threads", + "operationId": "notifyGetList", + "parameters": [ + { + "type": "boolean", + "description": "If true, show notifications marked as read. Default value is false", + "name": "all", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "description": "Show notifications with the provided status types. Options are: unread, read and/or pinned. Defaults to unread \u0026 pinned.", + "name": "status-types", + "in": "query" + }, + { + "type": "array", + "items": { + "enum": [ + "issue", + "pull", + "commit", + "repository" + ], + "type": "string" + }, + "collectionFormat": "multi", + "description": "filter notifications by subject type", + "name": "subject-type", + "in": "query" + }, + { + "type": "string", + "format": "date-time", + "description": "Only show notifications updated after the given time. This is a timestamp in RFC 3339 format", + "name": "since", + "in": "query" + }, + { + "type": "string", + "format": "date-time", + "description": "Only show notifications updated before the given time. This is a timestamp in RFC 3339 format", + "name": "before", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/NotificationThreadList" + } + } + }, + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "notification" + ], + "summary": "Mark notification threads as read, pinned or unread", + "operationId": "notifyReadList", + "parameters": [ + { + "type": "string", + "format": "date-time", + "description": "Describes the last point that notifications were checked. Anything updated since this time will not be updated.", + "name": "last_read_at", + "in": "query" + }, + { + "type": "string", + "description": "If true, mark all notifications on this repo. Default value is false", + "name": "all", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "description": "Mark notifications with the provided status types. Options are: unread, read and/or pinned. Defaults to unread.", + "name": "status-types", + "in": "query" + }, + { + "type": "string", + "description": "Status to mark notifications as, Defaults to read.", + "name": "to-status", + "in": "query" + } + ], + "responses": { + "205": { + "$ref": "#/responses/NotificationThreadList" + } + } + } + }, + "/notifications/new": { + "get": { + "tags": [ + "notification" + ], + "summary": "Check if unread notifications exist", + "operationId": "notifyNewAvailable", + "responses": { + "200": { + "$ref": "#/responses/NotificationCount" + } + } + } + }, + "/notifications/threads/{id}": { + "get": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "notification" + ], + "summary": "Get notification thread by ID", + "operationId": "notifyGetThread", + "parameters": [ + { + "type": "string", + "description": "id of notification thread", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/NotificationThread" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "patch": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "notification" + ], + "summary": "Mark notification thread as read by ID", + "operationId": "notifyReadThread", + "parameters": [ + { + "type": "string", + "description": "id of notification thread", + "name": "id", + "in": "path", + "required": true + }, + { + "type": "string", + "default": "read", + "description": "Status to mark notifications as", + "name": "to-status", + "in": "query" + } + ], + "responses": { + "205": { + "$ref": "#/responses/NotificationThread" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/org/{org}/repos": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Create a repository in an organization", + "operationId": "createOrgRepoDeprecated", + "deprecated": true, + "parameters": [ + { + "type": "string", + "description": "name of organization", + "name": "org", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateRepoOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Repository" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/orgs": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Get list of organizations", + "operationId": "orgGetAll", + "parameters": [ + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/OrganizationList" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Create an organization", + "operationId": "orgCreate", + "parameters": [ + { + "name": "organization", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateOrgOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Organization" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/orgs/{org}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Get an organization", + "operationId": "orgGet", + "parameters": [ + { + "type": "string", + "description": "name of the organization to get", + "name": "org", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Organization" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Delete an organization", + "operationId": "orgDelete", + "parameters": [ + { + "type": "string", + "description": "organization that is to be deleted", + "name": "org", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "patch": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Edit an organization", + "operationId": "orgEdit", + "parameters": [ + { + "type": "string", + "description": "name of the organization to edit", + "name": "org", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EditOrgOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Organization" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/orgs/{org}/actions/runners/registration-token": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Get an organization's actions runner registration token", + "operationId": "orgGetRunnerRegistrationToken", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/RegistrationToken" + } + } + } + }, + "/orgs/{org}/actions/secrets": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "List an organization's actions secrets", + "operationId": "orgListActionsSecrets", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/SecretList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/orgs/{org}/actions/secrets/{secretname}": { + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Create or Update a secret value in an organization", + "operationId": "updateOrgSecret", + "parameters": [ + { + "type": "string", + "description": "name of organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the secret", + "name": "secretname", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateOrUpdateSecretOption" + } + } + ], + "responses": { + "201": { + "description": "response when creating a secret" + }, + "204": { + "description": "response when updating a secret" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Delete a secret in an organization", + "operationId": "deleteOrgSecret", + "parameters": [ + { + "type": "string", + "description": "name of organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the secret", + "name": "secretname", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "delete one secret of the organization" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/orgs/{org}/actions/variables": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Get an org-level variables list", + "operationId": "getOrgVariablesList", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/VariableList" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/orgs/{org}/actions/variables/{variablename}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Get an org-level variable", + "operationId": "getOrgVariable", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the variable", + "name": "variablename", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/ActionVariable" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Update an org-level variable", + "operationId": "updateOrgVariable", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the variable", + "name": "variablename", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/UpdateVariableOption" + } + } + ], + "responses": { + "201": { + "description": "response when updating an org-level variable" + }, + "204": { + "description": "response when updating an org-level variable" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Create an org-level variable", + "operationId": "createOrgVariable", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the variable", + "name": "variablename", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateVariableOption" + } + } + ], + "responses": { + "201": { + "description": "response when creating an org-level variable" + }, + "204": { + "description": "response when creating an org-level variable" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Delete an org-level variable", + "operationId": "deleteOrgVariable", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the variable", + "name": "variablename", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/ActionVariable" + }, + "201": { + "description": "response when deleting a variable" + }, + "204": { + "description": "response when deleting a variable" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/orgs/{org}/activities/feeds": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "List an organization's activity feeds", + "operationId": "orgListActivityFeeds", + "parameters": [ + { + "type": "string", + "description": "name of the org", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "date", + "description": "the date of the activities to be found", + "name": "date", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/ActivityFeedsList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/orgs/{org}/avatar": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Update Avatar", + "operationId": "orgUpdateAvatar", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/UpdateUserAvatarOption" + } + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Delete Avatar", + "operationId": "orgDeleteAvatar", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/orgs/{org}/blocks": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "List users blocked by the organization", + "operationId": "organizationListBlocks", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/UserList" + } + } + } + }, + "/orgs/{org}/blocks/{username}": { + "get": { + "tags": [ + "organization" + ], + "summary": "Check if a user is blocked by the organization", + "operationId": "organizationCheckUserBlock", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "user to check", + "name": "username", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "put": { + "tags": [ + "organization" + ], + "summary": "Block a user", + "operationId": "organizationBlockUser", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "user to block", + "name": "username", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "optional note for the block", + "name": "note", + "in": "query" + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + }, + "delete": { + "tags": [ + "organization" + ], + "summary": "Unblock a user", + "operationId": "organizationUnblockUser", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "user to unblock", + "name": "username", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/orgs/{org}/hooks": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "List an organization's webhooks", + "operationId": "orgListHooks", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/HookList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Create a hook", + "operationId": "orgCreateHook", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateHookOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Hook" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/orgs/{org}/hooks/{id}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Get a hook", + "operationId": "orgGetHook", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the hook to get", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Hook" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Delete a hook", + "operationId": "orgDeleteHook", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the hook to delete", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "patch": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Update a hook", + "operationId": "orgEditHook", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the hook to update", + "name": "id", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/EditHookOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Hook" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/orgs/{org}/labels": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "List an organization's labels", + "operationId": "orgListLabels", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/LabelList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Create a label for an organization", + "operationId": "orgCreateLabel", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateLabelOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Label" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/orgs/{org}/labels/{id}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Get a single label", + "operationId": "orgGetLabel", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the label to get", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Label" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "tags": [ + "organization" + ], + "summary": "Delete a label", + "operationId": "orgDeleteLabel", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the label to delete", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "patch": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Update a label", + "operationId": "orgEditLabel", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the label to edit", + "name": "id", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/EditLabelOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Label" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/orgs/{org}/members": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "List an organization's members", + "operationId": "orgListMembers", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/UserList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/orgs/{org}/members/{username}": { + "get": { + "tags": [ + "organization" + ], + "summary": "Check if a user is a member of an organization", + "operationId": "orgIsMember", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "username of the user", + "name": "username", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "user is a member" + }, + "303": { + "description": "redirection to /orgs/{org}/public_members/{username}" + }, + "404": { + "description": "user is not a member" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Remove a member from an organization", + "operationId": "orgDeleteMember", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "username of the user", + "name": "username", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "member removed" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/orgs/{org}/public_members": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "List an organization's public members", + "operationId": "orgListPublicMembers", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/UserList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/orgs/{org}/public_members/{username}": { + "get": { + "tags": [ + "organization" + ], + "summary": "Check if a user is a public member of an organization", + "operationId": "orgIsPublicMember", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "username of the user", + "name": "username", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "user is a public member" + }, + "404": { + "description": "user is not a public member" + } + } + }, + "put": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Publicize a user's membership", + "operationId": "orgPublicizeMember", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "username of the user", + "name": "username", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "membership publicized" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Conceal a user's membership", + "operationId": "orgConcealMember", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "username of the user", + "name": "username", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/orgs/{org}/repos": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "List an organization's repos", + "operationId": "orgListRepos", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/RepositoryList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Create a repository in an organization", + "operationId": "createOrgRepo", + "parameters": [ + { + "type": "string", + "description": "name of organization", + "name": "org", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateRepoOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Repository" + }, + "400": { + "$ref": "#/responses/error" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/orgs/{org}/teams": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "List an organization's teams", + "operationId": "orgListTeams", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/TeamList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Create a team", + "operationId": "orgCreateTeam", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateTeamOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Team" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/orgs/{org}/teams/search": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Search for teams within an organization", + "operationId": "teamSearch", + "parameters": [ + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "keywords to search", + "name": "q", + "in": "query" + }, + { + "type": "boolean", + "description": "include search within team description (defaults to true)", + "name": "include_desc", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "description": "SearchResults of a successful search", + "schema": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/Team" + } + }, + "ok": { + "type": "boolean" + } + } + } + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/packages/{owner}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "package" + ], + "summary": "Gets all packages of an owner", + "operationId": "listPackages", + "parameters": [ + { + "type": "string", + "description": "owner of the packages", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + }, + { + "enum": [ + "alpine", + "cargo", + "chef", + "composer", + "conan", + "conda", + "container", + "cran", + "debian", + "generic", + "go", + "helm", + "maven", + "npm", + "nuget", + "pub", + "pypi", + "rpm", + "rubygems", + "swift", + "vagrant" + ], + "type": "string", + "description": "package type filter", + "name": "type", + "in": "query" + }, + { + "type": "string", + "description": "name filter", + "name": "q", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/PackageList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/packages/{owner}/{type}/{name}/{version}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "package" + ], + "summary": "Gets a package", + "operationId": "getPackage", + "parameters": [ + { + "type": "string", + "description": "owner of the package", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "type of the package", + "name": "type", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the package", + "name": "name", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "version of the package", + "name": "version", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Package" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "tags": [ + "package" + ], + "summary": "Delete a package", + "operationId": "deletePackage", + "parameters": [ + { + "type": "string", + "description": "owner of the package", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "type of the package", + "name": "type", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the package", + "name": "name", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "version of the package", + "name": "version", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/packages/{owner}/{type}/{name}/{version}/files": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "package" + ], + "summary": "Gets all files of a package", + "operationId": "listPackageFiles", + "parameters": [ + { + "type": "string", + "description": "owner of the package", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "type of the package", + "name": "type", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the package", + "name": "name", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "version of the package", + "name": "version", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/PackageFileList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/issues/search": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Search for issues across the repositories that the user has access to", + "operationId": "issueSearchIssues", + "parameters": [ + { + "type": "string", + "description": "whether issue is open or closed", + "name": "state", + "in": "query" + }, + { + "type": "string", + "description": "comma separated list of labels. Fetch only issues that have any of this labels. Non existent labels are discarded", + "name": "labels", + "in": "query" + }, + { + "type": "string", + "description": "comma separated list of milestone names. Fetch only issues that have any of this milestones. Non existent are discarded", + "name": "milestones", + "in": "query" + }, + { + "type": "string", + "description": "search string", + "name": "q", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "description": "repository to prioritize in the results", + "name": "priority_repo_id", + "in": "query" + }, + { + "type": "string", + "description": "filter by type (issues / pulls) if set", + "name": "type", + "in": "query" + }, + { + "type": "string", + "format": "date-time", + "description": "Only show notifications updated after the given time. This is a timestamp in RFC 3339 format", + "name": "since", + "in": "query" + }, + { + "type": "string", + "format": "date-time", + "description": "Only show notifications updated before the given time. This is a timestamp in RFC 3339 format", + "name": "before", + "in": "query" + }, + { + "type": "boolean", + "description": "filter (issues / pulls) assigned to you, default is false", + "name": "assigned", + "in": "query" + }, + { + "type": "boolean", + "description": "filter (issues / pulls) created by you, default is false", + "name": "created", + "in": "query" + }, + { + "type": "boolean", + "description": "filter (issues / pulls) mentioning you, default is false", + "name": "mentioned", + "in": "query" + }, + { + "type": "boolean", + "description": "filter pulls requesting your review, default is false", + "name": "review_requested", + "in": "query" + }, + { + "type": "boolean", + "description": "filter pulls reviewed by you, default is false", + "name": "reviewed", + "in": "query" + }, + { + "type": "string", + "description": "filter by owner", + "name": "owner", + "in": "query" + }, + { + "type": "string", + "description": "filter by team (requires organization owner parameter to be provided)", + "name": "team", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/IssueList" + } + } + } + }, + "/repos/migrate": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Migrate a remote git repository", + "operationId": "repoMigrate", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/MigrateRepoOptions" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Repository" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "409": { + "description": "The repository with the same name already exists." + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/repos/search": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Search for repositories", + "operationId": "repoSearch", + "parameters": [ + { + "type": "string", + "description": "keyword", + "name": "q", + "in": "query" + }, + { + "type": "boolean", + "description": "Limit search to repositories with keyword as topic", + "name": "topic", + "in": "query" + }, + { + "type": "boolean", + "description": "include search of keyword within repository description", + "name": "includeDesc", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "description": "search only for repos that the user with the given id owns or contributes to", + "name": "uid", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "description": "repo owner to prioritize in the results", + "name": "priority_owner_id", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "description": "search only for repos that belong to the given team id", + "name": "team_id", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "description": "search only for repos that the user with the given id has starred", + "name": "starredBy", + "in": "query" + }, + { + "type": "boolean", + "description": "include private repositories this user has access to (defaults to true)", + "name": "private", + "in": "query" + }, + { + "type": "boolean", + "description": "show only pubic, private or all repositories (defaults to all)", + "name": "is_private", + "in": "query" + }, + { + "type": "boolean", + "description": "include template repositories this user has access to (defaults to true)", + "name": "template", + "in": "query" + }, + { + "type": "boolean", + "description": "show only archived, non-archived or all repositories (defaults to all)", + "name": "archived", + "in": "query" + }, + { + "type": "string", + "description": "type of repository to search for. Supported values are \"fork\", \"source\", \"mirror\" and \"collaborative\"", + "name": "mode", + "in": "query" + }, + { + "type": "boolean", + "description": "if `uid` is given, search only for repos that the user owns", + "name": "exclusive", + "in": "query" + }, + { + "type": "string", + "description": "sort repos by attribute. Supported values are \"alpha\", \"created\", \"updated\", \"size\", and \"id\". Default is \"alpha\"", + "name": "sort", + "in": "query" + }, + { + "type": "string", + "description": "sort order, either \"asc\" (ascending) or \"desc\" (descending). Default is \"asc\", ignored if \"sort\" is not specified.", + "name": "order", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/SearchResults" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/repos/{owner}/{repo}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get a repository", + "operationId": "repoGet", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Repository" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Delete a repository", + "operationId": "repoDelete", + "parameters": [ + { + "type": "string", + "description": "owner of the repo to delete", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo to delete", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "patch": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Edit a repository's properties. Only fields that are set will be changed.", + "operationId": "repoEdit", + "parameters": [ + { + "type": "string", + "description": "owner of the repo to edit", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo to edit", + "name": "repo", + "in": "path", + "required": true + }, + { + "description": "Properties of a repo that you can edit", + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/EditRepoOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Repository" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/repos/{owner}/{repo}/actions/runners/registration-token": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get a repository's actions runner registration token", + "operationId": "repoGetRunnerRegistrationToken", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/RegistrationToken" + } + } + } + }, + "/repos/{owner}/{repo}/actions/secrets": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "List an repo's actions secrets", + "operationId": "repoListActionsSecrets", + "parameters": [ + { + "type": "string", + "description": "owner of the repository", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repository", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/SecretList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/actions/secrets/{secretname}": { + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Create or Update a secret value in a repository", + "operationId": "updateRepoSecret", + "parameters": [ + { + "type": "string", + "description": "owner of the repository", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repository", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the secret", + "name": "secretname", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateOrUpdateSecretOption" + } + } + ], + "responses": { + "201": { + "description": "response when creating a secret" + }, + "204": { + "description": "response when updating a secret" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Delete a secret in a repository", + "operationId": "deleteRepoSecret", + "parameters": [ + { + "type": "string", + "description": "owner of the repository", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repository", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the secret", + "name": "secretname", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "delete one secret of the organization" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/actions/variables": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get repo-level variables list", + "operationId": "getRepoVariablesList", + "parameters": [ + { + "type": "string", + "description": "name of the owner", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repository", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/VariableList" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/actions/variables/{variablename}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get a repo-level variable", + "operationId": "getRepoVariable", + "parameters": [ + { + "type": "string", + "description": "name of the owner", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repository", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the variable", + "name": "variablename", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/ActionVariable" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "put": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Update a repo-level variable", + "operationId": "updateRepoVariable", + "parameters": [ + { + "type": "string", + "description": "name of the owner", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repository", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the variable", + "name": "variablename", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/UpdateVariableOption" + } + } + ], + "responses": { + "201": { + "description": "response when updating a repo-level variable" + }, + "204": { + "description": "response when updating a repo-level variable" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Create a repo-level variable", + "operationId": "createRepoVariable", + "parameters": [ + { + "type": "string", + "description": "name of the owner", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repository", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the variable", + "name": "variablename", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateVariableOption" + } + } + ], + "responses": { + "201": { + "description": "response when creating a repo-level variable" + }, + "204": { + "description": "response when creating a repo-level variable" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Delete a repo-level variable", + "operationId": "deleteRepoVariable", + "parameters": [ + { + "type": "string", + "description": "name of the owner", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repository", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the variable", + "name": "variablename", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/ActionVariable" + }, + "201": { + "description": "response when deleting a variable" + }, + "204": { + "description": "response when deleting a variable" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/activities/feeds": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "List a repository's activity feeds", + "operationId": "repoListActivityFeeds", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "date", + "description": "the date of the activities to be found", + "name": "date", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/ActivityFeedsList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/archive/{archive}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get an archive of a repository", + "operationId": "repoGetArchive", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "the git reference for download with attached archive format (e.g. master.zip)", + "name": "archive", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "success" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/assignees": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Return all users that have write access and can be assigned to issues", + "operationId": "repoGetAssignees", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/UserList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/avatar": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Update avatar", + "operationId": "repoUpdateAvatar", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/UpdateRepoAvatarOption" + } + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Delete avatar", + "operationId": "repoDeleteAvatar", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/branch_protections": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "List branch protections for a repository", + "operationId": "repoListBranchProtection", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/BranchProtectionList" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Create a branch protections for a repository", + "operationId": "repoCreateBranchProtection", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateBranchProtectionOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/BranchProtection" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + } + }, + "/repos/{owner}/{repo}/branch_protections/{name}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get a specific branch protection for the repository", + "operationId": "repoGetBranchProtection", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of protected branch", + "name": "name", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/BranchProtection" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Delete a specific branch protection for the repository", + "operationId": "repoDeleteBranchProtection", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of protected branch", + "name": "name", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "patch": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Edit a branch protections for a repository. Only fields that are set will be changed", + "operationId": "repoEditBranchProtection", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of protected branch", + "name": "name", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/EditBranchProtectionOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/BranchProtection" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + } + }, + "/repos/{owner}/{repo}/branches": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "List a repository's branches", + "operationId": "repoListBranches", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/BranchList" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Create a branch", + "operationId": "repoCreateBranch", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateBranchRepoOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Branch" + }, + "403": { + "description": "The branch is archived or a mirror." + }, + "404": { + "description": "The old branch does not exist." + }, + "409": { + "description": "The branch with the same name already exists." + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + } + }, + "/repos/{owner}/{repo}/branches/{branch}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Retrieve a specific branch from a repository, including its effective branch protection", + "operationId": "repoGetBranch", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "branch to get", + "name": "branch", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Branch" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Delete a specific branch from a repository", + "operationId": "repoDeleteBranch", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "branch to delete", + "name": "branch", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + } + }, + "/repos/{owner}/{repo}/collaborators": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "List a repository's collaborators", + "operationId": "repoListCollaborators", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/UserList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/collaborators/{collaborator}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Check if a user is a collaborator of a repository", + "operationId": "repoCheckCollaborator", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "username of the collaborator", + "name": "collaborator", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + }, + "put": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Add a collaborator to a repository", + "operationId": "repoAddCollaborator", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "username of the collaborator to add", + "name": "collaborator", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/AddCollaboratorOption" + } + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Delete a collaborator from a repository", + "operationId": "repoDeleteCollaborator", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "username of the collaborator to delete", + "name": "collaborator", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/repos/{owner}/{repo}/collaborators/{collaborator}/permission": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get repository permissions for a user", + "operationId": "repoGetRepoPermissions", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "username of the collaborator", + "name": "collaborator", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/RepoCollaboratorPermission" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/commits": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get a list of all commits from a repository", + "operationId": "repoGetAllCommits", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "SHA or branch to start listing commits from (usually 'master')", + "name": "sha", + "in": "query" + }, + { + "type": "string", + "description": "filepath of a file/dir", + "name": "path", + "in": "query" + }, + { + "type": "boolean", + "description": "include diff stats for every commit (disable for speedup, default 'true')", + "name": "stat", + "in": "query" + }, + { + "type": "boolean", + "description": "include verification for every commit (disable for speedup, default 'true')", + "name": "verification", + "in": "query" + }, + { + "type": "boolean", + "description": "include a list of affected files for every commit (disable for speedup, default 'true')", + "name": "files", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results (ignored if used with 'path')", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "commits that match the given specifier will not be listed.", + "name": "not", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/CommitList" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "409": { + "$ref": "#/responses/EmptyRepository" + } + } + } + }, + "/repos/{owner}/{repo}/commits/{ref}/status": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get a commit's combined status, by branch/tag/commit reference", + "operationId": "repoGetCombinedStatusByRef", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of branch/tag/commit", + "name": "ref", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/CombinedStatus" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/commits/{ref}/statuses": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get a commit's statuses, by branch/tag/commit reference", + "operationId": "repoListStatusesByRef", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of branch/tag/commit", + "name": "ref", + "in": "path", + "required": true + }, + { + "enum": [ + "oldest", + "recentupdate", + "leastupdate", + "leastindex", + "highestindex" + ], + "type": "string", + "description": "type of sort", + "name": "sort", + "in": "query" + }, + { + "enum": [ + "pending", + "success", + "error", + "failure", + "warning" + ], + "type": "string", + "description": "type of state", + "name": "state", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/CommitStatusList" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/commits/{sha}/pull": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get the merged pull request of the commit", + "operationId": "repoGetCommitPullRequest", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "SHA of the commit to get", + "name": "sha", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/PullRequest" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/compare/{basehead}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get commit comparison information", + "operationId": "repoCompareDiff", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "compare two branches or commits", + "name": "basehead", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Compare" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/contents": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Gets the metadata of all the entries of the root dir", + "operationId": "repoGetContentsList", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "The name of the commit/branch/tag. Default the repository’s default branch (usually master)", + "name": "ref", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/ContentsListResponse" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Modify multiple files in a repository", + "operationId": "repoChangeFiles", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ChangeFilesOptions" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/FilesResponse" + }, + "403": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/error" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + } + }, + "/repos/{owner}/{repo}/contents/{filepath}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Gets the metadata and contents (if a file) of an entry in a repository, or a list of entries if a dir", + "operationId": "repoGetContents", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "path of the dir, file, symlink or submodule in the repo", + "name": "filepath", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "The name of the commit/branch/tag. Default the repository’s default branch (usually master)", + "name": "ref", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/ContentsResponse" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Update a file in a repository", + "operationId": "repoUpdateFile", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "path of the file to update", + "name": "filepath", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateFileOptions" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/FileResponse" + }, + "403": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/error" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Create a file in a repository", + "operationId": "repoCreateFile", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "path of the file to create", + "name": "filepath", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateFileOptions" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/FileResponse" + }, + "403": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/error" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + }, + "delete": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Delete a file in a repository", + "operationId": "repoDeleteFile", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "path of the file to delete", + "name": "filepath", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DeleteFileOptions" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/FileDeleteResponse" + }, + "400": { + "$ref": "#/responses/error" + }, + "403": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/error" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + } + }, + "/repos/{owner}/{repo}/diffpatch": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Apply diff patch to repository", + "operationId": "repoApplyDiffPatch", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateFileOptions" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/FileResponse" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + } + }, + "/repos/{owner}/{repo}/editorconfig/{filepath}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get the EditorConfig definitions of a file in a repository", + "operationId": "repoGetEditorConfig", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "filepath of file to get", + "name": "filepath", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "The name of the commit/branch/tag. Default the repository’s default branch (usually master)", + "name": "ref", + "in": "query" + } + ], + "responses": { + "200": { + "description": "success" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/forks": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "List a repository's forks", + "operationId": "listForks", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/RepositoryList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Fork a repository", + "operationId": "createFork", + "parameters": [ + { + "type": "string", + "description": "owner of the repo to fork", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo to fork", + "name": "repo", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateForkOption" + } + } + ], + "responses": { + "202": { + "$ref": "#/responses/Repository" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "409": { + "description": "The repository with the same name already exists." + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/repos/{owner}/{repo}/git/blobs/{sha}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Gets the blob of a repository.", + "operationId": "GetBlob", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "sha of the commit", + "name": "sha", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/GitBlobResponse" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/git/commits/{sha}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get a single commit from a repository", + "operationId": "repoGetSingleCommit", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "a git ref or commit sha", + "name": "sha", + "in": "path", + "required": true + }, + { + "type": "boolean", + "description": "include diff stats for every commit (disable for speedup, default 'true')", + "name": "stat", + "in": "query" + }, + { + "type": "boolean", + "description": "include verification for every commit (disable for speedup, default 'true')", + "name": "verification", + "in": "query" + }, + { + "type": "boolean", + "description": "include a list of affected files for every commit (disable for speedup, default 'true')", + "name": "files", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Commit" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/repos/{owner}/{repo}/git/commits/{sha}.{diffType}": { + "get": { + "produces": [ + "text/plain" + ], + "tags": [ + "repository" + ], + "summary": "Get a commit's diff or patch", + "operationId": "repoDownloadCommitDiffOrPatch", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "SHA of the commit to get", + "name": "sha", + "in": "path", + "required": true + }, + { + "enum": [ + "diff", + "patch" + ], + "type": "string", + "description": "whether the output is diff or patch", + "name": "diffType", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/string" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/git/notes/{sha}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get a note corresponding to a single commit from a repository", + "operationId": "repoGetNote", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "a git ref or commit sha", + "name": "sha", + "in": "path", + "required": true + }, + { + "type": "boolean", + "description": "include verification for every commit (disable for speedup, default 'true')", + "name": "verification", + "in": "query" + }, + { + "type": "boolean", + "description": "include a list of affected files for every commit (disable for speedup, default 'true')", + "name": "files", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/Note" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/repos/{owner}/{repo}/git/refs": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get specified ref or filtered repository's refs", + "operationId": "repoListAllGitRefs", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/ReferenceList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/git/refs/{ref}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get specified ref or filtered repository's refs", + "operationId": "repoListGitRefs", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "part or full name of the ref", + "name": "ref", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/ReferenceList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/git/tags/{sha}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Gets the tag object of an annotated tag (not lightweight tags)", + "operationId": "GetAnnotatedTag", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "sha of the tag. The Git tags API only supports annotated tag objects, not lightweight tags.", + "name": "sha", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/AnnotatedTag" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/git/trees/{sha}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Gets the tree of a repository.", + "operationId": "GetTree", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "sha of the commit", + "name": "sha", + "in": "path", + "required": true + }, + { + "type": "boolean", + "description": "show all directories and files", + "name": "recursive", + "in": "query" + }, + { + "type": "integer", + "description": "page number; the 'truncated' field in the response will be true if there are still more items after this page, false if the last page", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "number of items per page", + "name": "per_page", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/GitTreeResponse" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/hooks": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "List the hooks in a repository", + "operationId": "repoListHooks", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/HookList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Create a hook", + "operationId": "repoCreateHook", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateHookOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Hook" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/hooks/git": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "List the Git hooks in a repository", + "operationId": "repoListGitHooks", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/GitHookList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/hooks/git/{id}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get a Git hook", + "operationId": "repoGetGitHook", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "id of the hook to get", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/GitHook" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Delete a Git hook in a repository", + "operationId": "repoDeleteGitHook", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "id of the hook to get", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "patch": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Edit a Git hook in a repository", + "operationId": "repoEditGitHook", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "id of the hook to get", + "name": "id", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/EditGitHookOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/GitHook" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/hooks/{id}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get a hook", + "operationId": "repoGetHook", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the hook to get", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Hook" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Delete a hook in a repository", + "operationId": "repoDeleteHook", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the hook to delete", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "patch": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Edit a hook in a repository", + "operationId": "repoEditHook", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the hook", + "name": "id", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/EditHookOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Hook" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/hooks/{id}/tests": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Test a push webhook", + "operationId": "repoTestHook", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the hook to test", + "name": "id", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "The name of the commit/branch/tag, indicates which commit will be loaded to the webhook payload.", + "name": "ref", + "in": "query" + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/issue_config": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Returns the issue config for a repo", + "operationId": "repoGetIssueConfig", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/RepoIssueConfig" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/issue_config/validate": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Returns the validation information for a issue config", + "operationId": "repoValidateIssueConfig", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/RepoIssueConfigValidation" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/issue_templates": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get available issue templates for a repository", + "operationId": "repoGetIssueTemplates", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/IssueTemplates" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/issues": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "List a repository's issues", + "operationId": "issueListIssues", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "enum": [ + "closed", + "open", + "all" + ], + "type": "string", + "description": "whether issue is open or closed", + "name": "state", + "in": "query" + }, + { + "type": "string", + "description": "comma separated list of labels. Fetch only issues that have any of this labels. Non existent labels are discarded", + "name": "labels", + "in": "query" + }, + { + "type": "string", + "description": "search string", + "name": "q", + "in": "query" + }, + { + "enum": [ + "issues", + "pulls" + ], + "type": "string", + "description": "filter by type (issues / pulls) if set", + "name": "type", + "in": "query" + }, + { + "type": "string", + "description": "comma separated list of milestone names or ids. It uses names and fall back to ids. Fetch only issues that have any of this milestones. Non existent milestones are discarded", + "name": "milestones", + "in": "query" + }, + { + "type": "string", + "format": "date-time", + "description": "Only show items updated after the given time. This is a timestamp in RFC 3339 format", + "name": "since", + "in": "query" + }, + { + "type": "string", + "format": "date-time", + "description": "Only show items updated before the given time. This is a timestamp in RFC 3339 format", + "name": "before", + "in": "query" + }, + { + "type": "string", + "description": "Only show items which were created by the given user", + "name": "created_by", + "in": "query" + }, + { + "type": "string", + "description": "Only show items for which the given user is assigned", + "name": "assigned_by", + "in": "query" + }, + { + "type": "string", + "description": "Only show items in which the given user was mentioned", + "name": "mentioned_by", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/IssueList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Create an issue. If using deadline only the date will be taken into account, and time of day ignored.", + "operationId": "issueCreateIssue", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateIssueOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Issue" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "412": { + "$ref": "#/responses/error" + }, + "422": { + "$ref": "#/responses/validationError" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + } + }, + "/repos/{owner}/{repo}/issues/comments": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "List all comments in a repository", + "operationId": "issueGetRepoComments", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "date-time", + "description": "if provided, only comments updated since the provided time are returned.", + "name": "since", + "in": "query" + }, + { + "type": "string", + "format": "date-time", + "description": "if provided, only comments updated before the provided time are returned.", + "name": "before", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/CommentList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/issues/comments/{id}": { + "get": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Get a comment", + "operationId": "issueGetComment", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the comment", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Comment" + }, + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "tags": [ + "issue" + ], + "summary": "Delete a comment", + "operationId": "issueDeleteComment", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of comment to delete", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "patch": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Edit a comment", + "operationId": "issueEditComment", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the comment to edit", + "name": "id", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/EditIssueCommentOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Comment" + }, + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + } + }, + "/repos/{owner}/{repo}/issues/comments/{id}/assets": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "List comment's attachments", + "operationId": "issueListIssueCommentAttachments", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the comment", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/AttachmentList" + }, + "404": { + "$ref": "#/responses/error" + } + } + }, + "post": { + "consumes": [ + "multipart/form-data" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Create a comment attachment", + "operationId": "issueCreateIssueCommentAttachment", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the comment", + "name": "id", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the attachment", + "name": "name", + "in": "query" + }, + { + "type": "file", + "description": "attachment to upload", + "name": "attachment", + "in": "formData", + "required": true + } + ], + "responses": { + "201": { + "$ref": "#/responses/Attachment" + }, + "400": { + "$ref": "#/responses/error" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/error" + }, + "422": { + "$ref": "#/responses/validationError" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + } + }, + "/repos/{owner}/{repo}/issues/comments/{id}/assets/{attachment_id}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Get a comment attachment", + "operationId": "issueGetIssueCommentAttachment", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the comment", + "name": "id", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the attachment to get", + "name": "attachment_id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Attachment" + }, + "404": { + "$ref": "#/responses/error" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Delete a comment attachment", + "operationId": "issueDeleteIssueCommentAttachment", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the comment", + "name": "id", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the attachment to delete", + "name": "attachment_id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/error" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + }, + "patch": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Edit a comment attachment", + "operationId": "issueEditIssueCommentAttachment", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the comment", + "name": "id", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the attachment to edit", + "name": "attachment_id", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/EditAttachmentOptions" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Attachment" + }, + "404": { + "$ref": "#/responses/error" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + } + }, + "/repos/{owner}/{repo}/issues/comments/{id}/reactions": { + "get": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Get a list of reactions from a comment of an issue", + "operationId": "issueGetCommentReactions", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the comment to edit", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/ReactionList" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Add a reaction to a comment of an issue", + "operationId": "issuePostCommentReaction", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the comment to edit", + "name": "id", + "in": "path", + "required": true + }, + { + "name": "content", + "in": "body", + "schema": { + "$ref": "#/definitions/EditReactionOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Reaction" + }, + "201": { + "$ref": "#/responses/Reaction" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Remove a reaction from a comment of an issue", + "operationId": "issueDeleteCommentReaction", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the comment to edit", + "name": "id", + "in": "path", + "required": true + }, + { + "name": "content", + "in": "body", + "schema": { + "$ref": "#/definitions/EditReactionOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/issues/pinned": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "List a repo's pinned issues", + "operationId": "repoListPinnedIssues", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/IssueList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/issues/{index}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Get an issue", + "operationId": "issueGetIssue", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue to get", + "name": "index", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Issue" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "tags": [ + "issue" + ], + "summary": "Delete an issue", + "operationId": "issueDelete", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of issue to delete", + "name": "index", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "patch": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Edit an issue. If using deadline only the date will be taken into account, and time of day ignored.", + "operationId": "issueEditIssue", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue to edit", + "name": "index", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/EditIssueOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Issue" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "412": { + "$ref": "#/responses/error" + } + } + } + }, + "/repos/{owner}/{repo}/issues/{index}/assets": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "List issue's attachments", + "operationId": "issueListIssueAttachments", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/AttachmentList" + }, + "404": { + "$ref": "#/responses/error" + } + } + }, + "post": { + "consumes": [ + "multipart/form-data" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Create an issue attachment", + "operationId": "issueCreateIssueAttachment", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the attachment", + "name": "name", + "in": "query" + }, + { + "type": "file", + "description": "attachment to upload", + "name": "attachment", + "in": "formData", + "required": true + } + ], + "responses": { + "201": { + "$ref": "#/responses/Attachment" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/error" + }, + "422": { + "$ref": "#/responses/validationError" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + } + }, + "/repos/{owner}/{repo}/issues/{index}/assets/{attachment_id}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Get an issue attachment", + "operationId": "issueGetIssueAttachment", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the attachment to get", + "name": "attachment_id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Attachment" + }, + "404": { + "$ref": "#/responses/error" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Delete an issue attachment", + "operationId": "issueDeleteIssueAttachment", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the attachment to delete", + "name": "attachment_id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/error" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + }, + "patch": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Edit an issue attachment", + "operationId": "issueEditIssueAttachment", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the attachment to edit", + "name": "attachment_id", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/EditAttachmentOptions" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Attachment" + }, + "404": { + "$ref": "#/responses/error" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + } + }, + "/repos/{owner}/{repo}/issues/{index}/blocks": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "List issues that are blocked by this issue", + "operationId": "issueListBlocks", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/IssueList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Block the issue given in the body by the issue in path", + "operationId": "issueCreateIssueBlocking", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/IssueMeta" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Issue" + }, + "404": { + "description": "the issue does not exist" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Unblock the issue given in the body by the issue in path", + "operationId": "issueRemoveIssueBlocking", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/IssueMeta" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Issue" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/issues/{index}/comments": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "List all comments on an issue", + "operationId": "issueGetComments", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "date-time", + "description": "if provided, only comments updated since the specified time are returned.", + "name": "since", + "in": "query" + }, + { + "type": "string", + "format": "date-time", + "description": "if provided, only comments updated before the provided time are returned.", + "name": "before", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/CommentList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Add a comment to an issue", + "operationId": "issueCreateComment", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateIssueCommentOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Comment" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + } + }, + "/repos/{owner}/{repo}/issues/{index}/comments/{id}": { + "delete": { + "tags": [ + "issue" + ], + "summary": "Delete a comment", + "operationId": "issueDeleteCommentDeprecated", + "deprecated": true, + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "this parameter is ignored", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of comment to delete", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "patch": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Edit a comment", + "operationId": "issueEditCommentDeprecated", + "deprecated": true, + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "this parameter is ignored", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the comment to edit", + "name": "id", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/EditIssueCommentOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Comment" + }, + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/issues/{index}/deadline": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Set an issue deadline. If set to null, the deadline is deleted. If using deadline only the date will be taken into account, and time of day ignored.", + "operationId": "issueEditIssueDeadline", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue to create or update a deadline on", + "name": "index", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/EditDeadlineOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/IssueDeadline" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/issues/{index}/dependencies": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "List an issue's dependencies, i.e all issues that block this issue.", + "operationId": "issueListIssueDependencies", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/IssueList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Make the issue in the url depend on the issue in the form.", + "operationId": "issueCreateIssueDependencies", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/IssueMeta" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Issue" + }, + "404": { + "description": "the issue does not exist" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Remove an issue dependency", + "operationId": "issueRemoveIssueDependencies", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/IssueMeta" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Issue" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + } + }, + "/repos/{owner}/{repo}/issues/{index}/labels": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Get an issue's labels", + "operationId": "issueGetLabels", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/LabelList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Replace an issue's labels", + "operationId": "issueReplaceLabels", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/IssueLabelsOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/LabelList" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Add a label to an issue", + "operationId": "issueAddLabel", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/IssueLabelsOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/LabelList" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Remove all labels from an issue", + "operationId": "issueClearLabels", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/issues/{index}/labels/{id}": { + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Remove a label from an issue", + "operationId": "issueRemoveLabel", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the label to remove", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/repos/{owner}/{repo}/issues/{index}/pin": { + "post": { + "tags": [ + "issue" + ], + "summary": "Pin an Issue", + "operationId": "pinIssue", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of issue to pin", + "name": "index", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "tags": [ + "issue" + ], + "summary": "Unpin an Issue", + "operationId": "unpinIssue", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of issue to unpin", + "name": "index", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/issues/{index}/pin/{position}": { + "patch": { + "tags": [ + "issue" + ], + "summary": "Moves the Pin to the given Position", + "operationId": "moveIssuePin", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of issue", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "the new position", + "name": "position", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/issues/{index}/reactions": { + "get": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Get a list reactions of an issue", + "operationId": "issueGetIssueReactions", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/ReactionList" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Add a reaction to an issue", + "operationId": "issuePostIssueReaction", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "name": "content", + "in": "body", + "schema": { + "$ref": "#/definitions/EditReactionOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Reaction" + }, + "201": { + "$ref": "#/responses/Reaction" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Remove a reaction from an issue", + "operationId": "issueDeleteIssueReaction", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "name": "content", + "in": "body", + "schema": { + "$ref": "#/definitions/EditReactionOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/issues/{index}/stopwatch/delete": { + "delete": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Delete an issue's existing stopwatch.", + "operationId": "issueDeleteStopWatch", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue to stop the stopwatch on", + "name": "index", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "description": "Not repo writer, user does not have rights to toggle stopwatch" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "409": { + "description": "Cannot cancel a non existent stopwatch" + } + } + } + }, + "/repos/{owner}/{repo}/issues/{index}/stopwatch/start": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Start stopwatch on an issue.", + "operationId": "issueStartStopWatch", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue to create the stopwatch on", + "name": "index", + "in": "path", + "required": true + } + ], + "responses": { + "201": { + "$ref": "#/responses/empty" + }, + "403": { + "description": "Not repo writer, user does not have rights to toggle stopwatch" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "409": { + "description": "Cannot start a stopwatch again if it already exists" + } + } + } + }, + "/repos/{owner}/{repo}/issues/{index}/stopwatch/stop": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Stop an issue's existing stopwatch.", + "operationId": "issueStopStopWatch", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue to stop the stopwatch on", + "name": "index", + "in": "path", + "required": true + } + ], + "responses": { + "201": { + "$ref": "#/responses/empty" + }, + "403": { + "description": "Not repo writer, user does not have rights to toggle stopwatch" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "409": { + "description": "Cannot stop a non existent stopwatch" + } + } + } + }, + "/repos/{owner}/{repo}/issues/{index}/subscriptions": { + "get": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Get users who subscribed on an issue.", + "operationId": "issueSubscriptions", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/UserList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/issues/{index}/subscriptions/check": { + "get": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Check if user is subscribed to an issue", + "operationId": "issueCheckSubscription", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/WatchInfo" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/issues/{index}/subscriptions/{user}": { + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Subscribe user to issue", + "operationId": "issueAddSubscription", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "user to subscribe", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "Already subscribed" + }, + "201": { + "description": "Successfully Subscribed" + }, + "304": { + "description": "User can only subscribe itself if he is no admin" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Unsubscribe user from issue", + "operationId": "issueDeleteSubscription", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "user witch unsubscribe", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "Already unsubscribed" + }, + "201": { + "description": "Successfully Unsubscribed" + }, + "304": { + "description": "User can only subscribe itself if he is no admin" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/issues/{index}/timeline": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "List all comments and events on an issue", + "operationId": "issueGetCommentsAndTimeline", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "date-time", + "description": "if provided, only comments updated since the specified time are returned.", + "name": "since", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "format": "date-time", + "description": "if provided, only comments updated before the provided time are returned.", + "name": "before", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/TimelineList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/issues/{index}/times": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "List an issue's tracked times", + "operationId": "issueTrackedTimes", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "optional filter by user (available for issue managers)", + "name": "user", + "in": "query" + }, + { + "type": "string", + "format": "date-time", + "description": "Only show times updated after the given time. This is a timestamp in RFC 3339 format", + "name": "since", + "in": "query" + }, + { + "type": "string", + "format": "date-time", + "description": "Only show times updated before the given time. This is a timestamp in RFC 3339 format", + "name": "before", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/TrackedTimeList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Add tracked time to a issue", + "operationId": "issueAddTime", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/AddTimeOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/TrackedTime" + }, + "400": { + "$ref": "#/responses/error" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Reset a tracked time of an issue", + "operationId": "issueResetTime", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue to add tracked time to", + "name": "index", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "400": { + "$ref": "#/responses/error" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/issues/{index}/times/{id}": { + "delete": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Delete specific tracked time", + "operationId": "issueDeleteTime", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the issue", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of time to delete", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "400": { + "$ref": "#/responses/error" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/keys": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "List a repository's keys", + "operationId": "repoListKeys", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "the key_id to search for", + "name": "key_id", + "in": "query" + }, + { + "type": "string", + "description": "fingerprint of the key", + "name": "fingerprint", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/DeployKeyList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Add a key to a repository", + "operationId": "repoCreateKey", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateKeyOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/DeployKey" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/repos/{owner}/{repo}/keys/{id}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get a repository's key by id", + "operationId": "repoGetKey", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the key to get", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/DeployKey" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "tags": [ + "repository" + ], + "summary": "Delete a key from a repository", + "operationId": "repoDeleteKey", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the key to delete", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/labels": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Get all of a repository's labels", + "operationId": "issueListLabels", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/LabelList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Create a label", + "operationId": "issueCreateLabel", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateLabelOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Label" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/repos/{owner}/{repo}/labels/{id}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Get a single label", + "operationId": "issueGetLabel", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the label to get", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Label" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "tags": [ + "issue" + ], + "summary": "Delete a label", + "operationId": "issueDeleteLabel", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the label to delete", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "patch": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Update a label", + "operationId": "issueEditLabel", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the label to edit", + "name": "id", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/EditLabelOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Label" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/repos/{owner}/{repo}/languages": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get languages and number of bytes of code written", + "operationId": "repoGetLanguages", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/LanguageStatistics" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/media/{filepath}": { + "get": { + "tags": [ + "repository" + ], + "summary": "Get a file or it's LFS object from a repository", + "operationId": "repoGetRawFileOrLFS", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "filepath of the file to get", + "name": "filepath", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "The name of the commit/branch/tag. Default the repository’s default branch (usually master)", + "name": "ref", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Returns raw file content." + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/milestones": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Get all of a repository's opened milestones", + "operationId": "issueGetMilestonesList", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Milestone state, Recognized values are open, closed and all. Defaults to \"open\"", + "name": "state", + "in": "query" + }, + { + "type": "string", + "description": "filter by milestone name", + "name": "name", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/MilestoneList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Create a milestone", + "operationId": "issueCreateMilestone", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateMilestoneOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Milestone" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/milestones/{id}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Get a milestone", + "operationId": "issueGetMilestone", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "the milestone to get, identified by ID and if not available by name", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Milestone" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "tags": [ + "issue" + ], + "summary": "Delete a milestone", + "operationId": "issueDeleteMilestone", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "the milestone to delete, identified by ID and if not available by name", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "patch": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "issue" + ], + "summary": "Update a milestone", + "operationId": "issueEditMilestone", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "the milestone to edit, identified by ID and if not available by name", + "name": "id", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/EditMilestoneOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Milestone" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/mirror-sync": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Sync a mirrored repository", + "operationId": "repoMirrorSync", + "parameters": [ + { + "type": "string", + "description": "owner of the repo to sync", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo to sync", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/new_pin_allowed": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Returns if new Issue Pins are allowed", + "operationId": "repoNewPinAllowed", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/RepoNewIssuePinsAllowed" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/notifications": { + "get": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "notification" + ], + "summary": "List users's notification threads on a specific repo", + "operationId": "notifyGetRepoList", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "boolean", + "description": "If true, show notifications marked as read. Default value is false", + "name": "all", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "description": "Show notifications with the provided status types. Options are: unread, read and/or pinned. Defaults to unread \u0026 pinned", + "name": "status-types", + "in": "query" + }, + { + "type": "array", + "items": { + "enum": [ + "issue", + "pull", + "commit", + "repository" + ], + "type": "string" + }, + "collectionFormat": "multi", + "description": "filter notifications by subject type", + "name": "subject-type", + "in": "query" + }, + { + "type": "string", + "format": "date-time", + "description": "Only show notifications updated after the given time. This is a timestamp in RFC 3339 format", + "name": "since", + "in": "query" + }, + { + "type": "string", + "format": "date-time", + "description": "Only show notifications updated before the given time. This is a timestamp in RFC 3339 format", + "name": "before", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/NotificationThreadList" + } + } + }, + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "notification" + ], + "summary": "Mark notification threads as read, pinned or unread on a specific repo", + "operationId": "notifyReadRepoList", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "If true, mark all notifications on this repo. Default value is false", + "name": "all", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "description": "Mark notifications with the provided status types. Options are: unread, read and/or pinned. Defaults to unread.", + "name": "status-types", + "in": "query" + }, + { + "type": "string", + "description": "Status to mark notifications as. Defaults to read.", + "name": "to-status", + "in": "query" + }, + { + "type": "string", + "format": "date-time", + "description": "Describes the last point that notifications were checked. Anything updated since this time will not be updated.", + "name": "last_read_at", + "in": "query" + } + ], + "responses": { + "205": { + "$ref": "#/responses/NotificationThreadList" + } + } + } + }, + "/repos/{owner}/{repo}/pulls": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "List a repo's pull requests", + "operationId": "repoListPullRequests", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "enum": [ + "closed", + "open", + "all" + ], + "type": "string", + "description": "State of pull request: open or closed (optional)", + "name": "state", + "in": "query" + }, + { + "enum": [ + "oldest", + "recentupdate", + "leastupdate", + "mostcomment", + "leastcomment", + "priority" + ], + "type": "string", + "description": "Type of sort", + "name": "sort", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "description": "ID of the milestone", + "name": "milestone", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + }, + "collectionFormat": "multi", + "description": "Label IDs", + "name": "labels", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/PullRequestList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Create a pull request", + "operationId": "repoCreatePullRequest", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreatePullRequestOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/PullRequest" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "409": { + "$ref": "#/responses/error" + }, + "422": { + "$ref": "#/responses/validationError" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + } + }, + "/repos/{owner}/{repo}/pulls/pinned": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "List a repo's pinned pull requests", + "operationId": "repoListPinnedPullRequests", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/PullRequestList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/pulls/{base}/{head}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get a pull request by base and head", + "operationId": "repoGetPullRequestByBaseHead", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "base of the pull request to get", + "name": "base", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "head of the pull request to get", + "name": "head", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/PullRequest" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/pulls/{index}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get a pull request", + "operationId": "repoGetPullRequest", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the pull request to get", + "name": "index", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/PullRequest" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "patch": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Update a pull request. If using deadline only the date will be taken into account, and time of day ignored.", + "operationId": "repoEditPullRequest", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the pull request to edit", + "name": "index", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/EditPullRequestOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/PullRequest" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "409": { + "$ref": "#/responses/error" + }, + "412": { + "$ref": "#/responses/error" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/repos/{owner}/{repo}/pulls/{index}.{diffType}": { + "get": { + "produces": [ + "text/plain" + ], + "tags": [ + "repository" + ], + "summary": "Get a pull request diff or patch", + "operationId": "repoDownloadPullDiffOrPatch", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the pull request to get", + "name": "index", + "in": "path", + "required": true + }, + { + "enum": [ + "diff", + "patch" + ], + "type": "string", + "description": "whether the output is diff or patch", + "name": "diffType", + "in": "path", + "required": true + }, + { + "type": "boolean", + "description": "whether to include binary file changes. if true, the diff is applicable with `git apply`", + "name": "binary", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/string" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/pulls/{index}/commits": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get commits for a pull request", + "operationId": "repoGetPullRequestCommits", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the pull request to get", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + }, + { + "type": "boolean", + "description": "include verification for every commit (disable for speedup, default 'true')", + "name": "verification", + "in": "query" + }, + { + "type": "boolean", + "description": "include a list of affected files for every commit (disable for speedup, default 'true')", + "name": "files", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/CommitList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/pulls/{index}/files": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get changed files for a pull request", + "operationId": "repoGetPullRequestFiles", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the pull request to get", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "skip to given file", + "name": "skip-to", + "in": "query" + }, + { + "enum": [ + "ignore-all", + "ignore-change", + "ignore-eol", + "show-all" + ], + "type": "string", + "description": "whitespace behavior", + "name": "whitespace", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/ChangedFileList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/pulls/{index}/merge": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Check if a pull request has been merged", + "operationId": "repoPullRequestIsMerged", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the pull request", + "name": "index", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "pull request has been merged" + }, + "404": { + "description": "pull request has not been merged" + } + } + }, + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Merge a pull request", + "operationId": "repoMergePullRequest", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the pull request to merge", + "name": "index", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/MergePullRequestOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "405": { + "$ref": "#/responses/empty" + }, + "409": { + "$ref": "#/responses/error" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Cancel the scheduled auto merge for the given pull request", + "operationId": "repoCancelScheduledAutoMerge", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the pull request to merge", + "name": "index", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + } + }, + "/repos/{owner}/{repo}/pulls/{index}/requested_reviewers": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "create review requests for a pull request", + "operationId": "repoCreatePullReviewRequests", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the pull request", + "name": "index", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PullReviewRequestOptions" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/PullReviewList" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "cancel review requests for a pull request", + "operationId": "repoDeletePullReviewRequests", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the pull request", + "name": "index", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PullReviewRequestOptions" + } + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/repos/{owner}/{repo}/pulls/{index}/reviews": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "List all reviews for a pull request", + "operationId": "repoListPullReviews", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the pull request", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/PullReviewList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Create a review to an pull request", + "operationId": "repoCreatePullReview", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the pull request", + "name": "index", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreatePullReviewOptions" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/PullReview" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/repos/{owner}/{repo}/pulls/{index}/reviews/{id}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get a specific review for a pull request", + "operationId": "repoGetPullReview", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the pull request", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the review", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/PullReview" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Submit a pending review to an pull request", + "operationId": "repoSubmitPullReview", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the pull request", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the review", + "name": "id", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SubmitPullReviewOptions" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/PullReview" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Delete a specific review from a pull request", + "operationId": "repoDeletePullReview", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the pull request", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the review", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/pulls/{index}/reviews/{id}/comments": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get a specific review for a pull request", + "operationId": "repoGetPullReviewComments", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the pull request", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the review", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/PullReviewCommentList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/pulls/{index}/reviews/{id}/dismissals": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Dismiss a review for a pull request", + "operationId": "repoDismissPullReview", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the pull request", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the review", + "name": "id", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DismissPullReviewOptions" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/PullReview" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/repos/{owner}/{repo}/pulls/{index}/reviews/{id}/undismissals": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Cancel to dismiss a review for a pull request", + "operationId": "repoUnDismissPullReview", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the pull request", + "name": "index", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the review", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/PullReview" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/repos/{owner}/{repo}/pulls/{index}/update": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Merge PR's baseBranch into headBranch", + "operationId": "repoUpdatePullRequest", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "index of the pull request to get", + "name": "index", + "in": "path", + "required": true + }, + { + "enum": [ + "merge", + "rebase" + ], + "type": "string", + "description": "how to update pull request", + "name": "style", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "409": { + "$ref": "#/responses/error" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/repos/{owner}/{repo}/push_mirrors": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get all push mirrors of the repository", + "operationId": "repoListPushMirrors", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/PushMirrorList" + }, + "400": { + "$ref": "#/responses/error" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "add a push mirror to the repository", + "operationId": "repoAddPushMirror", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreatePushMirrorOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/PushMirror" + }, + "400": { + "$ref": "#/responses/error" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/push_mirrors-sync": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Sync all push mirrored repository", + "operationId": "repoPushMirrorSync", + "parameters": [ + { + "type": "string", + "description": "owner of the repo to sync", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo to sync", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/empty" + }, + "400": { + "$ref": "#/responses/error" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/push_mirrors/{name}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get push mirror of the repository by remoteName", + "operationId": "repoGetPushMirrorByRemoteName", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "remote name of push mirror", + "name": "name", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/PushMirror" + }, + "400": { + "$ref": "#/responses/error" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "deletes a push mirror from a repository by remoteName", + "operationId": "repoDeletePushMirror", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "remote name of the pushMirror", + "name": "name", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/raw/{filepath}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get a file from a repository", + "operationId": "repoGetRawFile", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "filepath of the file to get", + "name": "filepath", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "The name of the commit/branch/tag. Default the repository’s default branch (usually master)", + "name": "ref", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Returns raw file content." + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/releases": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "List a repo's releases", + "operationId": "repoListReleases", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "boolean", + "description": "filter (exclude / include) drafts, if you dont have repo write access none will show", + "name": "draft", + "in": "query" + }, + { + "type": "boolean", + "description": "filter (exclude / include) pre-releases", + "name": "pre-release", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/ReleaseList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Create a release", + "operationId": "repoCreateRelease", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateReleaseOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Release" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "409": { + "$ref": "#/responses/error" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/repos/{owner}/{repo}/releases/latest": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Gets the most recent non-prerelease, non-draft release of a repository, sorted by created_at", + "operationId": "repoGetLatestRelease", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Release" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/releases/tags/{tag}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get a release by tag name", + "operationId": "repoGetReleaseByTag", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "tag name of the release to get", + "name": "tag", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Release" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "tags": [ + "repository" + ], + "summary": "Delete a release by tag name", + "operationId": "repoDeleteReleaseByTag", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "tag name of the release to delete", + "name": "tag", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/repos/{owner}/{repo}/releases/{id}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get a release", + "operationId": "repoGetRelease", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the release to get", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Release" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "tags": [ + "repository" + ], + "summary": "Delete a release", + "operationId": "repoDeleteRelease", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the release to delete", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + }, + "patch": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Update a release", + "operationId": "repoEditRelease", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the release to edit", + "name": "id", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/EditReleaseOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Release" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/releases/{id}/assets": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "List release's attachments", + "operationId": "repoListReleaseAttachments", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the release", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/AttachmentList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "consumes": [ + "multipart/form-data", + "application/octet-stream" + ], + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Create a release attachment", + "operationId": "repoCreateReleaseAttachment", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the release", + "name": "id", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the attachment", + "name": "name", + "in": "query" + }, + { + "type": "file", + "description": "attachment to upload", + "name": "attachment", + "in": "formData" + } + ], + "responses": { + "201": { + "$ref": "#/responses/Attachment" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/releases/{id}/assets/{attachment_id}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get a release attachment", + "operationId": "repoGetReleaseAttachment", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the release", + "name": "id", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the attachment to get", + "name": "attachment_id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Attachment" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Delete a release attachment", + "operationId": "repoDeleteReleaseAttachment", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the release", + "name": "id", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the attachment to delete", + "name": "attachment_id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "patch": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Edit a release attachment", + "operationId": "repoEditReleaseAttachment", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the release", + "name": "id", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "description": "id of the attachment to edit", + "name": "attachment_id", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/EditAttachmentOptions" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Attachment" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/reviewers": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Return all users that can be requested to review in this repo", + "operationId": "repoGetReviewers", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/UserList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/signing-key.gpg": { + "get": { + "produces": [ + "text/plain" + ], + "tags": [ + "repository" + ], + "summary": "Get signing-key.gpg for given repository", + "operationId": "repoSigningKey", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "GPG armored public key", + "schema": { + "type": "string" + } + } + } + } + }, + "/repos/{owner}/{repo}/stargazers": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "List a repo's stargazers", + "operationId": "repoListStargazers", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/UserList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/statuses/{sha}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get a commit's statuses", + "operationId": "repoListStatuses", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "sha of the commit", + "name": "sha", + "in": "path", + "required": true + }, + { + "enum": [ + "oldest", + "recentupdate", + "leastupdate", + "leastindex", + "highestindex" + ], + "type": "string", + "description": "type of sort", + "name": "sort", + "in": "query" + }, + { + "enum": [ + "pending", + "success", + "error", + "failure", + "warning" + ], + "type": "string", + "description": "type of state", + "name": "state", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/CommitStatusList" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Create a commit status", + "operationId": "repoCreateStatus", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "sha of the commit", + "name": "sha", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateStatusOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/CommitStatus" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/subscribers": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "List a repo's watchers", + "operationId": "repoListSubscribers", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/UserList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/subscription": { + "get": { + "tags": [ + "repository" + ], + "summary": "Check if the current user is watching a repo", + "operationId": "userCurrentCheckSubscription", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/WatchInfo" + }, + "404": { + "description": "User is not watching this repo or repo do not exist" + } + } + }, + "put": { + "tags": [ + "repository" + ], + "summary": "Watch a repo", + "operationId": "userCurrentPutSubscription", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/WatchInfo" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "tags": [ + "repository" + ], + "summary": "Unwatch a repo", + "operationId": "userCurrentDeleteSubscription", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/tags": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "List a repository's tags", + "operationId": "repoListTags", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results, default maximum page size is 50", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/TagList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Create a new git tag in a repository", + "operationId": "repoCreateTag", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateTagOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Tag" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "405": { + "$ref": "#/responses/empty" + }, + "409": { + "$ref": "#/responses/conflict" + }, + "422": { + "$ref": "#/responses/validationError" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + } + }, + "/repos/{owner}/{repo}/tags/{tag}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get the tag of a repository by tag name", + "operationId": "repoGetTag", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of tag", + "name": "tag", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Tag" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Delete a repository's tag by name", + "operationId": "repoDeleteTag", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of tag to delete", + "name": "tag", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "405": { + "$ref": "#/responses/empty" + }, + "409": { + "$ref": "#/responses/conflict" + }, + "422": { + "$ref": "#/responses/validationError" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + } + }, + "/repos/{owner}/{repo}/teams": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "List a repository's teams", + "operationId": "repoListTeams", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/TeamList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/teams/{team}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Check if a team is assigned to a repository", + "operationId": "repoCheckTeam", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "team name", + "name": "team", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Team" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "405": { + "$ref": "#/responses/error" + } + } + }, + "put": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Add a team to a repository", + "operationId": "repoAddTeam", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "team name", + "name": "team", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "405": { + "$ref": "#/responses/error" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Delete a team from a repository", + "operationId": "repoDeleteTeam", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "team name", + "name": "team", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "405": { + "$ref": "#/responses/error" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/repos/{owner}/{repo}/times": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "List a repo's tracked times", + "operationId": "repoTrackedTimes", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "optional filter by user (available for issue managers)", + "name": "user", + "in": "query" + }, + { + "type": "string", + "format": "date-time", + "description": "Only show times updated after the given time. This is a timestamp in RFC 3339 format", + "name": "since", + "in": "query" + }, + { + "type": "string", + "format": "date-time", + "description": "Only show times updated before the given time. This is a timestamp in RFC 3339 format", + "name": "before", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/TrackedTimeList" + }, + "400": { + "$ref": "#/responses/error" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/times/{user}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "List a user's tracked times in a repo", + "operationId": "userTrackedTimes", + "deprecated": true, + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "username of user", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/TrackedTimeList" + }, + "400": { + "$ref": "#/responses/error" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/topics": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get list of topics that a repository has", + "operationId": "repoListTopics", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/TopicNames" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "put": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Replace list of topics for a repository", + "operationId": "repoUpdateTopics", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/RepoTopicOptions" + } + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/invalidTopicsError" + } + } + } + }, + "/repos/{owner}/{repo}/topics/{topic}": { + "put": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Add a topic to a repository", + "operationId": "repoAddTopic", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the topic to add", + "name": "topic", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/invalidTopicsError" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Delete a topic from a repository", + "operationId": "repoDeleteTopic", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the topic to delete", + "name": "topic", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/invalidTopicsError" + } + } + } + }, + "/repos/{owner}/{repo}/transfer": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Transfer a repo ownership", + "operationId": "repoTransfer", + "parameters": [ + { + "type": "string", + "description": "owner of the repo to transfer", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo to transfer", + "name": "repo", + "in": "path", + "required": true + }, + { + "description": "Transfer Options", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TransferRepoOption" + } + } + ], + "responses": { + "202": { + "$ref": "#/responses/Repository" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/repos/{owner}/{repo}/transfer/accept": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Accept a repo transfer", + "operationId": "acceptRepoTransfer", + "parameters": [ + { + "type": "string", + "description": "owner of the repo to transfer", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo to transfer", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "202": { + "$ref": "#/responses/Repository" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/transfer/reject": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Reject a repo transfer", + "operationId": "rejectRepoTransfer", + "parameters": [ + { + "type": "string", + "description": "owner of the repo to transfer", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo to transfer", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Repository" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/wiki/new": { + "post": { + "consumes": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Create a wiki page", + "operationId": "repoCreateWikiPage", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateWikiPageOptions" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/WikiPage" + }, + "400": { + "$ref": "#/responses/error" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + } + }, + "/repos/{owner}/{repo}/wiki/page/{pageName}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get a wiki page", + "operationId": "repoGetWikiPage", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the page", + "name": "pageName", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/WikiPage" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "tags": [ + "repository" + ], + "summary": "Delete a wiki page", + "operationId": "repoDeleteWikiPage", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the page", + "name": "pageName", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + }, + "patch": { + "consumes": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Edit a wiki page", + "operationId": "repoEditWikiPage", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the page", + "name": "pageName", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateWikiPageOptions" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/WikiPage" + }, + "400": { + "$ref": "#/responses/error" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "423": { + "$ref": "#/responses/repoArchivedError" + } + } + } + }, + "/repos/{owner}/{repo}/wiki/pages": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get all wiki pages", + "operationId": "repoGetWikiPages", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/WikiPageList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{owner}/{repo}/wiki/revisions/{pageName}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get revisions of a wiki page", + "operationId": "repoGetWikiPageRevisions", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the page", + "name": "pageName", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/WikiCommitList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/repos/{template_owner}/{template_repo}/generate": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Create a repository using a template", + "operationId": "generateRepo", + "parameters": [ + { + "type": "string", + "description": "name of the template repository owner", + "name": "template_owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the template repository", + "name": "template_repo", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/GenerateRepoOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Repository" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "409": { + "description": "The repository with the same name already exists." + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/repositories/{id}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "Get a repository by id", + "operationId": "repoGetByID", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "id of the repo to get", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Repository" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/settings/api": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "settings" + ], + "summary": "Get instance's global settings for api", + "operationId": "getGeneralAPISettings", + "responses": { + "200": { + "$ref": "#/responses/GeneralAPISettings" + } + } + } + }, + "/settings/attachment": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "settings" + ], + "summary": "Get instance's global settings for Attachment", + "operationId": "getGeneralAttachmentSettings", + "responses": { + "200": { + "$ref": "#/responses/GeneralAttachmentSettings" + } + } + } + }, + "/settings/repository": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "settings" + ], + "summary": "Get instance's global settings for repositories", + "operationId": "getGeneralRepositorySettings", + "responses": { + "200": { + "$ref": "#/responses/GeneralRepoSettings" + } + } + } + }, + "/settings/ui": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "settings" + ], + "summary": "Get instance's global settings for ui", + "operationId": "getGeneralUISettings", + "responses": { + "200": { + "$ref": "#/responses/GeneralUISettings" + } + } + } + }, + "/signing-key.gpg": { + "get": { + "produces": [ + "text/plain" + ], + "tags": [ + "miscellaneous" + ], + "summary": "Get default signing-key.gpg", + "operationId": "getSigningKey", + "responses": { + "200": { + "description": "GPG armored public key", + "schema": { + "type": "string" + } + } + } + } + }, + "/teams/{id}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Get a team", + "operationId": "orgGetTeam", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "id of the team to get", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Team" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "tags": [ + "organization" + ], + "summary": "Delete a team", + "operationId": "orgDeleteTeam", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "id of the team to delete", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "team deleted" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "patch": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Edit a team", + "operationId": "orgEditTeam", + "parameters": [ + { + "type": "integer", + "description": "id of the team to edit", + "name": "id", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/EditTeamOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Team" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/teams/{id}/activities/feeds": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "List a team's activity feeds", + "operationId": "orgListTeamActivityFeeds", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "id of the team", + "name": "id", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "date", + "description": "the date of the activities to be found", + "name": "date", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/ActivityFeedsList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/teams/{id}/members": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "List a team's members", + "operationId": "orgListTeamMembers", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "id of the team", + "name": "id", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/UserList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/teams/{id}/members/{username}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "List a particular member of team", + "operationId": "orgListTeamMember", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "id of the team", + "name": "id", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "username of the member to list", + "name": "username", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/User" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "put": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Add a team member", + "operationId": "orgAddTeamMember", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "id of the team", + "name": "id", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "username of the user to add", + "name": "username", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Remove a team member", + "operationId": "orgRemoveTeamMember", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "id of the team", + "name": "id", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "username of the user to remove", + "name": "username", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/teams/{id}/repos": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "List a team's repos", + "operationId": "orgListTeamRepos", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "id of the team", + "name": "id", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/RepositoryList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/teams/{id}/repos/{org}/{repo}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "List a particular repo of team", + "operationId": "orgListTeamRepo", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "id of the team", + "name": "id", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "organization that owns the repo to list", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo to list", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Repository" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "put": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Add a repository to a team", + "operationId": "orgAddTeamRepository", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "id of the team", + "name": "id", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "organization that owns the repo to add", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo to add", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "description": "This does not delete the repository, it only removes the repository from the team.", + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Remove a repository from a team", + "operationId": "orgRemoveTeamRepository", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "id of the team", + "name": "id", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "organization that owns the repo to remove", + "name": "org", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo to remove", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/topics/search": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "repository" + ], + "summary": "search topics via keyword", + "operationId": "topicSearch", + "parameters": [ + { + "type": "string", + "description": "keywords to search", + "name": "q", + "in": "query", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/TopicListResponse" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/user": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Get the authenticated user", + "operationId": "userGetCurrent", + "responses": { + "200": { + "$ref": "#/responses/User" + } + } + } + }, + "/user/actions/runners/registration-token": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Get an user's actions runner registration token", + "operationId": "userGetRunnerRegistrationToken", + "responses": { + "200": { + "$ref": "#/responses/RegistrationToken" + } + } + } + }, + "/user/actions/secrets/{secretname}": { + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Create or Update a secret value in a user scope", + "operationId": "updateUserSecret", + "parameters": [ + { + "type": "string", + "description": "name of the secret", + "name": "secretname", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateOrUpdateSecretOption" + } + } + ], + "responses": { + "201": { + "description": "response when creating a secret" + }, + "204": { + "description": "response when updating a secret" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Delete a secret in a user scope", + "operationId": "deleteUserSecret", + "parameters": [ + { + "type": "string", + "description": "name of the secret", + "name": "secretname", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "delete one secret of the user" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/user/actions/variables": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Get the user-level list of variables which is created by current doer", + "operationId": "getUserVariablesList", + "parameters": [ + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/VariableList" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/user/actions/variables/{variablename}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Get a user-level variable which is created by current doer", + "operationId": "getUserVariable", + "parameters": [ + { + "type": "string", + "description": "name of the variable", + "name": "variablename", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/ActionVariable" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Update a user-level variable which is created by current doer", + "operationId": "updateUserVariable", + "parameters": [ + { + "type": "string", + "description": "name of the variable", + "name": "variablename", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/UpdateVariableOption" + } + } + ], + "responses": { + "201": { + "description": "response when updating a variable" + }, + "204": { + "description": "response when updating a variable" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Create a user-level variable", + "operationId": "createUserVariable", + "parameters": [ + { + "type": "string", + "description": "name of the variable", + "name": "variablename", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateVariableOption" + } + } + ], + "responses": { + "201": { + "description": "response when creating a variable" + }, + "204": { + "description": "response when creating a variable" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Delete a user-level variable which is created by current doer", + "operationId": "deleteUserVariable", + "parameters": [ + { + "type": "string", + "description": "name of the variable", + "name": "variablename", + "in": "path", + "required": true + } + ], + "responses": { + "201": { + "description": "response when deleting a variable" + }, + "204": { + "description": "response when deleting a variable" + }, + "400": { + "$ref": "#/responses/error" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/user/applications/oauth2": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "List the authenticated user's oauth2 applications", + "operationId": "userGetOauth2Application", + "parameters": [ + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/OAuth2ApplicationList" + } + } + }, + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "creates a new OAuth2 application", + "operationId": "userCreateOAuth2Application", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateOAuth2ApplicationOptions" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/OAuth2Application" + }, + "400": { + "$ref": "#/responses/error" + } + } + } + }, + "/user/applications/oauth2/{id}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "get an OAuth2 Application", + "operationId": "userGetOAuth2Application", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "Application ID to be found", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/OAuth2Application" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "delete an OAuth2 Application", + "operationId": "userDeleteOAuth2Application", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "token to be deleted", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "patch": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "update an OAuth2 Application, this includes regenerating the client secret", + "operationId": "userUpdateOAuth2Application", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "application to be updated", + "name": "id", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateOAuth2ApplicationOptions" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/OAuth2Application" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/user/avatar": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Update Avatar", + "operationId": "userUpdateAvatar", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/UpdateUserAvatarOption" + } + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Delete Avatar", + "operationId": "userDeleteAvatar", + "responses": { + "204": { + "$ref": "#/responses/empty" + } + } + } + }, + "/user/blocks": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "List users blocked by the authenticated user", + "operationId": "userListBlocks", + "parameters": [ + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/UserList" + } + } + } + }, + "/user/blocks/{username}": { + "get": { + "tags": [ + "user" + ], + "summary": "Check if a user is blocked by the authenticated user", + "operationId": "userCheckUserBlock", + "parameters": [ + { + "type": "string", + "description": "user to check", + "name": "username", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "put": { + "tags": [ + "user" + ], + "summary": "Block a user", + "operationId": "userBlockUser", + "parameters": [ + { + "type": "string", + "description": "user to block", + "name": "username", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "optional note for the block", + "name": "note", + "in": "query" + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + }, + "delete": { + "tags": [ + "user" + ], + "summary": "Unblock a user", + "operationId": "userUnblockUser", + "parameters": [ + { + "type": "string", + "description": "user to unblock", + "name": "username", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/user/emails": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "List the authenticated user's email addresses", + "operationId": "userListEmails", + "responses": { + "200": { + "$ref": "#/responses/EmailList" + } + } + }, + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Add email addresses", + "operationId": "userAddEmail", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateEmailOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/EmailList" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Delete email addresses", + "operationId": "userDeleteEmail", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/DeleteEmailOption" + } + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/user/followers": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "List the authenticated user's followers", + "operationId": "userCurrentListFollowers", + "parameters": [ + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/UserList" + } + } + } + }, + "/user/following": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "List the users that the authenticated user is following", + "operationId": "userCurrentListFollowing", + "parameters": [ + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/UserList" + } + } + } + }, + "/user/following/{username}": { + "get": { + "tags": [ + "user" + ], + "summary": "Check whether a user is followed by the authenticated user", + "operationId": "userCurrentCheckFollowing", + "parameters": [ + { + "type": "string", + "description": "username of followed user", + "name": "username", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "put": { + "tags": [ + "user" + ], + "summary": "Follow a user", + "operationId": "userCurrentPutFollow", + "parameters": [ + { + "type": "string", + "description": "username of user to follow", + "name": "username", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "tags": [ + "user" + ], + "summary": "Unfollow a user", + "operationId": "userCurrentDeleteFollow", + "parameters": [ + { + "type": "string", + "description": "username of user to unfollow", + "name": "username", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/user/gpg_key_token": { + "get": { + "produces": [ + "text/plain" + ], + "tags": [ + "user" + ], + "summary": "Get a Token to verify", + "operationId": "getVerificationToken", + "responses": { + "200": { + "$ref": "#/responses/string" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/user/gpg_key_verify": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Verify a GPG key", + "operationId": "userVerifyGPGKey", + "responses": { + "201": { + "$ref": "#/responses/GPGKey" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/user/gpg_keys": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "List the authenticated user's GPG keys", + "operationId": "userCurrentListGPGKeys", + "parameters": [ + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/GPGKeyList" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Create a GPG key", + "operationId": "userCurrentPostGPGKey", + "parameters": [ + { + "name": "Form", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateGPGKeyOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/GPGKey" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/user/gpg_keys/{id}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Get a GPG key", + "operationId": "userCurrentGetGPGKey", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "id of key to get", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/GPGKey" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Remove a GPG key", + "operationId": "userCurrentDeleteGPGKey", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "id of key to delete", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/user/hooks": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "List the authenticated user's webhooks", + "operationId": "userListHooks", + "parameters": [ + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/HookList" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Create a hook", + "operationId": "userCreateHook", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateHookOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Hook" + } + } + } + }, + "/user/hooks/{id}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Get a hook", + "operationId": "userGetHook", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "id of the hook to get", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/Hook" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Delete a hook", + "operationId": "userDeleteHook", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "id of the hook to delete", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + } + } + }, + "patch": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Update a hook", + "operationId": "userEditHook", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "id of the hook to update", + "name": "id", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/EditHookOption" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/Hook" + } + } + } + }, + "/user/keys": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "List the authenticated user's public keys", + "operationId": "userCurrentListKeys", + "parameters": [ + { + "type": "string", + "description": "fingerprint of the key", + "name": "fingerprint", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/PublicKeyList" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Create a public key", + "operationId": "userCurrentPostKey", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateKeyOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/PublicKey" + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/user/keys/{id}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Get a public key", + "operationId": "userCurrentGetKey", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "id of key to get", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/PublicKey" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Delete a public key", + "operationId": "userCurrentDeleteKey", + "parameters": [ + { + "type": "integer", + "format": "int64", + "description": "id of key to delete", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/user/orgs": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "List the current user's organizations", + "operationId": "orgListCurrentUserOrgs", + "parameters": [ + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/OrganizationList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/user/repos": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "List the repos that the authenticated user owns", + "operationId": "userCurrentListRepos", + "parameters": [ + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/RepositoryList" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "repository", + "user" + ], + "summary": "Create a repository", + "operationId": "createCurrentUserRepo", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateRepoOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/Repository" + }, + "400": { + "$ref": "#/responses/error" + }, + "409": { + "description": "The repository with the same name already exists." + }, + "422": { + "$ref": "#/responses/validationError" + } + } + } + }, + "/user/settings": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Get user settings", + "operationId": "getUserSettings", + "responses": { + "200": { + "$ref": "#/responses/UserSettings" + } + } + }, + "patch": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Update user settings", + "operationId": "updateUserSettings", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/UserSettingsOptions" + } + } + ], + "responses": { + "200": { + "$ref": "#/responses/UserSettings" + } + } + } + }, + "/user/starred": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "The repos that the authenticated user has starred", + "operationId": "userCurrentListStarred", + "parameters": [ + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/RepositoryList" + } + } + } + }, + "/user/starred/{owner}/{repo}": { + "get": { + "tags": [ + "user" + ], + "summary": "Whether the authenticated is starring the repo", + "operationId": "userCurrentCheckStarring", + "parameters": [ + { + "type": "string", + "description": "owner of the repo", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "put": { + "tags": [ + "user" + ], + "summary": "Star the given repo", + "operationId": "userCurrentPutStar", + "parameters": [ + { + "type": "string", + "description": "owner of the repo to star", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo to star", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + }, + "delete": { + "tags": [ + "user" + ], + "summary": "Unstar the given repo", + "operationId": "userCurrentDeleteStar", + "parameters": [ + { + "type": "string", + "description": "owner of the repo to unstar", + "name": "owner", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the repo to unstar", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/user/stopwatches": { + "get": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Get list of all existing stopwatches", + "operationId": "userGetStopWatches", + "parameters": [ + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/StopWatchList" + } + } + } + }, + "/user/subscriptions": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "List repositories watched by the authenticated user", + "operationId": "userCurrentListSubscriptions", + "parameters": [ + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/RepositoryList" + } + } + } + }, + "/user/teams": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "List all the teams a user belongs to", + "operationId": "userListTeams", + "parameters": [ + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/TeamList" + } + } + } + }, + "/user/times": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "List the current user's tracked times", + "operationId": "userCurrentTrackedTimes", + "parameters": [ + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "format": "date-time", + "description": "Only show times updated after the given time. This is a timestamp in RFC 3339 format", + "name": "since", + "in": "query" + }, + { + "type": "string", + "format": "date-time", + "description": "Only show times updated before the given time. This is a timestamp in RFC 3339 format", + "name": "before", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/TrackedTimeList" + } + } + } + }, + "/users/search": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Search for users", + "operationId": "userSearch", + "parameters": [ + { + "type": "string", + "description": "keyword", + "name": "q", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "description": "ID of the user to search for", + "name": "uid", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "description": "SearchResults of a successful search", + "schema": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/User" + } + }, + "ok": { + "type": "boolean" + } + } + } + } + } + } + }, + "/users/{username}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Get a user", + "operationId": "userGet", + "parameters": [ + { + "type": "string", + "description": "username of user to get", + "name": "username", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/User" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/users/{username}/activities/feeds": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "List a user's activity feeds", + "operationId": "userListActivityFeeds", + "parameters": [ + { + "type": "string", + "description": "username of user", + "name": "username", + "in": "path", + "required": true + }, + { + "type": "boolean", + "description": "if true, only show actions performed by the requested user", + "name": "only-performed-by", + "in": "query" + }, + { + "type": "string", + "format": "date", + "description": "the date of the activities to be found", + "name": "date", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/ActivityFeedsList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/users/{username}/followers": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "List the given user's followers", + "operationId": "userListFollowers", + "parameters": [ + { + "type": "string", + "description": "username of user", + "name": "username", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/UserList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/users/{username}/following": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "List the users that the given user is following", + "operationId": "userListFollowing", + "parameters": [ + { + "type": "string", + "description": "username of user", + "name": "username", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/UserList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/users/{username}/following/{target}": { + "get": { + "tags": [ + "user" + ], + "summary": "Check if one user is following another user", + "operationId": "userCheckFollowing", + "parameters": [ + { + "type": "string", + "description": "username of following user", + "name": "username", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "username of followed user", + "name": "target", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/users/{username}/gpg_keys": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "List the given user's GPG keys", + "operationId": "userListGPGKeys", + "parameters": [ + { + "type": "string", + "description": "username of user", + "name": "username", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/GPGKeyList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/users/{username}/heatmap": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Get a user's heatmap", + "operationId": "userGetHeatmapData", + "parameters": [ + { + "type": "string", + "description": "username of user to get", + "name": "username", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/UserHeatmapData" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/users/{username}/keys": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "List the given user's public keys", + "operationId": "userListKeys", + "parameters": [ + { + "type": "string", + "description": "username of user", + "name": "username", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "fingerprint of the key", + "name": "fingerprint", + "in": "query" + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/PublicKeyList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/users/{username}/orgs": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "List a user's organizations", + "operationId": "orgListUserOrgs", + "parameters": [ + { + "type": "string", + "description": "username of user", + "name": "username", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/OrganizationList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/users/{username}/orgs/{org}/permissions": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "organization" + ], + "summary": "Get user permissions in organization", + "operationId": "orgGetUserPermissions", + "parameters": [ + { + "type": "string", + "description": "username of user", + "name": "username", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the organization", + "name": "org", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/OrganizationPermissions" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/users/{username}/repos": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "List the repos owned by the given user", + "operationId": "userListRepos", + "parameters": [ + { + "type": "string", + "description": "username of user", + "name": "username", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/RepositoryList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/users/{username}/starred": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "The repos that the given user has starred", + "operationId": "userListStarred", + "parameters": [ + { + "type": "string", + "description": "username of user", + "name": "username", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/RepositoryList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/users/{username}/subscriptions": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "List the repositories watched by a user", + "operationId": "userListSubscriptions", + "parameters": [ + { + "type": "string", + "description": "username of the user", + "name": "username", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/RepositoryList" + }, + "404": { + "$ref": "#/responses/notFound" + } + } + } + }, + "/users/{username}/tokens": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "List the authenticated user's access tokens", + "operationId": "userGetTokens", + "parameters": [ + { + "type": "string", + "description": "username of user", + "name": "username", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "$ref": "#/responses/AccessTokenList" + }, + "403": { + "$ref": "#/responses/forbidden" + } + } + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "Create an access token", + "operationId": "userCreateToken", + "parameters": [ + { + "type": "string", + "description": "username of user", + "name": "username", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateAccessTokenOption" + } + } + ], + "responses": { + "201": { + "$ref": "#/responses/AccessToken" + }, + "400": { + "$ref": "#/responses/error" + }, + "403": { + "$ref": "#/responses/forbidden" + } + } + } + }, + "/users/{username}/tokens/{token}": { + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "user" + ], + "summary": "delete an access token", + "operationId": "userDeleteAccessToken", + "parameters": [ + { + "type": "string", + "description": "username of user", + "name": "username", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "token to be deleted, identified by ID and if not available by name", + "name": "token", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "$ref": "#/responses/empty" + }, + "403": { + "$ref": "#/responses/forbidden" + }, + "404": { + "$ref": "#/responses/notFound" + }, + "422": { + "$ref": "#/responses/error" + } + } + } + }, + "/version": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "miscellaneous" + ], + "summary": "Returns the version of the Gitea application", + "operationId": "getVersion", + "responses": { + "200": { + "$ref": "#/responses/ServerVersion" + } + } + } + } + }, + "definitions": { + "APIError": { + "description": "APIError is an api error with a message", + "type": "object", + "properties": { + "message": { + "type": "string", + "x-go-name": "Message" + }, + "url": { + "type": "string", + "x-go-name": "URL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "AccessToken": { + "type": "object", + "title": "AccessToken represents an API access token.", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "name": { + "type": "string", + "x-go-name": "Name" + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "Scopes" + }, + "sha1": { + "type": "string", + "x-go-name": "Token" + }, + "token_last_eight": { + "type": "string", + "x-go-name": "TokenLastEight" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "ActionVariable": { + "description": "ActionVariable return value of the query API", + "type": "object", + "properties": { + "data": { + "description": "the value of the variable", + "type": "string", + "x-go-name": "Data" + }, + "name": { + "description": "the name of the variable", + "type": "string", + "x-go-name": "Name" + }, + "owner_id": { + "description": "the owner to which the variable belongs", + "type": "integer", + "format": "int64", + "x-go-name": "OwnerID" + }, + "repo_id": { + "description": "the repository to which the variable belongs", + "type": "integer", + "format": "int64", + "x-go-name": "RepoID" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Activity": { + "type": "object", + "properties": { + "act_user": { + "$ref": "#/definitions/User" + }, + "act_user_id": { + "type": "integer", + "format": "int64", + "x-go-name": "ActUserID" + }, + "comment": { + "$ref": "#/definitions/Comment" + }, + "comment_id": { + "type": "integer", + "format": "int64", + "x-go-name": "CommentID" + }, + "content": { + "type": "string", + "x-go-name": "Content" + }, + "created": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "is_private": { + "type": "boolean", + "x-go-name": "IsPrivate" + }, + "op_type": { + "type": "string", + "x-go-name": "OpType" + }, + "ref_name": { + "type": "string", + "x-go-name": "RefName" + }, + "repo": { + "$ref": "#/definitions/Repository" + }, + "repo_id": { + "type": "integer", + "format": "int64", + "x-go-name": "RepoID" + }, + "user_id": { + "type": "integer", + "format": "int64", + "x-go-name": "UserID" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "ActivityPub": { + "description": "ActivityPub type", + "type": "object", + "properties": { + "@context": { + "type": "string", + "x-go-name": "Context" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "AddCollaboratorOption": { + "description": "AddCollaboratorOption options when adding a user as a collaborator of a repository", + "type": "object", + "properties": { + "permission": { + "type": "string", + "x-go-name": "Permission" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "AddTimeOption": { + "description": "AddTimeOption options for adding time to an issue", + "type": "object", + "required": [ + "time" + ], + "properties": { + "created": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "time": { + "description": "time in seconds", + "type": "integer", + "format": "int64", + "x-go-name": "Time" + }, + "user_name": { + "description": "User who spent the time (optional)", + "type": "string", + "x-go-name": "User" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "AnnotatedTag": { + "description": "AnnotatedTag represents an annotated tag", + "type": "object", + "properties": { + "message": { + "type": "string", + "x-go-name": "Message" + }, + "object": { + "$ref": "#/definitions/AnnotatedTagObject" + }, + "sha": { + "type": "string", + "x-go-name": "SHA" + }, + "tag": { + "type": "string", + "x-go-name": "Tag" + }, + "tagger": { + "$ref": "#/definitions/CommitUser" + }, + "url": { + "type": "string", + "x-go-name": "URL" + }, + "verification": { + "$ref": "#/definitions/PayloadCommitVerification" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "AnnotatedTagObject": { + "description": "AnnotatedTagObject contains meta information of the tag object", + "type": "object", + "properties": { + "sha": { + "type": "string", + "x-go-name": "SHA" + }, + "type": { + "type": "string", + "x-go-name": "Type" + }, + "url": { + "type": "string", + "x-go-name": "URL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Attachment": { + "description": "Attachment a generic attachment", + "type": "object", + "properties": { + "browser_download_url": { + "type": "string", + "x-go-name": "DownloadURL" + }, + "created_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "download_count": { + "type": "integer", + "format": "int64", + "x-go-name": "DownloadCount" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "name": { + "type": "string", + "x-go-name": "Name" + }, + "size": { + "type": "integer", + "format": "int64", + "x-go-name": "Size" + }, + "uuid": { + "type": "string", + "x-go-name": "UUID" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Badge": { + "description": "Badge represents a user badge", + "type": "object", + "properties": { + "description": { + "type": "string", + "x-go-name": "Description" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "image_url": { + "type": "string", + "x-go-name": "ImageURL" + }, + "slug": { + "type": "string", + "x-go-name": "Slug" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Branch": { + "description": "Branch represents a repository branch", + "type": "object", + "properties": { + "commit": { + "$ref": "#/definitions/PayloadCommit" + }, + "effective_branch_protection_name": { + "type": "string", + "x-go-name": "EffectiveBranchProtectionName" + }, + "enable_status_check": { + "type": "boolean", + "x-go-name": "EnableStatusCheck" + }, + "name": { + "type": "string", + "x-go-name": "Name" + }, + "protected": { + "type": "boolean", + "x-go-name": "Protected" + }, + "required_approvals": { + "type": "integer", + "format": "int64", + "x-go-name": "RequiredApprovals" + }, + "status_check_contexts": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "StatusCheckContexts" + }, + "user_can_merge": { + "type": "boolean", + "x-go-name": "UserCanMerge" + }, + "user_can_push": { + "type": "boolean", + "x-go-name": "UserCanPush" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "BranchProtection": { + "description": "BranchProtection represents a branch protection for a repository", + "type": "object", + "properties": { + "approvals_whitelist_teams": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "ApprovalsWhitelistTeams" + }, + "approvals_whitelist_username": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "ApprovalsWhitelistUsernames" + }, + "block_on_official_review_requests": { + "type": "boolean", + "x-go-name": "BlockOnOfficialReviewRequests" + }, + "block_on_outdated_branch": { + "type": "boolean", + "x-go-name": "BlockOnOutdatedBranch" + }, + "block_on_rejected_reviews": { + "type": "boolean", + "x-go-name": "BlockOnRejectedReviews" + }, + "branch_name": { + "description": "Deprecated: true", + "type": "string", + "x-go-name": "BranchName" + }, + "created_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "dismiss_stale_approvals": { + "type": "boolean", + "x-go-name": "DismissStaleApprovals" + }, + "enable_approvals_whitelist": { + "type": "boolean", + "x-go-name": "EnableApprovalsWhitelist" + }, + "enable_merge_whitelist": { + "type": "boolean", + "x-go-name": "EnableMergeWhitelist" + }, + "enable_push": { + "type": "boolean", + "x-go-name": "EnablePush" + }, + "enable_push_whitelist": { + "type": "boolean", + "x-go-name": "EnablePushWhitelist" + }, + "enable_status_check": { + "type": "boolean", + "x-go-name": "EnableStatusCheck" + }, + "ignore_stale_approvals": { + "type": "boolean", + "x-go-name": "IgnoreStaleApprovals" + }, + "merge_whitelist_teams": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "MergeWhitelistTeams" + }, + "merge_whitelist_usernames": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "MergeWhitelistUsernames" + }, + "protected_file_patterns": { + "type": "string", + "x-go-name": "ProtectedFilePatterns" + }, + "push_whitelist_deploy_keys": { + "type": "boolean", + "x-go-name": "PushWhitelistDeployKeys" + }, + "push_whitelist_teams": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "PushWhitelistTeams" + }, + "push_whitelist_usernames": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "PushWhitelistUsernames" + }, + "require_signed_commits": { + "type": "boolean", + "x-go-name": "RequireSignedCommits" + }, + "required_approvals": { + "type": "integer", + "format": "int64", + "x-go-name": "RequiredApprovals" + }, + "rule_name": { + "type": "string", + "x-go-name": "RuleName" + }, + "status_check_contexts": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "StatusCheckContexts" + }, + "unprotected_file_patterns": { + "type": "string", + "x-go-name": "UnprotectedFilePatterns" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Updated" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "ChangeFileOperation": { + "description": "ChangeFileOperation for creating, updating or deleting a file", + "type": "object", + "required": [ + "operation", + "path" + ], + "properties": { + "content": { + "description": "new or updated file content, must be base64 encoded", + "type": "string", + "x-go-name": "ContentBase64" + }, + "from_path": { + "description": "old path of the file to move", + "type": "string", + "x-go-name": "FromPath" + }, + "operation": { + "description": "indicates what to do with the file", + "type": "string", + "enum": [ + "create", + "update", + "delete" + ], + "x-go-name": "Operation" + }, + "path": { + "description": "path to the existing or new file", + "type": "string", + "x-go-name": "Path" + }, + "sha": { + "description": "sha is the SHA for the file that already exists, required for update or delete", + "type": "string", + "x-go-name": "SHA" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "ChangeFilesOptions": { + "description": "ChangeFilesOptions options for creating, updating or deleting multiple files\nNote: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)", + "type": "object", + "required": [ + "files" + ], + "properties": { + "author": { + "$ref": "#/definitions/Identity" + }, + "branch": { + "description": "branch (optional) to base this file from. if not given, the default branch is used", + "type": "string", + "x-go-name": "BranchName" + }, + "committer": { + "$ref": "#/definitions/Identity" + }, + "dates": { + "$ref": "#/definitions/CommitDateOptions" + }, + "files": { + "description": "list of file operations", + "type": "array", + "items": { + "$ref": "#/definitions/ChangeFileOperation" + }, + "x-go-name": "Files" + }, + "message": { + "description": "message (optional) for the commit of this file. if not supplied, a default message will be used", + "type": "string", + "x-go-name": "Message" + }, + "new_branch": { + "description": "new_branch (optional) will make a new branch from `branch` before creating the file", + "type": "string", + "x-go-name": "NewBranchName" + }, + "signoff": { + "description": "Add a Signed-off-by trailer by the committer at the end of the commit log message.", + "type": "boolean", + "x-go-name": "Signoff" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "ChangedFile": { + "description": "ChangedFile store information about files affected by the pull request", + "type": "object", + "properties": { + "additions": { + "type": "integer", + "format": "int64", + "x-go-name": "Additions" + }, + "changes": { + "type": "integer", + "format": "int64", + "x-go-name": "Changes" + }, + "contents_url": { + "type": "string", + "x-go-name": "ContentsURL" + }, + "deletions": { + "type": "integer", + "format": "int64", + "x-go-name": "Deletions" + }, + "filename": { + "type": "string", + "x-go-name": "Filename" + }, + "html_url": { + "type": "string", + "x-go-name": "HTMLURL" + }, + "previous_filename": { + "type": "string", + "x-go-name": "PreviousFilename" + }, + "raw_url": { + "type": "string", + "x-go-name": "RawURL" + }, + "status": { + "type": "string", + "x-go-name": "Status" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CombinedStatus": { + "description": "CombinedStatus holds the combined state of several statuses for a single commit", + "type": "object", + "properties": { + "commit_url": { + "type": "string", + "x-go-name": "CommitURL" + }, + "repository": { + "$ref": "#/definitions/Repository" + }, + "sha": { + "type": "string", + "x-go-name": "SHA" + }, + "state": { + "$ref": "#/definitions/CommitStatusState" + }, + "statuses": { + "type": "array", + "items": { + "$ref": "#/definitions/CommitStatus" + }, + "x-go-name": "Statuses" + }, + "total_count": { + "type": "integer", + "format": "int64", + "x-go-name": "TotalCount" + }, + "url": { + "type": "string", + "x-go-name": "URL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Comment": { + "description": "Comment represents a comment on a commit or issue", + "type": "object", + "properties": { + "assets": { + "type": "array", + "items": { + "$ref": "#/definitions/Attachment" + }, + "x-go-name": "Attachments" + }, + "body": { + "type": "string", + "x-go-name": "Body" + }, + "created_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "html_url": { + "type": "string", + "x-go-name": "HTMLURL" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "issue_url": { + "type": "string", + "x-go-name": "IssueURL" + }, + "original_author": { + "type": "string", + "x-go-name": "OriginalAuthor" + }, + "original_author_id": { + "type": "integer", + "format": "int64", + "x-go-name": "OriginalAuthorID" + }, + "pull_request_url": { + "type": "string", + "x-go-name": "PRURL" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Updated" + }, + "user": { + "$ref": "#/definitions/User" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Commit": { + "type": "object", + "title": "Commit contains information generated from a Git commit.", + "properties": { + "author": { + "$ref": "#/definitions/User" + }, + "commit": { + "$ref": "#/definitions/RepoCommit" + }, + "committer": { + "$ref": "#/definitions/User" + }, + "created": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/definitions/CommitAffectedFiles" + }, + "x-go-name": "Files" + }, + "html_url": { + "type": "string", + "x-go-name": "HTMLURL" + }, + "parents": { + "type": "array", + "items": { + "$ref": "#/definitions/CommitMeta" + }, + "x-go-name": "Parents" + }, + "sha": { + "type": "string", + "x-go-name": "SHA" + }, + "stats": { + "$ref": "#/definitions/CommitStats" + }, + "url": { + "type": "string", + "x-go-name": "URL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CommitAffectedFiles": { + "description": "CommitAffectedFiles store information about files affected by the commit", + "type": "object", + "properties": { + "filename": { + "type": "string", + "x-go-name": "Filename" + }, + "status": { + "type": "string", + "x-go-name": "Status" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CommitDateOptions": { + "description": "CommitDateOptions store dates for GIT_AUTHOR_DATE and GIT_COMMITTER_DATE", + "type": "object", + "properties": { + "author": { + "type": "string", + "format": "date-time", + "x-go-name": "Author" + }, + "committer": { + "type": "string", + "format": "date-time", + "x-go-name": "Committer" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CommitMeta": { + "type": "object", + "title": "CommitMeta contains meta information of a commit in terms of API.", + "properties": { + "created": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "sha": { + "type": "string", + "x-go-name": "SHA" + }, + "url": { + "type": "string", + "x-go-name": "URL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CommitStats": { + "description": "CommitStats is statistics for a RepoCommit", + "type": "object", + "properties": { + "additions": { + "type": "integer", + "format": "int64", + "x-go-name": "Additions" + }, + "deletions": { + "type": "integer", + "format": "int64", + "x-go-name": "Deletions" + }, + "total": { + "type": "integer", + "format": "int64", + "x-go-name": "Total" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CommitStatus": { + "description": "CommitStatus holds a single status of a single Commit", + "type": "object", + "properties": { + "context": { + "type": "string", + "x-go-name": "Context" + }, + "created_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "creator": { + "$ref": "#/definitions/User" + }, + "description": { + "type": "string", + "x-go-name": "Description" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "status": { + "$ref": "#/definitions/CommitStatusState" + }, + "target_url": { + "type": "string", + "x-go-name": "TargetURL" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Updated" + }, + "url": { + "type": "string", + "x-go-name": "URL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CommitStatusState": { + "description": "CommitStatusState holds the state of a CommitStatus\nIt can be \"pending\", \"success\", \"error\" and \"failure\"", + "type": "string", + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CommitUser": { + "type": "object", + "title": "CommitUser contains information of a user in the context of a commit.", + "properties": { + "date": { + "type": "string", + "x-go-name": "Date" + }, + "email": { + "type": "string", + "format": "email", + "x-go-name": "Email" + }, + "name": { + "type": "string", + "x-go-name": "Name" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Compare": { + "type": "object", + "title": "Compare represents a comparison between two commits.", + "properties": { + "commits": { + "type": "array", + "items": { + "$ref": "#/definitions/Commit" + }, + "x-go-name": "Commits" + }, + "total_commits": { + "type": "integer", + "format": "int64", + "x-go-name": "TotalCommits" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "ContentsResponse": { + "description": "ContentsResponse contains information about a repo's entry's (dir, file, symlink, submodule) metadata and content", + "type": "object", + "properties": { + "_links": { + "$ref": "#/definitions/FileLinksResponse" + }, + "content": { + "description": "`content` is populated when `type` is `file`, otherwise null", + "type": "string", + "x-go-name": "Content" + }, + "download_url": { + "type": "string", + "x-go-name": "DownloadURL" + }, + "encoding": { + "description": "`encoding` is populated when `type` is `file`, otherwise null", + "type": "string", + "x-go-name": "Encoding" + }, + "git_url": { + "type": "string", + "x-go-name": "GitURL" + }, + "html_url": { + "type": "string", + "x-go-name": "HTMLURL" + }, + "last_commit_sha": { + "type": "string", + "x-go-name": "LastCommitSHA" + }, + "name": { + "type": "string", + "x-go-name": "Name" + }, + "path": { + "type": "string", + "x-go-name": "Path" + }, + "sha": { + "type": "string", + "x-go-name": "SHA" + }, + "size": { + "type": "integer", + "format": "int64", + "x-go-name": "Size" + }, + "submodule_git_url": { + "description": "`submodule_git_url` is populated when `type` is `submodule`, otherwise null", + "type": "string", + "x-go-name": "SubmoduleGitURL" + }, + "target": { + "description": "`target` is populated when `type` is `symlink`, otherwise null", + "type": "string", + "x-go-name": "Target" + }, + "type": { + "description": "`type` will be `file`, `dir`, `symlink`, or `submodule`", + "type": "string", + "x-go-name": "Type" + }, + "url": { + "type": "string", + "x-go-name": "URL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateAccessTokenOption": { + "description": "CreateAccessTokenOption options when create access token", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "x-go-name": "Name" + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "Scopes" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateBranchProtectionOption": { + "description": "CreateBranchProtectionOption options for creating a branch protection", + "type": "object", + "properties": { + "approvals_whitelist_teams": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "ApprovalsWhitelistTeams" + }, + "approvals_whitelist_username": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "ApprovalsWhitelistUsernames" + }, + "block_on_official_review_requests": { + "type": "boolean", + "x-go-name": "BlockOnOfficialReviewRequests" + }, + "block_on_outdated_branch": { + "type": "boolean", + "x-go-name": "BlockOnOutdatedBranch" + }, + "block_on_rejected_reviews": { + "type": "boolean", + "x-go-name": "BlockOnRejectedReviews" + }, + "branch_name": { + "description": "Deprecated: true", + "type": "string", + "x-go-name": "BranchName" + }, + "dismiss_stale_approvals": { + "type": "boolean", + "x-go-name": "DismissStaleApprovals" + }, + "enable_approvals_whitelist": { + "type": "boolean", + "x-go-name": "EnableApprovalsWhitelist" + }, + "enable_merge_whitelist": { + "type": "boolean", + "x-go-name": "EnableMergeWhitelist" + }, + "enable_push": { + "type": "boolean", + "x-go-name": "EnablePush" + }, + "enable_push_whitelist": { + "type": "boolean", + "x-go-name": "EnablePushWhitelist" + }, + "enable_status_check": { + "type": "boolean", + "x-go-name": "EnableStatusCheck" + }, + "ignore_stale_approvals": { + "type": "boolean", + "x-go-name": "IgnoreStaleApprovals" + }, + "merge_whitelist_teams": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "MergeWhitelistTeams" + }, + "merge_whitelist_usernames": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "MergeWhitelistUsernames" + }, + "protected_file_patterns": { + "type": "string", + "x-go-name": "ProtectedFilePatterns" + }, + "push_whitelist_deploy_keys": { + "type": "boolean", + "x-go-name": "PushWhitelistDeployKeys" + }, + "push_whitelist_teams": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "PushWhitelistTeams" + }, + "push_whitelist_usernames": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "PushWhitelistUsernames" + }, + "require_signed_commits": { + "type": "boolean", + "x-go-name": "RequireSignedCommits" + }, + "required_approvals": { + "type": "integer", + "format": "int64", + "x-go-name": "RequiredApprovals" + }, + "rule_name": { + "type": "string", + "x-go-name": "RuleName" + }, + "status_check_contexts": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "StatusCheckContexts" + }, + "unprotected_file_patterns": { + "type": "string", + "x-go-name": "UnprotectedFilePatterns" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateBranchRepoOption": { + "description": "CreateBranchRepoOption options when creating a branch in a repository", + "type": "object", + "required": [ + "new_branch_name" + ], + "properties": { + "new_branch_name": { + "description": "Name of the branch to create", + "type": "string", + "uniqueItems": true, + "x-go-name": "BranchName" + }, + "old_branch_name": { + "description": "Deprecated: true\nName of the old branch to create from", + "type": "string", + "uniqueItems": true, + "x-go-name": "OldBranchName" + }, + "old_ref_name": { + "description": "Name of the old branch/tag/commit to create from", + "type": "string", + "uniqueItems": true, + "x-go-name": "OldRefName" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateEmailOption": { + "description": "CreateEmailOption options when creating email addresses", + "type": "object", + "properties": { + "emails": { + "description": "email addresses to add", + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "Emails" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateFileOptions": { + "description": "CreateFileOptions options for creating files\nNote: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)", + "type": "object", + "required": [ + "content" + ], + "properties": { + "author": { + "$ref": "#/definitions/Identity" + }, + "branch": { + "description": "branch (optional) to base this file from. if not given, the default branch is used", + "type": "string", + "x-go-name": "BranchName" + }, + "committer": { + "$ref": "#/definitions/Identity" + }, + "content": { + "description": "content must be base64 encoded", + "type": "string", + "x-go-name": "ContentBase64" + }, + "dates": { + "$ref": "#/definitions/CommitDateOptions" + }, + "message": { + "description": "message (optional) for the commit of this file. if not supplied, a default message will be used", + "type": "string", + "x-go-name": "Message" + }, + "new_branch": { + "description": "new_branch (optional) will make a new branch from `branch` before creating the file", + "type": "string", + "x-go-name": "NewBranchName" + }, + "signoff": { + "description": "Add a Signed-off-by trailer by the committer at the end of the commit log message.", + "type": "boolean", + "x-go-name": "Signoff" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateForkOption": { + "description": "CreateForkOption options for creating a fork", + "type": "object", + "properties": { + "name": { + "description": "name of the forked repository", + "type": "string", + "x-go-name": "Name" + }, + "organization": { + "description": "organization name, if forking into an organization", + "type": "string", + "x-go-name": "Organization" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateGPGKeyOption": { + "description": "CreateGPGKeyOption options create user GPG key", + "type": "object", + "required": [ + "armored_public_key" + ], + "properties": { + "armored_public_key": { + "description": "An armored GPG key to add", + "type": "string", + "uniqueItems": true, + "x-go-name": "ArmoredKey" + }, + "armored_signature": { + "type": "string", + "x-go-name": "Signature" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateHookOption": { + "description": "CreateHookOption options when create a hook", + "type": "object", + "required": [ + "type", + "config" + ], + "properties": { + "active": { + "type": "boolean", + "default": false, + "x-go-name": "Active" + }, + "authorization_header": { + "type": "string", + "x-go-name": "AuthorizationHeader" + }, + "branch_filter": { + "type": "string", + "x-go-name": "BranchFilter" + }, + "config": { + "$ref": "#/definitions/CreateHookOptionConfig" + }, + "events": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "Events" + }, + "type": { + "type": "string", + "enum": [ + "dingtalk", + "discord", + "gitea", + "gogs", + "msteams", + "slack", + "telegram", + "feishu", + "wechatwork", + "packagist" + ], + "x-go-name": "Type" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateHookOptionConfig": { + "description": "CreateHookOptionConfig has all config options in it\nrequired are \"content_type\" and \"url\" Required", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateIssueCommentOption": { + "description": "CreateIssueCommentOption options for creating a comment on an issue", + "type": "object", + "required": [ + "body" + ], + "properties": { + "body": { + "type": "string", + "x-go-name": "Body" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateIssueOption": { + "description": "CreateIssueOption options to create one issue", + "type": "object", + "required": [ + "title" + ], + "properties": { + "assignee": { + "description": "deprecated", + "type": "string", + "x-go-name": "Assignee" + }, + "assignees": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "Assignees" + }, + "body": { + "type": "string", + "x-go-name": "Body" + }, + "closed": { + "type": "boolean", + "x-go-name": "Closed" + }, + "due_date": { + "type": "string", + "format": "date-time", + "x-go-name": "Deadline" + }, + "labels": { + "description": "list of label ids", + "type": "array", + "items": { + "type": "integer", + "format": "int64" + }, + "x-go-name": "Labels" + }, + "milestone": { + "description": "milestone id", + "type": "integer", + "format": "int64", + "x-go-name": "Milestone" + }, + "ref": { + "type": "string", + "x-go-name": "Ref" + }, + "title": { + "type": "string", + "x-go-name": "Title" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateKeyOption": { + "description": "CreateKeyOption options when creating a key", + "type": "object", + "required": [ + "title", + "key" + ], + "properties": { + "key": { + "description": "An armored SSH key to add", + "type": "string", + "uniqueItems": true, + "x-go-name": "Key" + }, + "read_only": { + "description": "Describe if the key has only read access or read/write", + "type": "boolean", + "x-go-name": "ReadOnly" + }, + "title": { + "description": "Title of the key to add", + "type": "string", + "uniqueItems": true, + "x-go-name": "Title" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateLabelOption": { + "description": "CreateLabelOption options for creating a label", + "type": "object", + "required": [ + "name", + "color" + ], + "properties": { + "color": { + "type": "string", + "x-go-name": "Color", + "example": "#00aabb" + }, + "description": { + "type": "string", + "x-go-name": "Description" + }, + "exclusive": { + "type": "boolean", + "x-go-name": "Exclusive", + "example": false + }, + "is_archived": { + "type": "boolean", + "x-go-name": "IsArchived", + "example": false + }, + "name": { + "type": "string", + "x-go-name": "Name" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateMilestoneOption": { + "description": "CreateMilestoneOption options for creating a milestone", + "type": "object", + "properties": { + "description": { + "type": "string", + "x-go-name": "Description" + }, + "due_on": { + "type": "string", + "format": "date-time", + "x-go-name": "Deadline" + }, + "state": { + "type": "string", + "enum": [ + "open", + "closed" + ], + "x-go-name": "State" + }, + "title": { + "type": "string", + "x-go-name": "Title" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateOAuth2ApplicationOptions": { + "description": "CreateOAuth2ApplicationOptions holds options to create an oauth2 application", + "type": "object", + "properties": { + "confidential_client": { + "type": "boolean", + "x-go-name": "ConfidentialClient" + }, + "name": { + "type": "string", + "x-go-name": "Name" + }, + "redirect_uris": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "RedirectURIs" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateOrUpdateSecretOption": { + "description": "CreateOrUpdateSecretOption options when creating or updating secret", + "type": "object", + "required": [ + "data" + ], + "properties": { + "data": { + "description": "Data of the secret to update", + "type": "string", + "x-go-name": "Data" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateOrgOption": { + "description": "CreateOrgOption options for creating an organization", + "type": "object", + "required": [ + "username" + ], + "properties": { + "description": { + "type": "string", + "x-go-name": "Description" + }, + "email": { + "type": "string", + "x-go-name": "Email" + }, + "full_name": { + "type": "string", + "x-go-name": "FullName" + }, + "location": { + "type": "string", + "x-go-name": "Location" + }, + "repo_admin_change_team_access": { + "type": "boolean", + "x-go-name": "RepoAdminChangeTeamAccess" + }, + "username": { + "type": "string", + "x-go-name": "UserName" + }, + "visibility": { + "description": "possible values are `public` (default), `limited` or `private`", + "type": "string", + "enum": [ + "public", + "limited", + "private" + ], + "x-go-name": "Visibility" + }, + "website": { + "type": "string", + "x-go-name": "Website" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreatePullRequestOption": { + "description": "CreatePullRequestOption options when creating a pull request", + "type": "object", + "properties": { + "assignee": { + "type": "string", + "x-go-name": "Assignee" + }, + "assignees": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "Assignees" + }, + "base": { + "type": "string", + "x-go-name": "Base" + }, + "body": { + "type": "string", + "x-go-name": "Body" + }, + "due_date": { + "type": "string", + "format": "date-time", + "x-go-name": "Deadline" + }, + "head": { + "type": "string", + "x-go-name": "Head" + }, + "labels": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + }, + "x-go-name": "Labels" + }, + "milestone": { + "type": "integer", + "format": "int64", + "x-go-name": "Milestone" + }, + "title": { + "type": "string", + "x-go-name": "Title" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreatePullReviewComment": { + "description": "CreatePullReviewComment represent a review comment for creation api", + "type": "object", + "properties": { + "body": { + "type": "string", + "x-go-name": "Body" + }, + "new_position": { + "description": "if comment to new file line or 0", + "type": "integer", + "format": "int64", + "x-go-name": "NewLineNum" + }, + "old_position": { + "description": "if comment to old file line or 0", + "type": "integer", + "format": "int64", + "x-go-name": "OldLineNum" + }, + "path": { + "description": "the tree path", + "type": "string", + "x-go-name": "Path" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreatePullReviewOptions": { + "description": "CreatePullReviewOptions are options to create a pull review", + "type": "object", + "properties": { + "body": { + "type": "string", + "x-go-name": "Body" + }, + "comments": { + "type": "array", + "items": { + "$ref": "#/definitions/CreatePullReviewComment" + }, + "x-go-name": "Comments" + }, + "commit_id": { + "type": "string", + "x-go-name": "CommitID" + }, + "event": { + "$ref": "#/definitions/ReviewStateType" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreatePushMirrorOption": { + "type": "object", + "title": "CreatePushMirrorOption represents need information to create a push mirror of a repository.", + "properties": { + "interval": { + "type": "string", + "x-go-name": "Interval" + }, + "remote_address": { + "type": "string", + "x-go-name": "RemoteAddress" + }, + "remote_password": { + "type": "string", + "x-go-name": "RemotePassword" + }, + "remote_username": { + "type": "string", + "x-go-name": "RemoteUsername" + }, + "sync_on_commit": { + "type": "boolean", + "x-go-name": "SyncOnCommit" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateReleaseOption": { + "description": "CreateReleaseOption options when creating a release", + "type": "object", + "required": [ + "tag_name" + ], + "properties": { + "body": { + "type": "string", + "x-go-name": "Note" + }, + "draft": { + "type": "boolean", + "x-go-name": "IsDraft" + }, + "name": { + "type": "string", + "x-go-name": "Title" + }, + "prerelease": { + "type": "boolean", + "x-go-name": "IsPrerelease" + }, + "tag_name": { + "type": "string", + "x-go-name": "TagName" + }, + "target_commitish": { + "type": "string", + "x-go-name": "Target" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateRepoOption": { + "description": "CreateRepoOption options when creating repository", + "type": "object", + "required": [ + "name" + ], + "properties": { + "auto_init": { + "description": "Whether the repository should be auto-initialized?", + "type": "boolean", + "x-go-name": "AutoInit" + }, + "default_branch": { + "description": "DefaultBranch of the repository (used when initializes and in template)", + "type": "string", + "x-go-name": "DefaultBranch" + }, + "description": { + "description": "Description of the repository to create", + "type": "string", + "x-go-name": "Description" + }, + "gitignores": { + "description": "Gitignores to use", + "type": "string", + "x-go-name": "Gitignores" + }, + "issue_labels": { + "description": "Label-Set to use", + "type": "string", + "x-go-name": "IssueLabels" + }, + "license": { + "description": "License to use", + "type": "string", + "x-go-name": "License" + }, + "name": { + "description": "Name of the repository to create", + "type": "string", + "uniqueItems": true, + "x-go-name": "Name" + }, + "object_format_name": { + "description": "ObjectFormatName of the underlying git repository", + "type": "string", + "enum": [ + "sha1", + "sha256" + ], + "x-go-name": "ObjectFormatName" + }, + "private": { + "description": "Whether the repository is private", + "type": "boolean", + "x-go-name": "Private" + }, + "readme": { + "description": "Readme of the repository to create", + "type": "string", + "x-go-name": "Readme" + }, + "template": { + "description": "Whether the repository is template", + "type": "boolean", + "x-go-name": "Template" + }, + "trust_model": { + "description": "TrustModel of the repository", + "type": "string", + "enum": [ + "default", + "collaborator", + "committer", + "collaboratorcommitter" + ], + "x-go-name": "TrustModel" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateStatusOption": { + "description": "CreateStatusOption holds the information needed to create a new CommitStatus for a Commit", + "type": "object", + "properties": { + "context": { + "type": "string", + "x-go-name": "Context" + }, + "description": { + "type": "string", + "x-go-name": "Description" + }, + "state": { + "$ref": "#/definitions/CommitStatusState" + }, + "target_url": { + "type": "string", + "x-go-name": "TargetURL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateTagOption": { + "description": "CreateTagOption options when creating a tag", + "type": "object", + "required": [ + "tag_name" + ], + "properties": { + "message": { + "type": "string", + "x-go-name": "Message" + }, + "tag_name": { + "type": "string", + "x-go-name": "TagName" + }, + "target": { + "type": "string", + "x-go-name": "Target" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateTeamOption": { + "description": "CreateTeamOption options for creating a team", + "type": "object", + "required": [ + "name" + ], + "properties": { + "can_create_org_repo": { + "type": "boolean", + "x-go-name": "CanCreateOrgRepo" + }, + "description": { + "type": "string", + "x-go-name": "Description" + }, + "includes_all_repositories": { + "type": "boolean", + "x-go-name": "IncludesAllRepositories" + }, + "name": { + "type": "string", + "x-go-name": "Name" + }, + "permission": { + "type": "string", + "enum": [ + "read", + "write", + "admin" + ], + "x-go-name": "Permission" + }, + "units": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "Units", + "example": [ + "repo.actions", + "repo.code", + "repo.issues", + "repo.ext_issues", + "repo.wiki", + "repo.ext_wiki", + "repo.pulls", + "repo.releases", + "repo.projects", + "repo.ext_wiki" + ] + }, + "units_map": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-go-name": "UnitsMap", + "example": "{\"repo.actions\",\"repo.packages\",\"repo.code\":\"read\",\"repo.issues\":\"write\",\"repo.ext_issues\":\"none\",\"repo.wiki\":\"admin\",\"repo.pulls\":\"owner\",\"repo.releases\":\"none\",\"repo.projects\":\"none\",\"repo.ext_wiki\":\"none\"}" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateUserOption": { + "description": "CreateUserOption create user options", + "type": "object", + "required": [ + "username", + "email" + ], + "properties": { + "created_at": { + "description": "For explicitly setting the user creation timestamp. Useful when users are\nmigrated from other systems. When omitted, the user's creation timestamp\nwill be set to \"now\".", + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "email": { + "type": "string", + "format": "email", + "x-go-name": "Email" + }, + "full_name": { + "type": "string", + "x-go-name": "FullName" + }, + "login_name": { + "type": "string", + "x-go-name": "LoginName" + }, + "must_change_password": { + "type": "boolean", + "x-go-name": "MustChangePassword" + }, + "password": { + "type": "string", + "x-go-name": "Password" + }, + "restricted": { + "type": "boolean", + "x-go-name": "Restricted" + }, + "send_notify": { + "type": "boolean", + "x-go-name": "SendNotify" + }, + "source_id": { + "type": "integer", + "format": "int64", + "x-go-name": "SourceID" + }, + "username": { + "type": "string", + "x-go-name": "Username" + }, + "visibility": { + "type": "string", + "x-go-name": "Visibility" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateVariableOption": { + "description": "CreateVariableOption the option when creating variable", + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "description": "Value of the variable to create", + "type": "string", + "x-go-name": "Value" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "CreateWikiPageOptions": { + "description": "CreateWikiPageOptions form for creating wiki", + "type": "object", + "properties": { + "content_base64": { + "description": "content must be base64 encoded", + "type": "string", + "x-go-name": "ContentBase64" + }, + "message": { + "description": "optional commit message summarizing the change", + "type": "string", + "x-go-name": "Message" + }, + "title": { + "description": "page title. leave empty to keep unchanged", + "type": "string", + "x-go-name": "Title" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Cron": { + "description": "Cron represents a Cron task", + "type": "object", + "properties": { + "exec_times": { + "type": "integer", + "format": "int64", + "x-go-name": "ExecTimes" + }, + "name": { + "type": "string", + "x-go-name": "Name" + }, + "next": { + "type": "string", + "format": "date-time", + "x-go-name": "Next" + }, + "prev": { + "type": "string", + "format": "date-time", + "x-go-name": "Prev" + }, + "schedule": { + "type": "string", + "x-go-name": "Schedule" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "DeleteEmailOption": { + "description": "DeleteEmailOption options when deleting email addresses", + "type": "object", + "properties": { + "emails": { + "description": "email addresses to delete", + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "Emails" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "DeleteFileOptions": { + "description": "DeleteFileOptions options for deleting files (used for other File structs below)\nNote: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)", + "type": "object", + "required": [ + "sha" + ], + "properties": { + "author": { + "$ref": "#/definitions/Identity" + }, + "branch": { + "description": "branch (optional) to base this file from. if not given, the default branch is used", + "type": "string", + "x-go-name": "BranchName" + }, + "committer": { + "$ref": "#/definitions/Identity" + }, + "dates": { + "$ref": "#/definitions/CommitDateOptions" + }, + "message": { + "description": "message (optional) for the commit of this file. if not supplied, a default message will be used", + "type": "string", + "x-go-name": "Message" + }, + "new_branch": { + "description": "new_branch (optional) will make a new branch from `branch` before creating the file", + "type": "string", + "x-go-name": "NewBranchName" + }, + "sha": { + "description": "sha is the SHA for the file that already exists", + "type": "string", + "x-go-name": "SHA" + }, + "signoff": { + "description": "Add a Signed-off-by trailer by the committer at the end of the commit log message.", + "type": "boolean", + "x-go-name": "Signoff" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "DeployKey": { + "description": "DeployKey a deploy key", + "type": "object", + "properties": { + "created_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "fingerprint": { + "type": "string", + "x-go-name": "Fingerprint" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "key": { + "type": "string", + "x-go-name": "Key" + }, + "key_id": { + "type": "integer", + "format": "int64", + "x-go-name": "KeyID" + }, + "read_only": { + "type": "boolean", + "x-go-name": "ReadOnly" + }, + "repository": { + "$ref": "#/definitions/Repository" + }, + "title": { + "type": "string", + "x-go-name": "Title" + }, + "url": { + "type": "string", + "x-go-name": "URL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "DismissPullReviewOptions": { + "description": "DismissPullReviewOptions are options to dismiss a pull review", + "type": "object", + "properties": { + "message": { + "type": "string", + "x-go-name": "Message" + }, + "priors": { + "type": "boolean", + "x-go-name": "Priors" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "EditAttachmentOptions": { + "description": "EditAttachmentOptions options for editing attachments", + "type": "object", + "properties": { + "name": { + "type": "string", + "x-go-name": "Name" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "EditBranchProtectionOption": { + "description": "EditBranchProtectionOption options for editing a branch protection", + "type": "object", + "properties": { + "approvals_whitelist_teams": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "ApprovalsWhitelistTeams" + }, + "approvals_whitelist_username": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "ApprovalsWhitelistUsernames" + }, + "block_on_official_review_requests": { + "type": "boolean", + "x-go-name": "BlockOnOfficialReviewRequests" + }, + "block_on_outdated_branch": { + "type": "boolean", + "x-go-name": "BlockOnOutdatedBranch" + }, + "block_on_rejected_reviews": { + "type": "boolean", + "x-go-name": "BlockOnRejectedReviews" + }, + "dismiss_stale_approvals": { + "type": "boolean", + "x-go-name": "DismissStaleApprovals" + }, + "enable_approvals_whitelist": { + "type": "boolean", + "x-go-name": "EnableApprovalsWhitelist" + }, + "enable_merge_whitelist": { + "type": "boolean", + "x-go-name": "EnableMergeWhitelist" + }, + "enable_push": { + "type": "boolean", + "x-go-name": "EnablePush" + }, + "enable_push_whitelist": { + "type": "boolean", + "x-go-name": "EnablePushWhitelist" + }, + "enable_status_check": { + "type": "boolean", + "x-go-name": "EnableStatusCheck" + }, + "ignore_stale_approvals": { + "type": "boolean", + "x-go-name": "IgnoreStaleApprovals" + }, + "merge_whitelist_teams": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "MergeWhitelistTeams" + }, + "merge_whitelist_usernames": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "MergeWhitelistUsernames" + }, + "protected_file_patterns": { + "type": "string", + "x-go-name": "ProtectedFilePatterns" + }, + "push_whitelist_deploy_keys": { + "type": "boolean", + "x-go-name": "PushWhitelistDeployKeys" + }, + "push_whitelist_teams": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "PushWhitelistTeams" + }, + "push_whitelist_usernames": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "PushWhitelistUsernames" + }, + "require_signed_commits": { + "type": "boolean", + "x-go-name": "RequireSignedCommits" + }, + "required_approvals": { + "type": "integer", + "format": "int64", + "x-go-name": "RequiredApprovals" + }, + "status_check_contexts": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "StatusCheckContexts" + }, + "unprotected_file_patterns": { + "type": "string", + "x-go-name": "UnprotectedFilePatterns" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "EditDeadlineOption": { + "description": "EditDeadlineOption options for creating a deadline", + "type": "object", + "required": [ + "due_date" + ], + "properties": { + "due_date": { + "type": "string", + "format": "date-time", + "x-go-name": "Deadline" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "EditGitHookOption": { + "description": "EditGitHookOption options when modifying one Git hook", + "type": "object", + "properties": { + "content": { + "type": "string", + "x-go-name": "Content" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "EditHookOption": { + "description": "EditHookOption options when modify one hook", + "type": "object", + "properties": { + "active": { + "type": "boolean", + "x-go-name": "Active" + }, + "authorization_header": { + "type": "string", + "x-go-name": "AuthorizationHeader" + }, + "branch_filter": { + "type": "string", + "x-go-name": "BranchFilter" + }, + "config": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-go-name": "Config" + }, + "events": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "Events" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "EditIssueCommentOption": { + "description": "EditIssueCommentOption options for editing a comment", + "type": "object", + "required": [ + "body" + ], + "properties": { + "body": { + "type": "string", + "x-go-name": "Body" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "EditIssueOption": { + "description": "EditIssueOption options for editing an issue", + "type": "object", + "properties": { + "assignee": { + "description": "deprecated", + "type": "string", + "x-go-name": "Assignee" + }, + "assignees": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "Assignees" + }, + "body": { + "type": "string", + "x-go-name": "Body" + }, + "due_date": { + "type": "string", + "format": "date-time", + "x-go-name": "Deadline" + }, + "milestone": { + "type": "integer", + "format": "int64", + "x-go-name": "Milestone" + }, + "ref": { + "type": "string", + "x-go-name": "Ref" + }, + "state": { + "type": "string", + "x-go-name": "State" + }, + "title": { + "type": "string", + "x-go-name": "Title" + }, + "unset_due_date": { + "type": "boolean", + "x-go-name": "RemoveDeadline" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "EditLabelOption": { + "description": "EditLabelOption options for editing a label", + "type": "object", + "properties": { + "color": { + "type": "string", + "x-go-name": "Color", + "example": "#00aabb" + }, + "description": { + "type": "string", + "x-go-name": "Description" + }, + "exclusive": { + "type": "boolean", + "x-go-name": "Exclusive", + "example": false + }, + "is_archived": { + "type": "boolean", + "x-go-name": "IsArchived", + "example": false + }, + "name": { + "type": "string", + "x-go-name": "Name" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "EditMilestoneOption": { + "description": "EditMilestoneOption options for editing a milestone", + "type": "object", + "properties": { + "description": { + "type": "string", + "x-go-name": "Description" + }, + "due_on": { + "type": "string", + "format": "date-time", + "x-go-name": "Deadline" + }, + "state": { + "type": "string", + "x-go-name": "State" + }, + "title": { + "type": "string", + "x-go-name": "Title" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "EditOrgOption": { + "description": "EditOrgOption options for editing an organization", + "type": "object", + "properties": { + "description": { + "type": "string", + "x-go-name": "Description" + }, + "email": { + "type": "string", + "x-go-name": "Email" + }, + "full_name": { + "type": "string", + "x-go-name": "FullName" + }, + "location": { + "type": "string", + "x-go-name": "Location" + }, + "repo_admin_change_team_access": { + "type": "boolean", + "x-go-name": "RepoAdminChangeTeamAccess" + }, + "visibility": { + "description": "possible values are `public`, `limited` or `private`", + "type": "string", + "enum": [ + "public", + "limited", + "private" + ], + "x-go-name": "Visibility" + }, + "website": { + "type": "string", + "x-go-name": "Website" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "EditPullRequestOption": { + "description": "EditPullRequestOption options when modify pull request", + "type": "object", + "properties": { + "allow_maintainer_edit": { + "type": "boolean", + "x-go-name": "AllowMaintainerEdit" + }, + "assignee": { + "type": "string", + "x-go-name": "Assignee" + }, + "assignees": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "Assignees" + }, + "base": { + "type": "string", + "x-go-name": "Base" + }, + "body": { + "type": "string", + "x-go-name": "Body" + }, + "due_date": { + "type": "string", + "format": "date-time", + "x-go-name": "Deadline" + }, + "labels": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + }, + "x-go-name": "Labels" + }, + "milestone": { + "type": "integer", + "format": "int64", + "x-go-name": "Milestone" + }, + "state": { + "type": "string", + "x-go-name": "State" + }, + "title": { + "type": "string", + "x-go-name": "Title" + }, + "unset_due_date": { + "type": "boolean", + "x-go-name": "RemoveDeadline" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "EditReactionOption": { + "description": "EditReactionOption contain the reaction type", + "type": "object", + "properties": { + "content": { + "type": "string", + "x-go-name": "Reaction" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "EditReleaseOption": { + "description": "EditReleaseOption options when editing a release", + "type": "object", + "properties": { + "body": { + "type": "string", + "x-go-name": "Note" + }, + "draft": { + "type": "boolean", + "x-go-name": "IsDraft" + }, + "name": { + "type": "string", + "x-go-name": "Title" + }, + "prerelease": { + "type": "boolean", + "x-go-name": "IsPrerelease" + }, + "tag_name": { + "type": "string", + "x-go-name": "TagName" + }, + "target_commitish": { + "type": "string", + "x-go-name": "Target" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "EditRepoOption": { + "description": "EditRepoOption options when editing a repository's properties", + "type": "object", + "properties": { + "allow_fast_forward_only_merge": { + "description": "either `true` to allow fast-forward-only merging pull requests, or `false` to prevent fast-forward-only merging.", + "type": "boolean", + "x-go-name": "AllowFastForwardOnly" + }, + "allow_manual_merge": { + "description": "either `true` to allow mark pr as merged manually, or `false` to prevent it.", + "type": "boolean", + "x-go-name": "AllowManualMerge" + }, + "allow_merge_commits": { + "description": "either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits.", + "type": "boolean", + "x-go-name": "AllowMerge" + }, + "allow_rebase": { + "description": "either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging.", + "type": "boolean", + "x-go-name": "AllowRebase" + }, + "allow_rebase_explicit": { + "description": "either `true` to allow rebase with explicit merge commits (--no-ff), or `false` to prevent rebase with explicit merge commits.", + "type": "boolean", + "x-go-name": "AllowRebaseMerge" + }, + "allow_rebase_update": { + "description": "either `true` to allow updating pull request branch by rebase, or `false` to prevent it.", + "type": "boolean", + "x-go-name": "AllowRebaseUpdate" + }, + "allow_squash_merge": { + "description": "either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging.", + "type": "boolean", + "x-go-name": "AllowSquash" + }, + "archived": { + "description": "set to `true` to archive this repository.", + "type": "boolean", + "x-go-name": "Archived" + }, + "autodetect_manual_merge": { + "description": "either `true` to enable AutodetectManualMerge, or `false` to prevent it. Note: In some special cases, misjudgments can occur.", + "type": "boolean", + "x-go-name": "AutodetectManualMerge" + }, + "default_allow_maintainer_edit": { + "description": "set to `true` to allow edits from maintainers by default", + "type": "boolean", + "x-go-name": "DefaultAllowMaintainerEdit" + }, + "default_branch": { + "description": "sets the default branch for this repository.", + "type": "string", + "x-go-name": "DefaultBranch" + }, + "default_delete_branch_after_merge": { + "description": "set to `true` to delete pr branch after merge by default", + "type": "boolean", + "x-go-name": "DefaultDeleteBranchAfterMerge" + }, + "default_merge_style": { + "description": "set to a merge style to be used by this repository: \"merge\", \"rebase\", \"rebase-merge\", \"squash\", or \"fast-forward-only\".", + "type": "string", + "x-go-name": "DefaultMergeStyle" + }, + "description": { + "description": "a short description of the repository.", + "type": "string", + "x-go-name": "Description" + }, + "enable_prune": { + "description": "enable prune - remove obsolete remote-tracking references when mirroring", + "type": "boolean", + "x-go-name": "EnablePrune" + }, + "external_tracker": { + "$ref": "#/definitions/ExternalTracker" + }, + "external_wiki": { + "$ref": "#/definitions/ExternalWiki" + }, + "has_actions": { + "description": "either `true` to enable actions unit, or `false` to disable them.", + "type": "boolean", + "x-go-name": "HasActions" + }, + "has_issues": { + "description": "either `true` to enable issues for this repository or `false` to disable them.", + "type": "boolean", + "x-go-name": "HasIssues" + }, + "has_packages": { + "description": "either `true` to enable packages unit, or `false` to disable them.", + "type": "boolean", + "x-go-name": "HasPackages" + }, + "has_projects": { + "description": "either `true` to enable project unit, or `false` to disable them.", + "type": "boolean", + "x-go-name": "HasProjects" + }, + "has_pull_requests": { + "description": "either `true` to allow pull requests, or `false` to prevent pull request.", + "type": "boolean", + "x-go-name": "HasPullRequests" + }, + "has_releases": { + "description": "either `true` to enable releases unit, or `false` to disable them.", + "type": "boolean", + "x-go-name": "HasReleases" + }, + "has_wiki": { + "description": "either `true` to enable the wiki for this repository or `false` to disable it.", + "type": "boolean", + "x-go-name": "HasWiki" + }, + "ignore_whitespace_conflicts": { + "description": "either `true` to ignore whitespace for conflicts, or `false` to not ignore whitespace.", + "type": "boolean", + "x-go-name": "IgnoreWhitespaceConflicts" + }, + "internal_tracker": { + "$ref": "#/definitions/InternalTracker" + }, + "mirror_interval": { + "description": "set to a string like `8h30m0s` to set the mirror interval time", + "type": "string", + "x-go-name": "MirrorInterval" + }, + "name": { + "description": "name of the repository", + "type": "string", + "uniqueItems": true, + "x-go-name": "Name" + }, + "private": { + "description": "either `true` to make the repository private or `false` to make it public.\nNote: you will get a 422 error if the organization restricts changing repository visibility to organization\nowners and a non-owner tries to change the value of private.", + "type": "boolean", + "x-go-name": "Private" + }, + "projects_mode": { + "description": "`repo` to only allow repo-level projects, `owner` to only allow owner projects, `all` to allow both.", + "type": "string", + "x-go-name": "ProjectsMode" + }, + "template": { + "description": "either `true` to make this repository a template or `false` to make it a normal repository", + "type": "boolean", + "x-go-name": "Template" + }, + "website": { + "description": "a URL with more information about the repository.", + "type": "string", + "x-go-name": "Website" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "EditTeamOption": { + "description": "EditTeamOption options for editing a team", + "type": "object", + "required": [ + "name" + ], + "properties": { + "can_create_org_repo": { + "type": "boolean", + "x-go-name": "CanCreateOrgRepo" + }, + "description": { + "type": "string", + "x-go-name": "Description" + }, + "includes_all_repositories": { + "type": "boolean", + "x-go-name": "IncludesAllRepositories" + }, + "name": { + "type": "string", + "x-go-name": "Name" + }, + "permission": { + "type": "string", + "enum": [ + "read", + "write", + "admin" + ], + "x-go-name": "Permission" + }, + "units": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "Units", + "example": [ + "repo.code", + "repo.issues", + "repo.ext_issues", + "repo.wiki", + "repo.pulls", + "repo.releases", + "repo.projects", + "repo.ext_wiki" + ] + }, + "units_map": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-go-name": "UnitsMap", + "example": { + "repo.code": "read", + "repo.ext_issues": "none", + "repo.ext_wiki": "none", + "repo.issues": "write", + "repo.projects": "none", + "repo.pulls": "owner", + "repo.releases": "none", + "repo.wiki": "admin" + } + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "EditUserOption": { + "description": "EditUserOption edit user options", + "type": "object", + "required": [ + "source_id", + "login_name" + ], + "properties": { + "active": { + "type": "boolean", + "x-go-name": "Active" + }, + "admin": { + "type": "boolean", + "x-go-name": "Admin" + }, + "allow_create_organization": { + "type": "boolean", + "x-go-name": "AllowCreateOrganization" + }, + "allow_git_hook": { + "type": "boolean", + "x-go-name": "AllowGitHook" + }, + "allow_import_local": { + "type": "boolean", + "x-go-name": "AllowImportLocal" + }, + "description": { + "type": "string", + "x-go-name": "Description" + }, + "email": { + "type": "string", + "format": "email", + "x-go-name": "Email" + }, + "full_name": { + "type": "string", + "x-go-name": "FullName" + }, + "location": { + "type": "string", + "x-go-name": "Location" + }, + "login_name": { + "type": "string", + "x-go-name": "LoginName" + }, + "max_repo_creation": { + "type": "integer", + "format": "int64", + "x-go-name": "MaxRepoCreation" + }, + "must_change_password": { + "type": "boolean", + "x-go-name": "MustChangePassword" + }, + "password": { + "type": "string", + "x-go-name": "Password" + }, + "prohibit_login": { + "type": "boolean", + "x-go-name": "ProhibitLogin" + }, + "restricted": { + "type": "boolean", + "x-go-name": "Restricted" + }, + "source_id": { + "type": "integer", + "format": "int64", + "x-go-name": "SourceID" + }, + "visibility": { + "type": "string", + "x-go-name": "Visibility" + }, + "website": { + "type": "string", + "x-go-name": "Website" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Email": { + "description": "Email an email address belonging to a user", + "type": "object", + "properties": { + "email": { + "type": "string", + "format": "email", + "x-go-name": "Email" + }, + "primary": { + "type": "boolean", + "x-go-name": "Primary" + }, + "user_id": { + "type": "integer", + "format": "int64", + "x-go-name": "UserID" + }, + "username": { + "type": "string", + "x-go-name": "UserName" + }, + "verified": { + "type": "boolean", + "x-go-name": "Verified" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "ExternalTracker": { + "description": "ExternalTracker represents settings for external tracker", + "type": "object", + "properties": { + "external_tracker_format": { + "description": "External Issue Tracker URL Format. Use the placeholders {user}, {repo} and {index} for the username, repository name and issue index.", + "type": "string", + "x-go-name": "ExternalTrackerFormat" + }, + "external_tracker_regexp_pattern": { + "description": "External Issue Tracker issue regular expression", + "type": "string", + "x-go-name": "ExternalTrackerRegexpPattern" + }, + "external_tracker_style": { + "description": "External Issue Tracker Number Format, either `numeric`, `alphanumeric`, or `regexp`", + "type": "string", + "x-go-name": "ExternalTrackerStyle" + }, + "external_tracker_url": { + "description": "URL of external issue tracker.", + "type": "string", + "x-go-name": "ExternalTrackerURL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "ExternalWiki": { + "description": "ExternalWiki represents setting for external wiki", + "type": "object", + "properties": { + "external_wiki_url": { + "description": "URL of external wiki.", + "type": "string", + "x-go-name": "ExternalWikiURL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "FileCommitResponse": { + "type": "object", + "title": "FileCommitResponse contains information generated from a Git commit for a repo's file.", + "properties": { + "author": { + "$ref": "#/definitions/CommitUser" + }, + "committer": { + "$ref": "#/definitions/CommitUser" + }, + "created": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "html_url": { + "type": "string", + "x-go-name": "HTMLURL" + }, + "message": { + "type": "string", + "x-go-name": "Message" + }, + "parents": { + "type": "array", + "items": { + "$ref": "#/definitions/CommitMeta" + }, + "x-go-name": "Parents" + }, + "sha": { + "type": "string", + "x-go-name": "SHA" + }, + "tree": { + "$ref": "#/definitions/CommitMeta" + }, + "url": { + "type": "string", + "x-go-name": "URL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "FileDeleteResponse": { + "description": "FileDeleteResponse contains information about a repo's file that was deleted", + "type": "object", + "properties": { + "commit": { + "$ref": "#/definitions/FileCommitResponse" + }, + "content": { + "x-go-name": "Content" + }, + "verification": { + "$ref": "#/definitions/PayloadCommitVerification" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "FileLinksResponse": { + "description": "FileLinksResponse contains the links for a repo's file", + "type": "object", + "properties": { + "git": { + "type": "string", + "x-go-name": "GitURL" + }, + "html": { + "type": "string", + "x-go-name": "HTMLURL" + }, + "self": { + "type": "string", + "x-go-name": "Self" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "FileResponse": { + "description": "FileResponse contains information about a repo's file", + "type": "object", + "properties": { + "commit": { + "$ref": "#/definitions/FileCommitResponse" + }, + "content": { + "$ref": "#/definitions/ContentsResponse" + }, + "verification": { + "$ref": "#/definitions/PayloadCommitVerification" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "FilesResponse": { + "description": "FilesResponse contains information about multiple files from a repo", + "type": "object", + "properties": { + "commit": { + "$ref": "#/definitions/FileCommitResponse" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/definitions/ContentsResponse" + }, + "x-go-name": "Files" + }, + "verification": { + "$ref": "#/definitions/PayloadCommitVerification" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "GPGKey": { + "description": "GPGKey a user GPG key to sign commit and tag in repository", + "type": "object", + "properties": { + "can_certify": { + "type": "boolean", + "x-go-name": "CanCertify" + }, + "can_encrypt_comms": { + "type": "boolean", + "x-go-name": "CanEncryptComms" + }, + "can_encrypt_storage": { + "type": "boolean", + "x-go-name": "CanEncryptStorage" + }, + "can_sign": { + "type": "boolean", + "x-go-name": "CanSign" + }, + "created_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "emails": { + "type": "array", + "items": { + "$ref": "#/definitions/GPGKeyEmail" + }, + "x-go-name": "Emails" + }, + "expires_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Expires" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "key_id": { + "type": "string", + "x-go-name": "KeyID" + }, + "primary_key_id": { + "type": "string", + "x-go-name": "PrimaryKeyID" + }, + "public_key": { + "type": "string", + "x-go-name": "PublicKey" + }, + "subkeys": { + "type": "array", + "items": { + "$ref": "#/definitions/GPGKey" + }, + "x-go-name": "SubsKey" + }, + "verified": { + "type": "boolean", + "x-go-name": "Verified" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "GPGKeyEmail": { + "description": "GPGKeyEmail an email attached to a GPGKey", + "type": "object", + "properties": { + "email": { + "type": "string", + "x-go-name": "Email" + }, + "verified": { + "type": "boolean", + "x-go-name": "Verified" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "GeneralAPISettings": { + "description": "GeneralAPISettings contains global api settings exposed by it", + "type": "object", + "properties": { + "default_git_trees_per_page": { + "type": "integer", + "format": "int64", + "x-go-name": "DefaultGitTreesPerPage" + }, + "default_max_blob_size": { + "type": "integer", + "format": "int64", + "x-go-name": "DefaultMaxBlobSize" + }, + "default_paging_num": { + "type": "integer", + "format": "int64", + "x-go-name": "DefaultPagingNum" + }, + "max_response_items": { + "type": "integer", + "format": "int64", + "x-go-name": "MaxResponseItems" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "GeneralAttachmentSettings": { + "description": "GeneralAttachmentSettings contains global Attachment settings exposed by API", + "type": "object", + "properties": { + "allowed_types": { + "type": "string", + "x-go-name": "AllowedTypes" + }, + "enabled": { + "type": "boolean", + "x-go-name": "Enabled" + }, + "max_files": { + "type": "integer", + "format": "int64", + "x-go-name": "MaxFiles" + }, + "max_size": { + "type": "integer", + "format": "int64", + "x-go-name": "MaxSize" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "GeneralRepoSettings": { + "description": "GeneralRepoSettings contains global repository settings exposed by API", + "type": "object", + "properties": { + "http_git_disabled": { + "type": "boolean", + "x-go-name": "HTTPGitDisabled" + }, + "lfs_disabled": { + "type": "boolean", + "x-go-name": "LFSDisabled" + }, + "migrations_disabled": { + "type": "boolean", + "x-go-name": "MigrationsDisabled" + }, + "mirrors_disabled": { + "type": "boolean", + "x-go-name": "MirrorsDisabled" + }, + "stars_disabled": { + "type": "boolean", + "x-go-name": "StarsDisabled" + }, + "time_tracking_disabled": { + "type": "boolean", + "x-go-name": "TimeTrackingDisabled" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "GeneralUISettings": { + "description": "GeneralUISettings contains global ui settings exposed by API", + "type": "object", + "properties": { + "allowed_reactions": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "AllowedReactions" + }, + "custom_emojis": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "CustomEmojis" + }, + "default_theme": { + "type": "string", + "x-go-name": "DefaultTheme" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "GenerateRepoOption": { + "description": "GenerateRepoOption options when creating repository using a template", + "type": "object", + "required": [ + "owner", + "name" + ], + "properties": { + "avatar": { + "description": "include avatar of the template repo", + "type": "boolean", + "x-go-name": "Avatar" + }, + "default_branch": { + "description": "Default branch of the new repository", + "type": "string", + "x-go-name": "DefaultBranch" + }, + "description": { + "description": "Description of the repository to create", + "type": "string", + "x-go-name": "Description" + }, + "git_content": { + "description": "include git content of default branch in template repo", + "type": "boolean", + "x-go-name": "GitContent" + }, + "git_hooks": { + "description": "include git hooks in template repo", + "type": "boolean", + "x-go-name": "GitHooks" + }, + "labels": { + "description": "include labels in template repo", + "type": "boolean", + "x-go-name": "Labels" + }, + "name": { + "description": "Name of the repository to create", + "type": "string", + "uniqueItems": true, + "x-go-name": "Name" + }, + "owner": { + "description": "The organization or person who will own the new repository", + "type": "string", + "x-go-name": "Owner" + }, + "private": { + "description": "Whether the repository is private", + "type": "boolean", + "x-go-name": "Private" + }, + "protected_branch": { + "description": "include protected branches in template repo", + "type": "boolean", + "x-go-name": "ProtectedBranch" + }, + "topics": { + "description": "include topics in template repo", + "type": "boolean", + "x-go-name": "Topics" + }, + "webhooks": { + "description": "include webhooks in template repo", + "type": "boolean", + "x-go-name": "Webhooks" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "GitBlobResponse": { + "description": "GitBlobResponse represents a git blob", + "type": "object", + "properties": { + "content": { + "type": "string", + "x-go-name": "Content" + }, + "encoding": { + "type": "string", + "x-go-name": "Encoding" + }, + "sha": { + "type": "string", + "x-go-name": "SHA" + }, + "size": { + "type": "integer", + "format": "int64", + "x-go-name": "Size" + }, + "url": { + "type": "string", + "x-go-name": "URL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "GitEntry": { + "description": "GitEntry represents a git tree", + "type": "object", + "properties": { + "mode": { + "type": "string", + "x-go-name": "Mode" + }, + "path": { + "type": "string", + "x-go-name": "Path" + }, + "sha": { + "type": "string", + "x-go-name": "SHA" + }, + "size": { + "type": "integer", + "format": "int64", + "x-go-name": "Size" + }, + "type": { + "type": "string", + "x-go-name": "Type" + }, + "url": { + "type": "string", + "x-go-name": "URL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "GitHook": { + "description": "GitHook represents a Git repository hook", + "type": "object", + "properties": { + "content": { + "type": "string", + "x-go-name": "Content" + }, + "is_active": { + "type": "boolean", + "x-go-name": "IsActive" + }, + "name": { + "type": "string", + "x-go-name": "Name" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "GitObject": { + "type": "object", + "title": "GitObject represents a Git object.", + "properties": { + "sha": { + "type": "string", + "x-go-name": "SHA" + }, + "type": { + "type": "string", + "x-go-name": "Type" + }, + "url": { + "type": "string", + "x-go-name": "URL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "GitTreeResponse": { + "description": "GitTreeResponse returns a git tree", + "type": "object", + "properties": { + "page": { + "type": "integer", + "format": "int64", + "x-go-name": "Page" + }, + "sha": { + "type": "string", + "x-go-name": "SHA" + }, + "total_count": { + "type": "integer", + "format": "int64", + "x-go-name": "TotalCount" + }, + "tree": { + "type": "array", + "items": { + "$ref": "#/definitions/GitEntry" + }, + "x-go-name": "Entries" + }, + "truncated": { + "type": "boolean", + "x-go-name": "Truncated" + }, + "url": { + "type": "string", + "x-go-name": "URL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "GitignoreTemplateInfo": { + "description": "GitignoreTemplateInfo name and text of a gitignore template", + "type": "object", + "properties": { + "name": { + "type": "string", + "x-go-name": "Name" + }, + "source": { + "type": "string", + "x-go-name": "Source" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Hook": { + "description": "Hook a hook is a web hook when one repository changed", + "type": "object", + "properties": { + "active": { + "type": "boolean", + "x-go-name": "Active" + }, + "authorization_header": { + "type": "string", + "x-go-name": "AuthorizationHeader" + }, + "branch_filter": { + "type": "string", + "x-go-name": "BranchFilter" + }, + "config": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-go-name": "Config" + }, + "created_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "events": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "Events" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "type": { + "type": "string", + "x-go-name": "Type" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Updated" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Identity": { + "description": "Identity for a person's identity like an author or committer", + "type": "object", + "properties": { + "email": { + "type": "string", + "format": "email", + "x-go-name": "Email" + }, + "name": { + "type": "string", + "x-go-name": "Name" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "InternalTracker": { + "description": "InternalTracker represents settings for internal tracker", + "type": "object", + "properties": { + "allow_only_contributors_to_track_time": { + "description": "Let only contributors track time (Built-in issue tracker)", + "type": "boolean", + "x-go-name": "AllowOnlyContributorsToTrackTime" + }, + "enable_issue_dependencies": { + "description": "Enable dependencies for issues and pull requests (Built-in issue tracker)", + "type": "boolean", + "x-go-name": "EnableIssueDependencies" + }, + "enable_time_tracker": { + "description": "Enable time tracking (Built-in issue tracker)", + "type": "boolean", + "x-go-name": "EnableTimeTracker" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Issue": { + "description": "Issue represents an issue in a repository", + "type": "object", + "properties": { + "assets": { + "type": "array", + "items": { + "$ref": "#/definitions/Attachment" + }, + "x-go-name": "Attachments" + }, + "assignee": { + "$ref": "#/definitions/User" + }, + "assignees": { + "type": "array", + "items": { + "$ref": "#/definitions/User" + }, + "x-go-name": "Assignees" + }, + "body": { + "type": "string", + "x-go-name": "Body" + }, + "closed_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Closed" + }, + "comments": { + "type": "integer", + "format": "int64", + "x-go-name": "Comments" + }, + "created_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "due_date": { + "type": "string", + "format": "date-time", + "x-go-name": "Deadline" + }, + "html_url": { + "type": "string", + "x-go-name": "HTMLURL" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "is_locked": { + "type": "boolean", + "x-go-name": "IsLocked" + }, + "labels": { + "type": "array", + "items": { + "$ref": "#/definitions/Label" + }, + "x-go-name": "Labels" + }, + "milestone": { + "$ref": "#/definitions/Milestone" + }, + "number": { + "type": "integer", + "format": "int64", + "x-go-name": "Index" + }, + "original_author": { + "type": "string", + "x-go-name": "OriginalAuthor" + }, + "original_author_id": { + "type": "integer", + "format": "int64", + "x-go-name": "OriginalAuthorID" + }, + "pin_order": { + "type": "integer", + "format": "int64", + "x-go-name": "PinOrder" + }, + "pull_request": { + "$ref": "#/definitions/PullRequestMeta" + }, + "ref": { + "type": "string", + "x-go-name": "Ref" + }, + "repository": { + "$ref": "#/definitions/RepositoryMeta" + }, + "state": { + "$ref": "#/definitions/StateType" + }, + "title": { + "type": "string", + "x-go-name": "Title" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Updated" + }, + "url": { + "type": "string", + "x-go-name": "URL" + }, + "user": { + "$ref": "#/definitions/User" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "IssueConfig": { + "type": "object", + "properties": { + "blank_issues_enabled": { + "type": "boolean", + "x-go-name": "BlankIssuesEnabled" + }, + "contact_links": { + "type": "array", + "items": { + "$ref": "#/definitions/IssueConfigContactLink" + }, + "x-go-name": "ContactLinks" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "IssueConfigContactLink": { + "type": "object", + "properties": { + "about": { + "type": "string", + "x-go-name": "About" + }, + "name": { + "type": "string", + "x-go-name": "Name" + }, + "url": { + "type": "string", + "x-go-name": "URL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "IssueConfigValidation": { + "type": "object", + "properties": { + "message": { + "type": "string", + "x-go-name": "Message" + }, + "valid": { + "type": "boolean", + "x-go-name": "Valid" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "IssueDeadline": { + "description": "IssueDeadline represents an issue deadline", + "type": "object", + "properties": { + "due_date": { + "type": "string", + "format": "date-time", + "x-go-name": "Deadline" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "IssueFormField": { + "description": "IssueFormField represents a form field", + "type": "object", + "properties": { + "attributes": { + "type": "object", + "additionalProperties": {}, + "x-go-name": "Attributes" + }, + "id": { + "type": "string", + "x-go-name": "ID" + }, + "type": { + "$ref": "#/definitions/IssueFormFieldType" + }, + "validations": { + "type": "object", + "additionalProperties": {}, + "x-go-name": "Validations" + }, + "visible": { + "type": "array", + "items": { + "$ref": "#/definitions/IssueFormFieldVisible" + }, + "x-go-name": "Visible" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "IssueFormFieldType": { + "type": "string", + "title": "IssueFormFieldType defines issue form field type, can be \"markdown\", \"textarea\", \"input\", \"dropdown\" or \"checkboxes\"", + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "IssueFormFieldVisible": { + "description": "IssueFormFieldVisible defines issue form field visible", + "type": "string", + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "IssueLabelsOption": { + "description": "IssueLabelsOption a collection of labels", + "type": "object", + "properties": { + "labels": { + "description": "Labels can be a list of integers representing label IDs\nor a list of strings representing label names", + "type": "array", + "items": {}, + "x-go-name": "Labels" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "IssueMeta": { + "description": "IssueMeta basic issue information", + "type": "object", + "properties": { + "index": { + "type": "integer", + "format": "int64", + "x-go-name": "Index" + }, + "owner": { + "type": "string", + "x-go-name": "Owner" + }, + "repo": { + "type": "string", + "x-go-name": "Name" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "IssueTemplate": { + "description": "IssueTemplate represents an issue template for a repository", + "type": "object", + "properties": { + "about": { + "type": "string", + "x-go-name": "About" + }, + "body": { + "type": "array", + "items": { + "$ref": "#/definitions/IssueFormField" + }, + "x-go-name": "Fields" + }, + "content": { + "type": "string", + "x-go-name": "Content" + }, + "file_name": { + "type": "string", + "x-go-name": "FileName" + }, + "labels": { + "$ref": "#/definitions/IssueTemplateLabels" + }, + "name": { + "type": "string", + "x-go-name": "Name" + }, + "ref": { + "type": "string", + "x-go-name": "Ref" + }, + "title": { + "type": "string", + "x-go-name": "Title" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "IssueTemplateLabels": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Label": { + "description": "Label a label to an issue or a pr", + "type": "object", + "properties": { + "color": { + "type": "string", + "x-go-name": "Color", + "example": "00aabb" + }, + "description": { + "type": "string", + "x-go-name": "Description" + }, + "exclusive": { + "type": "boolean", + "x-go-name": "Exclusive", + "example": false + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "is_archived": { + "type": "boolean", + "x-go-name": "IsArchived", + "example": false + }, + "name": { + "type": "string", + "x-go-name": "Name" + }, + "url": { + "type": "string", + "x-go-name": "URL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "LabelTemplate": { + "description": "LabelTemplate info of a Label template", + "type": "object", + "properties": { + "color": { + "type": "string", + "x-go-name": "Color", + "example": "00aabb" + }, + "description": { + "type": "string", + "x-go-name": "Description" + }, + "exclusive": { + "type": "boolean", + "x-go-name": "Exclusive", + "example": false + }, + "name": { + "type": "string", + "x-go-name": "Name" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "LicenseTemplateInfo": { + "description": "LicensesInfo contains information about a License", + "type": "object", + "properties": { + "body": { + "type": "string", + "x-go-name": "Body" + }, + "implementation": { + "type": "string", + "x-go-name": "Implementation" + }, + "key": { + "type": "string", + "x-go-name": "Key" + }, + "name": { + "type": "string", + "x-go-name": "Name" + }, + "url": { + "type": "string", + "x-go-name": "URL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "LicensesTemplateListEntry": { + "description": "LicensesListEntry is used for the API", + "type": "object", + "properties": { + "key": { + "type": "string", + "x-go-name": "Key" + }, + "name": { + "type": "string", + "x-go-name": "Name" + }, + "url": { + "type": "string", + "x-go-name": "URL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "MarkdownOption": { + "description": "MarkdownOption markdown options", + "type": "object", + "properties": { + "Context": { + "description": "URL path for rendering issue, media and file links\nExpected format: /subpath/{user}/{repo}/src/{branch, commit, tag}/{identifier/path}/{file/dir}\n\nin: body", + "type": "string" + }, + "Mode": { + "description": "Mode to render (comment, gfm, markdown)\n\nin: body", + "type": "string" + }, + "Text": { + "description": "Text markdown to render\n\nin: body", + "type": "string" + }, + "Wiki": { + "description": "Is it a wiki page ?\n\nin: body", + "type": "boolean" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "MarkupOption": { + "description": "MarkupOption markup options", + "type": "object", + "properties": { + "Context": { + "description": "URL path for rendering issue, media and file links\nExpected format: /subpath/{user}/{repo}/src/{branch, commit, tag}/{identifier/path}/{file/dir}\n\nin: body", + "type": "string" + }, + "FilePath": { + "description": "File path for detecting extension in file mode\n\nin: body", + "type": "string" + }, + "Mode": { + "description": "Mode to render (comment, gfm, markdown, file)\n\nin: body", + "type": "string" + }, + "Text": { + "description": "Text markup to render\n\nin: body", + "type": "string" + }, + "Wiki": { + "description": "Is it a wiki page ?\n\nin: body", + "type": "boolean" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "MergePullRequestOption": { + "description": "MergePullRequestForm form for merging Pull Request", + "type": "object", + "required": [ + "Do" + ], + "properties": { + "Do": { + "type": "string", + "enum": [ + "merge", + "rebase", + "rebase-merge", + "squash", + "fast-forward-only", + "manually-merged" + ] + }, + "MergeCommitID": { + "type": "string" + }, + "MergeMessageField": { + "type": "string" + }, + "MergeTitleField": { + "type": "string" + }, + "delete_branch_after_merge": { + "type": "boolean", + "x-go-name": "DeleteBranchAfterMerge" + }, + "force_merge": { + "type": "boolean", + "x-go-name": "ForceMerge" + }, + "head_commit_id": { + "type": "string", + "x-go-name": "HeadCommitID" + }, + "merge_when_checks_succeed": { + "type": "boolean", + "x-go-name": "MergeWhenChecksSucceed" + } + }, + "x-go-name": "MergePullRequestForm", + "x-go-package": "code.gitea.io/gitea/services/forms" + }, + "MigrateRepoOptions": { + "description": "MigrateRepoOptions options for migrating repository's\nthis is used to interact with api v1", + "type": "object", + "required": [ + "clone_addr", + "repo_name" + ], + "properties": { + "auth_password": { + "type": "string", + "x-go-name": "AuthPassword" + }, + "auth_token": { + "type": "string", + "x-go-name": "AuthToken" + }, + "auth_username": { + "type": "string", + "x-go-name": "AuthUsername" + }, + "clone_addr": { + "type": "string", + "x-go-name": "CloneAddr" + }, + "description": { + "type": "string", + "x-go-name": "Description" + }, + "issues": { + "type": "boolean", + "x-go-name": "Issues" + }, + "labels": { + "type": "boolean", + "x-go-name": "Labels" + }, + "lfs": { + "type": "boolean", + "x-go-name": "LFS" + }, + "lfs_endpoint": { + "type": "string", + "x-go-name": "LFSEndpoint" + }, + "milestones": { + "type": "boolean", + "x-go-name": "Milestones" + }, + "mirror": { + "type": "boolean", + "x-go-name": "Mirror" + }, + "mirror_interval": { + "type": "string", + "x-go-name": "MirrorInterval" + }, + "private": { + "type": "boolean", + "x-go-name": "Private" + }, + "pull_requests": { + "type": "boolean", + "x-go-name": "PullRequests" + }, + "releases": { + "type": "boolean", + "x-go-name": "Releases" + }, + "repo_name": { + "type": "string", + "x-go-name": "RepoName" + }, + "repo_owner": { + "description": "Name of User or Organisation who will own Repo after migration", + "type": "string", + "x-go-name": "RepoOwner" + }, + "service": { + "type": "string", + "enum": [ + "git", + "github", + "gitea", + "gitlab", + "gogs", + "onedev", + "gitbucket", + "codebase" + ], + "x-go-name": "Service" + }, + "uid": { + "description": "deprecated (only for backwards compatibility)", + "type": "integer", + "format": "int64", + "x-go-name": "RepoOwnerID" + }, + "wiki": { + "type": "boolean", + "x-go-name": "Wiki" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Milestone": { + "description": "Milestone milestone is a collection of issues on one repository", + "type": "object", + "properties": { + "closed_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Closed" + }, + "closed_issues": { + "type": "integer", + "format": "int64", + "x-go-name": "ClosedIssues" + }, + "created_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "description": { + "type": "string", + "x-go-name": "Description" + }, + "due_on": { + "type": "string", + "format": "date-time", + "x-go-name": "Deadline" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "open_issues": { + "type": "integer", + "format": "int64", + "x-go-name": "OpenIssues" + }, + "state": { + "$ref": "#/definitions/StateType" + }, + "title": { + "type": "string", + "x-go-name": "Title" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Updated" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "NewIssuePinsAllowed": { + "description": "NewIssuePinsAllowed represents an API response that says if new Issue Pins are allowed", + "type": "object", + "properties": { + "issues": { + "type": "boolean", + "x-go-name": "Issues" + }, + "pull_requests": { + "type": "boolean", + "x-go-name": "PullRequests" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "NodeInfo": { + "description": "NodeInfo contains standardized way of exposing metadata about a server running one of the distributed social networks", + "type": "object", + "properties": { + "metadata": { + "type": "object", + "x-go-name": "Metadata" + }, + "openRegistrations": { + "type": "boolean", + "x-go-name": "OpenRegistrations" + }, + "protocols": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "Protocols" + }, + "services": { + "$ref": "#/definitions/NodeInfoServices" + }, + "software": { + "$ref": "#/definitions/NodeInfoSoftware" + }, + "usage": { + "$ref": "#/definitions/NodeInfoUsage" + }, + "version": { + "type": "string", + "x-go-name": "Version" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "NodeInfoServices": { + "description": "NodeInfoServices contains the third party sites this server can connect to via their application API", + "type": "object", + "properties": { + "inbound": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "Inbound" + }, + "outbound": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "Outbound" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "NodeInfoSoftware": { + "description": "NodeInfoSoftware contains Metadata about server software in use", + "type": "object", + "properties": { + "homepage": { + "type": "string", + "x-go-name": "Homepage" + }, + "name": { + "type": "string", + "x-go-name": "Name" + }, + "repository": { + "type": "string", + "x-go-name": "Repository" + }, + "version": { + "type": "string", + "x-go-name": "Version" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "NodeInfoUsage": { + "description": "NodeInfoUsage contains usage statistics for this server", + "type": "object", + "properties": { + "localComments": { + "type": "integer", + "format": "int64", + "x-go-name": "LocalComments" + }, + "localPosts": { + "type": "integer", + "format": "int64", + "x-go-name": "LocalPosts" + }, + "users": { + "$ref": "#/definitions/NodeInfoUsageUsers" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "NodeInfoUsageUsers": { + "description": "NodeInfoUsageUsers contains statistics about the users of this server", + "type": "object", + "properties": { + "activeHalfyear": { + "type": "integer", + "format": "int64", + "x-go-name": "ActiveHalfyear" + }, + "activeMonth": { + "type": "integer", + "format": "int64", + "x-go-name": "ActiveMonth" + }, + "total": { + "type": "integer", + "format": "int64", + "x-go-name": "Total" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Note": { + "description": "Note contains information related to a git note", + "type": "object", + "properties": { + "commit": { + "$ref": "#/definitions/Commit" + }, + "message": { + "type": "string", + "x-go-name": "Message" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "NotificationCount": { + "description": "NotificationCount number of unread notifications", + "type": "object", + "properties": { + "new": { + "type": "integer", + "format": "int64", + "x-go-name": "New" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "NotificationSubject": { + "description": "NotificationSubject contains the notification subject (Issue/Pull/Commit)", + "type": "object", + "properties": { + "html_url": { + "type": "string", + "x-go-name": "HTMLURL" + }, + "latest_comment_html_url": { + "type": "string", + "x-go-name": "LatestCommentHTMLURL" + }, + "latest_comment_url": { + "type": "string", + "x-go-name": "LatestCommentURL" + }, + "state": { + "$ref": "#/definitions/StateType" + }, + "title": { + "type": "string", + "x-go-name": "Title" + }, + "type": { + "$ref": "#/definitions/NotifySubjectType" + }, + "url": { + "type": "string", + "x-go-name": "URL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "NotificationThread": { + "description": "NotificationThread expose Notification on API", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "pinned": { + "type": "boolean", + "x-go-name": "Pinned" + }, + "repository": { + "$ref": "#/definitions/Repository" + }, + "subject": { + "$ref": "#/definitions/NotificationSubject" + }, + "unread": { + "type": "boolean", + "x-go-name": "Unread" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "x-go-name": "UpdatedAt" + }, + "url": { + "type": "string", + "x-go-name": "URL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "NotifySubjectType": { + "description": "NotifySubjectType represent type of notification subject", + "type": "string", + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "OAuth2Application": { + "type": "object", + "title": "OAuth2Application represents an OAuth2 application.", + "properties": { + "client_id": { + "type": "string", + "x-go-name": "ClientID" + }, + "client_secret": { + "type": "string", + "x-go-name": "ClientSecret" + }, + "confidential_client": { + "type": "boolean", + "x-go-name": "ConfidentialClient" + }, + "created": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "name": { + "type": "string", + "x-go-name": "Name" + }, + "redirect_uris": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "RedirectURIs" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Organization": { + "description": "Organization represents an organization", + "type": "object", + "properties": { + "avatar_url": { + "type": "string", + "x-go-name": "AvatarURL" + }, + "description": { + "type": "string", + "x-go-name": "Description" + }, + "email": { + "type": "string", + "x-go-name": "Email" + }, + "full_name": { + "type": "string", + "x-go-name": "FullName" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "location": { + "type": "string", + "x-go-name": "Location" + }, + "name": { + "type": "string", + "x-go-name": "Name" + }, + "repo_admin_change_team_access": { + "type": "boolean", + "x-go-name": "RepoAdminChangeTeamAccess" + }, + "username": { + "description": "deprecated", + "type": "string", + "x-go-name": "UserName" + }, + "visibility": { + "type": "string", + "x-go-name": "Visibility" + }, + "website": { + "type": "string", + "x-go-name": "Website" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "OrganizationPermissions": { + "description": "OrganizationPermissions list different users permissions on an organization", + "type": "object", + "properties": { + "can_create_repository": { + "type": "boolean", + "x-go-name": "CanCreateRepository" + }, + "can_read": { + "type": "boolean", + "x-go-name": "CanRead" + }, + "can_write": { + "type": "boolean", + "x-go-name": "CanWrite" + }, + "is_admin": { + "type": "boolean", + "x-go-name": "IsAdmin" + }, + "is_owner": { + "type": "boolean", + "x-go-name": "IsOwner" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "PRBranchInfo": { + "description": "PRBranchInfo information about a branch", + "type": "object", + "properties": { + "label": { + "type": "string", + "x-go-name": "Name" + }, + "ref": { + "type": "string", + "x-go-name": "Ref" + }, + "repo": { + "$ref": "#/definitions/Repository" + }, + "repo_id": { + "type": "integer", + "format": "int64", + "x-go-name": "RepoID" + }, + "sha": { + "type": "string", + "x-go-name": "Sha" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Package": { + "description": "Package represents a package", + "type": "object", + "properties": { + "created_at": { + "type": "string", + "format": "date-time", + "x-go-name": "CreatedAt" + }, + "creator": { + "$ref": "#/definitions/User" + }, + "html_url": { + "type": "string", + "x-go-name": "HTMLURL" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "name": { + "type": "string", + "x-go-name": "Name" + }, + "owner": { + "$ref": "#/definitions/User" + }, + "repository": { + "$ref": "#/definitions/Repository" + }, + "type": { + "type": "string", + "x-go-name": "Type" + }, + "version": { + "type": "string", + "x-go-name": "Version" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "PackageFile": { + "description": "PackageFile represents a package file", + "type": "object", + "properties": { + "Size": { + "type": "integer", + "format": "int64" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "md5": { + "type": "string", + "x-go-name": "HashMD5" + }, + "name": { + "type": "string", + "x-go-name": "Name" + }, + "sha1": { + "type": "string", + "x-go-name": "HashSHA1" + }, + "sha256": { + "type": "string", + "x-go-name": "HashSHA256" + }, + "sha512": { + "type": "string", + "x-go-name": "HashSHA512" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "PayloadCommit": { + "description": "PayloadCommit represents a commit", + "type": "object", + "properties": { + "added": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "Added" + }, + "author": { + "$ref": "#/definitions/PayloadUser" + }, + "committer": { + "$ref": "#/definitions/PayloadUser" + }, + "id": { + "description": "sha1 hash of the commit", + "type": "string", + "x-go-name": "ID" + }, + "message": { + "type": "string", + "x-go-name": "Message" + }, + "modified": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "Modified" + }, + "removed": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "Removed" + }, + "timestamp": { + "type": "string", + "format": "date-time", + "x-go-name": "Timestamp" + }, + "url": { + "type": "string", + "x-go-name": "URL" + }, + "verification": { + "$ref": "#/definitions/PayloadCommitVerification" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "PayloadCommitVerification": { + "description": "PayloadCommitVerification represents the GPG verification of a commit", + "type": "object", + "properties": { + "payload": { + "type": "string", + "x-go-name": "Payload" + }, + "reason": { + "type": "string", + "x-go-name": "Reason" + }, + "signature": { + "type": "string", + "x-go-name": "Signature" + }, + "signer": { + "$ref": "#/definitions/PayloadUser" + }, + "verified": { + "type": "boolean", + "x-go-name": "Verified" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "PayloadUser": { + "description": "PayloadUser represents the author or committer of a commit", + "type": "object", + "properties": { + "email": { + "type": "string", + "format": "email", + "x-go-name": "Email" + }, + "name": { + "description": "Full name of the commit author", + "type": "string", + "x-go-name": "Name" + }, + "username": { + "type": "string", + "x-go-name": "UserName" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Permission": { + "description": "Permission represents a set of permissions", + "type": "object", + "properties": { + "admin": { + "type": "boolean", + "x-go-name": "Admin" + }, + "pull": { + "type": "boolean", + "x-go-name": "Pull" + }, + "push": { + "type": "boolean", + "x-go-name": "Push" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "PublicKey": { + "description": "PublicKey publickey is a user key to push code to repository", + "type": "object", + "properties": { + "created_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "fingerprint": { + "type": "string", + "x-go-name": "Fingerprint" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "key": { + "type": "string", + "x-go-name": "Key" + }, + "key_type": { + "type": "string", + "x-go-name": "KeyType" + }, + "read_only": { + "type": "boolean", + "x-go-name": "ReadOnly" + }, + "title": { + "type": "string", + "x-go-name": "Title" + }, + "url": { + "type": "string", + "x-go-name": "URL" + }, + "user": { + "$ref": "#/definitions/User" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "PullRequest": { + "description": "PullRequest represents a pull request", + "type": "object", + "properties": { + "additions": { + "type": "integer", + "format": "int64", + "x-go-name": "Additions" + }, + "allow_maintainer_edit": { + "type": "boolean", + "x-go-name": "AllowMaintainerEdit" + }, + "assignee": { + "$ref": "#/definitions/User" + }, + "assignees": { + "type": "array", + "items": { + "$ref": "#/definitions/User" + }, + "x-go-name": "Assignees" + }, + "base": { + "$ref": "#/definitions/PRBranchInfo" + }, + "body": { + "type": "string", + "x-go-name": "Body" + }, + "changed_files": { + "type": "integer", + "format": "int64", + "x-go-name": "ChangedFiles" + }, + "closed_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Closed" + }, + "comments": { + "type": "integer", + "format": "int64", + "x-go-name": "Comments" + }, + "created_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "deletions": { + "type": "integer", + "format": "int64", + "x-go-name": "Deletions" + }, + "diff_url": { + "type": "string", + "x-go-name": "DiffURL" + }, + "draft": { + "type": "boolean", + "x-go-name": "Draft" + }, + "due_date": { + "type": "string", + "format": "date-time", + "x-go-name": "Deadline" + }, + "head": { + "$ref": "#/definitions/PRBranchInfo" + }, + "html_url": { + "type": "string", + "x-go-name": "HTMLURL" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "is_locked": { + "type": "boolean", + "x-go-name": "IsLocked" + }, + "labels": { + "type": "array", + "items": { + "$ref": "#/definitions/Label" + }, + "x-go-name": "Labels" + }, + "merge_base": { + "type": "string", + "x-go-name": "MergeBase" + }, + "merge_commit_sha": { + "type": "string", + "x-go-name": "MergedCommitID" + }, + "mergeable": { + "type": "boolean", + "x-go-name": "Mergeable" + }, + "merged": { + "type": "boolean", + "x-go-name": "HasMerged" + }, + "merged_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Merged" + }, + "merged_by": { + "$ref": "#/definitions/User" + }, + "milestone": { + "$ref": "#/definitions/Milestone" + }, + "number": { + "type": "integer", + "format": "int64", + "x-go-name": "Index" + }, + "patch_url": { + "type": "string", + "x-go-name": "PatchURL" + }, + "pin_order": { + "type": "integer", + "format": "int64", + "x-go-name": "PinOrder" + }, + "requested_reviewers": { + "type": "array", + "items": { + "$ref": "#/definitions/User" + }, + "x-go-name": "RequestedReviewers" + }, + "review_comments": { + "description": "number of review comments made on the diff of a PR review (not including comments on commits or issues in a PR)", + "type": "integer", + "format": "int64", + "x-go-name": "ReviewComments" + }, + "state": { + "$ref": "#/definitions/StateType" + }, + "title": { + "type": "string", + "x-go-name": "Title" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Updated" + }, + "url": { + "type": "string", + "x-go-name": "URL" + }, + "user": { + "$ref": "#/definitions/User" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "PullRequestMeta": { + "description": "PullRequestMeta PR info if an issue is a PR", + "type": "object", + "properties": { + "draft": { + "type": "boolean", + "x-go-name": "IsWorkInProgress" + }, + "html_url": { + "type": "string", + "x-go-name": "HTMLURL" + }, + "merged": { + "type": "boolean", + "x-go-name": "HasMerged" + }, + "merged_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Merged" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "PullReview": { + "description": "PullReview represents a pull request review", + "type": "object", + "properties": { + "body": { + "type": "string", + "x-go-name": "Body" + }, + "comments_count": { + "type": "integer", + "format": "int64", + "x-go-name": "CodeCommentsCount" + }, + "commit_id": { + "type": "string", + "x-go-name": "CommitID" + }, + "dismissed": { + "type": "boolean", + "x-go-name": "Dismissed" + }, + "html_url": { + "type": "string", + "x-go-name": "HTMLURL" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "official": { + "type": "boolean", + "x-go-name": "Official" + }, + "pull_request_url": { + "type": "string", + "x-go-name": "HTMLPullURL" + }, + "stale": { + "type": "boolean", + "x-go-name": "Stale" + }, + "state": { + "$ref": "#/definitions/ReviewStateType" + }, + "submitted_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Submitted" + }, + "team": { + "$ref": "#/definitions/Team" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Updated" + }, + "user": { + "$ref": "#/definitions/User" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "PullReviewComment": { + "description": "PullReviewComment represents a comment on a pull request review", + "type": "object", + "properties": { + "body": { + "type": "string", + "x-go-name": "Body" + }, + "commit_id": { + "type": "string", + "x-go-name": "CommitID" + }, + "created_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "diff_hunk": { + "type": "string", + "x-go-name": "DiffHunk" + }, + "html_url": { + "type": "string", + "x-go-name": "HTMLURL" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "original_commit_id": { + "type": "string", + "x-go-name": "OrigCommitID" + }, + "original_position": { + "type": "integer", + "format": "uint64", + "x-go-name": "OldLineNum" + }, + "path": { + "type": "string", + "x-go-name": "Path" + }, + "position": { + "type": "integer", + "format": "uint64", + "x-go-name": "LineNum" + }, + "pull_request_review_id": { + "type": "integer", + "format": "int64", + "x-go-name": "ReviewID" + }, + "pull_request_url": { + "type": "string", + "x-go-name": "HTMLPullURL" + }, + "resolver": { + "$ref": "#/definitions/User" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Updated" + }, + "user": { + "$ref": "#/definitions/User" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "PullReviewRequestOptions": { + "description": "PullReviewRequestOptions are options to add or remove pull review requests", + "type": "object", + "properties": { + "reviewers": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "Reviewers" + }, + "team_reviewers": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "TeamReviewers" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "PushMirror": { + "description": "PushMirror represents information of a push mirror", + "type": "object", + "properties": { + "created": { + "type": "string", + "format": "date-time", + "x-go-name": "CreatedUnix" + }, + "interval": { + "type": "string", + "x-go-name": "Interval" + }, + "last_error": { + "type": "string", + "x-go-name": "LastError" + }, + "last_update": { + "type": "string", + "format": "date-time", + "x-go-name": "LastUpdateUnix" + }, + "remote_address": { + "type": "string", + "x-go-name": "RemoteAddress" + }, + "remote_name": { + "type": "string", + "x-go-name": "RemoteName" + }, + "repo_name": { + "type": "string", + "x-go-name": "RepoName" + }, + "sync_on_commit": { + "type": "boolean", + "x-go-name": "SyncOnCommit" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Reaction": { + "description": "Reaction contain one reaction", + "type": "object", + "properties": { + "content": { + "type": "string", + "x-go-name": "Reaction" + }, + "created_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "user": { + "$ref": "#/definitions/User" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Reference": { + "type": "object", + "title": "Reference represents a Git reference.", + "properties": { + "object": { + "$ref": "#/definitions/GitObject" + }, + "ref": { + "type": "string", + "x-go-name": "Ref" + }, + "url": { + "type": "string", + "x-go-name": "URL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Release": { + "description": "Release represents a repository release", + "type": "object", + "properties": { + "assets": { + "type": "array", + "items": { + "$ref": "#/definitions/Attachment" + }, + "x-go-name": "Attachments" + }, + "author": { + "$ref": "#/definitions/User" + }, + "body": { + "type": "string", + "x-go-name": "Note" + }, + "created_at": { + "type": "string", + "format": "date-time", + "x-go-name": "CreatedAt" + }, + "draft": { + "type": "boolean", + "x-go-name": "IsDraft" + }, + "html_url": { + "type": "string", + "x-go-name": "HTMLURL" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "name": { + "type": "string", + "x-go-name": "Title" + }, + "prerelease": { + "type": "boolean", + "x-go-name": "IsPrerelease" + }, + "published_at": { + "type": "string", + "format": "date-time", + "x-go-name": "PublishedAt" + }, + "tag_name": { + "type": "string", + "x-go-name": "TagName" + }, + "tarball_url": { + "type": "string", + "x-go-name": "TarURL" + }, + "target_commitish": { + "type": "string", + "x-go-name": "Target" + }, + "upload_url": { + "type": "string", + "x-go-name": "UploadURL" + }, + "url": { + "type": "string", + "x-go-name": "URL" + }, + "zipball_url": { + "type": "string", + "x-go-name": "ZipURL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "RenameUserOption": { + "description": "RenameUserOption options when renaming a user", + "type": "object", + "required": [ + "new_username" + ], + "properties": { + "new_username": { + "description": "New username for this user. This name cannot be in use yet by any other user.", + "type": "string", + "uniqueItems": true, + "x-go-name": "NewName" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "RepoCollaboratorPermission": { + "description": "RepoCollaboratorPermission to get repository permission for a collaborator", + "type": "object", + "properties": { + "permission": { + "type": "string", + "x-go-name": "Permission" + }, + "role_name": { + "type": "string", + "x-go-name": "RoleName" + }, + "user": { + "$ref": "#/definitions/User" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "RepoCommit": { + "type": "object", + "title": "RepoCommit contains information of a commit in the context of a repository.", + "properties": { + "author": { + "$ref": "#/definitions/CommitUser" + }, + "committer": { + "$ref": "#/definitions/CommitUser" + }, + "message": { + "type": "string", + "x-go-name": "Message" + }, + "tree": { + "$ref": "#/definitions/CommitMeta" + }, + "url": { + "type": "string", + "x-go-name": "URL" + }, + "verification": { + "$ref": "#/definitions/PayloadCommitVerification" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "RepoTopicOptions": { + "description": "RepoTopicOptions a collection of repo topic names", + "type": "object", + "properties": { + "topics": { + "description": "list of topic names", + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "Topics" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "RepoTransfer": { + "description": "RepoTransfer represents a pending repo transfer", + "type": "object", + "properties": { + "doer": { + "$ref": "#/definitions/User" + }, + "recipient": { + "$ref": "#/definitions/User" + }, + "teams": { + "type": "array", + "items": { + "$ref": "#/definitions/Team" + }, + "x-go-name": "Teams" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Repository": { + "description": "Repository represents a repository", + "type": "object", + "properties": { + "allow_fast_forward_only_merge": { + "type": "boolean", + "x-go-name": "AllowFastForwardOnly" + }, + "allow_merge_commits": { + "type": "boolean", + "x-go-name": "AllowMerge" + }, + "allow_rebase": { + "type": "boolean", + "x-go-name": "AllowRebase" + }, + "allow_rebase_explicit": { + "type": "boolean", + "x-go-name": "AllowRebaseMerge" + }, + "allow_rebase_update": { + "type": "boolean", + "x-go-name": "AllowRebaseUpdate" + }, + "allow_squash_merge": { + "type": "boolean", + "x-go-name": "AllowSquash" + }, + "archived": { + "type": "boolean", + "x-go-name": "Archived" + }, + "archived_at": { + "type": "string", + "format": "date-time", + "x-go-name": "ArchivedAt" + }, + "avatar_url": { + "type": "string", + "x-go-name": "AvatarURL" + }, + "clone_url": { + "type": "string", + "x-go-name": "CloneURL" + }, + "created_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "default_allow_maintainer_edit": { + "type": "boolean", + "x-go-name": "DefaultAllowMaintainerEdit" + }, + "default_branch": { + "type": "string", + "x-go-name": "DefaultBranch" + }, + "default_delete_branch_after_merge": { + "type": "boolean", + "x-go-name": "DefaultDeleteBranchAfterMerge" + }, + "default_merge_style": { + "type": "string", + "x-go-name": "DefaultMergeStyle" + }, + "description": { + "type": "string", + "x-go-name": "Description" + }, + "empty": { + "type": "boolean", + "x-go-name": "Empty" + }, + "external_tracker": { + "$ref": "#/definitions/ExternalTracker" + }, + "external_wiki": { + "$ref": "#/definitions/ExternalWiki" + }, + "fork": { + "type": "boolean", + "x-go-name": "Fork" + }, + "forks_count": { + "type": "integer", + "format": "int64", + "x-go-name": "Forks" + }, + "full_name": { + "type": "string", + "x-go-name": "FullName" + }, + "has_actions": { + "type": "boolean", + "x-go-name": "HasActions" + }, + "has_issues": { + "type": "boolean", + "x-go-name": "HasIssues" + }, + "has_packages": { + "type": "boolean", + "x-go-name": "HasPackages" + }, + "has_projects": { + "type": "boolean", + "x-go-name": "HasProjects" + }, + "has_pull_requests": { + "type": "boolean", + "x-go-name": "HasPullRequests" + }, + "has_releases": { + "type": "boolean", + "x-go-name": "HasReleases" + }, + "has_wiki": { + "type": "boolean", + "x-go-name": "HasWiki" + }, + "html_url": { + "type": "string", + "x-go-name": "HTMLURL" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "ignore_whitespace_conflicts": { + "type": "boolean", + "x-go-name": "IgnoreWhitespaceConflicts" + }, + "internal": { + "type": "boolean", + "x-go-name": "Internal" + }, + "internal_tracker": { + "$ref": "#/definitions/InternalTracker" + }, + "language": { + "type": "string", + "x-go-name": "Language" + }, + "languages_url": { + "type": "string", + "x-go-name": "LanguagesURL" + }, + "link": { + "type": "string", + "x-go-name": "Link" + }, + "mirror": { + "type": "boolean", + "x-go-name": "Mirror" + }, + "mirror_interval": { + "type": "string", + "x-go-name": "MirrorInterval" + }, + "mirror_updated": { + "type": "string", + "format": "date-time", + "x-go-name": "MirrorUpdated" + }, + "name": { + "type": "string", + "x-go-name": "Name" + }, + "object_format_name": { + "description": "ObjectFormatName of the underlying git repository", + "type": "string", + "enum": [ + "sha1", + "sha256" + ], + "x-go-name": "ObjectFormatName" + }, + "open_issues_count": { + "type": "integer", + "format": "int64", + "x-go-name": "OpenIssues" + }, + "open_pr_counter": { + "type": "integer", + "format": "int64", + "x-go-name": "OpenPulls" + }, + "original_url": { + "type": "string", + "x-go-name": "OriginalURL" + }, + "owner": { + "$ref": "#/definitions/User" + }, + "parent": { + "$ref": "#/definitions/Repository" + }, + "permissions": { + "$ref": "#/definitions/Permission" + }, + "private": { + "type": "boolean", + "x-go-name": "Private" + }, + "projects_mode": { + "type": "string", + "x-go-name": "ProjectsMode" + }, + "release_counter": { + "type": "integer", + "format": "int64", + "x-go-name": "Releases" + }, + "repo_transfer": { + "$ref": "#/definitions/RepoTransfer" + }, + "size": { + "type": "integer", + "format": "int64", + "x-go-name": "Size" + }, + "ssh_url": { + "type": "string", + "x-go-name": "SSHURL" + }, + "stars_count": { + "type": "integer", + "format": "int64", + "x-go-name": "Stars" + }, + "template": { + "type": "boolean", + "x-go-name": "Template" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Updated" + }, + "url": { + "type": "string", + "x-go-name": "URL" + }, + "watchers_count": { + "type": "integer", + "format": "int64", + "x-go-name": "Watchers" + }, + "website": { + "type": "string", + "x-go-name": "Website" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "RepositoryMeta": { + "description": "RepositoryMeta basic repository information", + "type": "object", + "properties": { + "full_name": { + "type": "string", + "x-go-name": "FullName" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "name": { + "type": "string", + "x-go-name": "Name" + }, + "owner": { + "type": "string", + "x-go-name": "Owner" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "ReviewStateType": { + "description": "ReviewStateType review state type", + "type": "string", + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "SearchResults": { + "description": "SearchResults results of a successful search", + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/Repository" + }, + "x-go-name": "Data" + }, + "ok": { + "type": "boolean", + "x-go-name": "OK" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Secret": { + "description": "Secret represents a secret", + "type": "object", + "properties": { + "created_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "name": { + "description": "the secret's name", + "type": "string", + "x-go-name": "Name" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "ServerVersion": { + "description": "ServerVersion wraps the version of the server", + "type": "object", + "properties": { + "version": { + "type": "string", + "x-go-name": "Version" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "StateType": { + "description": "StateType issue state type", + "type": "string", + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "StopWatch": { + "description": "StopWatch represent a running stopwatch", + "type": "object", + "properties": { + "created": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "duration": { + "type": "string", + "x-go-name": "Duration" + }, + "issue_index": { + "type": "integer", + "format": "int64", + "x-go-name": "IssueIndex" + }, + "issue_title": { + "type": "string", + "x-go-name": "IssueTitle" + }, + "repo_name": { + "type": "string", + "x-go-name": "RepoName" + }, + "repo_owner_name": { + "type": "string", + "x-go-name": "RepoOwnerName" + }, + "seconds": { + "type": "integer", + "format": "int64", + "x-go-name": "Seconds" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "SubmitPullReviewOptions": { + "description": "SubmitPullReviewOptions are options to submit a pending pull review", + "type": "object", + "properties": { + "body": { + "type": "string", + "x-go-name": "Body" + }, + "event": { + "$ref": "#/definitions/ReviewStateType" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Tag": { + "description": "Tag represents a repository tag", + "type": "object", + "properties": { + "commit": { + "$ref": "#/definitions/CommitMeta" + }, + "id": { + "type": "string", + "x-go-name": "ID" + }, + "message": { + "type": "string", + "x-go-name": "Message" + }, + "name": { + "type": "string", + "x-go-name": "Name" + }, + "tarball_url": { + "type": "string", + "x-go-name": "TarballURL" + }, + "zipball_url": { + "type": "string", + "x-go-name": "ZipballURL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "Team": { + "description": "Team represents a team in an organization", + "type": "object", + "properties": { + "can_create_org_repo": { + "type": "boolean", + "x-go-name": "CanCreateOrgRepo" + }, + "description": { + "type": "string", + "x-go-name": "Description" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "includes_all_repositories": { + "type": "boolean", + "x-go-name": "IncludesAllRepositories" + }, + "name": { + "type": "string", + "x-go-name": "Name" + }, + "organization": { + "$ref": "#/definitions/Organization" + }, + "permission": { + "type": "string", + "enum": [ + "none", + "read", + "write", + "admin", + "owner" + ], + "x-go-name": "Permission" + }, + "units": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "Units", + "example": [ + "repo.code", + "repo.issues", + "repo.ext_issues", + "repo.wiki", + "repo.pulls", + "repo.releases", + "repo.projects", + "repo.ext_wiki" + ] + }, + "units_map": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-go-name": "UnitsMap", + "example": { + "repo.code": "read", + "repo.ext_issues": "none", + "repo.ext_wiki": "none", + "repo.issues": "write", + "repo.projects": "none", + "repo.pulls": "owner", + "repo.releases": "none", + "repo.wiki": "admin" + } + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "TimeStamp": { + "description": "TimeStamp defines a timestamp", + "type": "integer", + "format": "int64", + "x-go-package": "code.gitea.io/gitea/modules/timeutil" + }, + "TimelineComment": { + "description": "TimelineComment represents a timeline comment (comment of any type) on a commit or issue", + "type": "object", + "properties": { + "assignee": { + "$ref": "#/definitions/User" + }, + "assignee_team": { + "$ref": "#/definitions/Team" + }, + "body": { + "type": "string", + "x-go-name": "Body" + }, + "created_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "dependent_issue": { + "$ref": "#/definitions/Issue" + }, + "html_url": { + "type": "string", + "x-go-name": "HTMLURL" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "issue_url": { + "type": "string", + "x-go-name": "IssueURL" + }, + "label": { + "$ref": "#/definitions/Label" + }, + "milestone": { + "$ref": "#/definitions/Milestone" + }, + "new_ref": { + "type": "string", + "x-go-name": "NewRef" + }, + "new_title": { + "type": "string", + "x-go-name": "NewTitle" + }, + "old_milestone": { + "$ref": "#/definitions/Milestone" + }, + "old_project_id": { + "type": "integer", + "format": "int64", + "x-go-name": "OldProjectID" + }, + "old_ref": { + "type": "string", + "x-go-name": "OldRef" + }, + "old_title": { + "type": "string", + "x-go-name": "OldTitle" + }, + "project_id": { + "type": "integer", + "format": "int64", + "x-go-name": "ProjectID" + }, + "pull_request_url": { + "type": "string", + "x-go-name": "PRURL" + }, + "ref_action": { + "type": "string", + "x-go-name": "RefAction" + }, + "ref_comment": { + "$ref": "#/definitions/Comment" + }, + "ref_commit_sha": { + "description": "commit SHA where issue/PR was referenced", + "type": "string", + "x-go-name": "RefCommitSHA" + }, + "ref_issue": { + "$ref": "#/definitions/Issue" + }, + "removed_assignee": { + "description": "whether the assignees were removed or added", + "type": "boolean", + "x-go-name": "RemovedAssignee" + }, + "resolve_doer": { + "$ref": "#/definitions/User" + }, + "review_id": { + "type": "integer", + "format": "int64", + "x-go-name": "ReviewID" + }, + "tracked_time": { + "$ref": "#/definitions/TrackedTime" + }, + "type": { + "type": "string", + "x-go-name": "Type" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "x-go-name": "Updated" + }, + "user": { + "$ref": "#/definitions/User" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "TopicName": { + "description": "TopicName a list of repo topic names", + "type": "object", + "properties": { + "topics": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "TopicNames" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "TopicResponse": { + "description": "TopicResponse for returning topics", + "type": "object", + "properties": { + "created": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "repo_count": { + "type": "integer", + "format": "int64", + "x-go-name": "RepoCount" + }, + "topic_name": { + "type": "string", + "x-go-name": "Name" + }, + "updated": { + "type": "string", + "format": "date-time", + "x-go-name": "Updated" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "TrackedTime": { + "description": "TrackedTime worked time for an issue / pr", + "type": "object", + "properties": { + "created": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "id": { + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "issue": { + "$ref": "#/definitions/Issue" + }, + "issue_id": { + "description": "deprecated (only for backwards compatibility)", + "type": "integer", + "format": "int64", + "x-go-name": "IssueID" + }, + "time": { + "description": "Time in seconds", + "type": "integer", + "format": "int64", + "x-go-name": "Time" + }, + "user_id": { + "description": "deprecated (only for backwards compatibility)", + "type": "integer", + "format": "int64", + "x-go-name": "UserID" + }, + "user_name": { + "type": "string", + "x-go-name": "UserName" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "TransferRepoOption": { + "description": "TransferRepoOption options when transfer a repository's ownership", + "type": "object", + "required": [ + "new_owner" + ], + "properties": { + "new_owner": { + "type": "string", + "x-go-name": "NewOwner" + }, + "team_ids": { + "description": "ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories.", + "type": "array", + "items": { + "type": "integer", + "format": "int64" + }, + "x-go-name": "TeamIDs" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "UpdateFileOptions": { + "description": "UpdateFileOptions options for updating files\nNote: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)", + "type": "object", + "required": [ + "sha", + "content" + ], + "properties": { + "author": { + "$ref": "#/definitions/Identity" + }, + "branch": { + "description": "branch (optional) to base this file from. if not given, the default branch is used", + "type": "string", + "x-go-name": "BranchName" + }, + "committer": { + "$ref": "#/definitions/Identity" + }, + "content": { + "description": "content must be base64 encoded", + "type": "string", + "x-go-name": "ContentBase64" + }, + "dates": { + "$ref": "#/definitions/CommitDateOptions" + }, + "from_path": { + "description": "from_path (optional) is the path of the original file which will be moved/renamed to the path in the URL", + "type": "string", + "x-go-name": "FromPath" + }, + "message": { + "description": "message (optional) for the commit of this file. if not supplied, a default message will be used", + "type": "string", + "x-go-name": "Message" + }, + "new_branch": { + "description": "new_branch (optional) will make a new branch from `branch` before creating the file", + "type": "string", + "x-go-name": "NewBranchName" + }, + "sha": { + "description": "sha is the SHA for the file that already exists", + "type": "string", + "x-go-name": "SHA" + }, + "signoff": { + "description": "Add a Signed-off-by trailer by the committer at the end of the commit log message.", + "type": "boolean", + "x-go-name": "Signoff" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "UpdateRepoAvatarOption": { + "description": "UpdateRepoAvatarUserOption options when updating the repo avatar", + "type": "object", + "properties": { + "image": { + "description": "image must be base64 encoded", + "type": "string", + "x-go-name": "Image" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "UpdateUserAvatarOption": { + "description": "UpdateUserAvatarUserOption options when updating the user avatar", + "type": "object", + "properties": { + "image": { + "description": "image must be base64 encoded", + "type": "string", + "x-go-name": "Image" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "UpdateVariableOption": { + "description": "UpdateVariableOption the option when updating variable", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "description": "New name for the variable. If the field is empty, the variable name won't be updated.", + "type": "string", + "x-go-name": "Name" + }, + "value": { + "description": "Value of the variable to update", + "type": "string", + "x-go-name": "Value" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "User": { + "description": "User represents a user", + "type": "object", + "properties": { + "active": { + "description": "Is user active", + "type": "boolean", + "x-go-name": "IsActive" + }, + "avatar_url": { + "description": "URL to the user's avatar", + "type": "string", + "x-go-name": "AvatarURL" + }, + "created": { + "type": "string", + "format": "date-time", + "x-go-name": "Created" + }, + "description": { + "description": "the user's description", + "type": "string", + "x-go-name": "Description" + }, + "email": { + "type": "string", + "format": "email", + "x-go-name": "Email" + }, + "followers_count": { + "description": "user counts", + "type": "integer", + "format": "int64", + "x-go-name": "Followers" + }, + "following_count": { + "type": "integer", + "format": "int64", + "x-go-name": "Following" + }, + "full_name": { + "description": "the user's full name", + "type": "string", + "x-go-name": "FullName" + }, + "html_url": { + "description": "URL to the user's gitea page", + "type": "string", + "x-go-name": "HTMLURL" + }, + "id": { + "description": "the user's id", + "type": "integer", + "format": "int64", + "x-go-name": "ID" + }, + "is_admin": { + "description": "Is the user an administrator", + "type": "boolean", + "x-go-name": "IsAdmin" + }, + "language": { + "description": "User locale", + "type": "string", + "x-go-name": "Language" + }, + "last_login": { + "type": "string", + "format": "date-time", + "x-go-name": "LastLogin" + }, + "location": { + "description": "the user's location", + "type": "string", + "x-go-name": "Location" + }, + "login": { + "description": "the user's username", + "type": "string", + "x-go-name": "UserName" + }, + "login_name": { + "description": "the user's authentication sign-in name.", + "type": "string", + "default": "empty", + "x-go-name": "LoginName" + }, + "prohibit_login": { + "description": "Is user login prohibited", + "type": "boolean", + "x-go-name": "ProhibitLogin" + }, + "restricted": { + "description": "Is user restricted", + "type": "boolean", + "x-go-name": "Restricted" + }, + "source_id": { + "description": "The ID of the user's Authentication Source", + "type": "integer", + "format": "int64", + "x-go-name": "SourceID" + }, + "starred_repos_count": { + "type": "integer", + "format": "int64", + "x-go-name": "StarredRepos" + }, + "visibility": { + "description": "User visibility level option: public, limited, private", + "type": "string", + "x-go-name": "Visibility" + }, + "website": { + "description": "the user's website", + "type": "string", + "x-go-name": "Website" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "UserBadgeOption": { + "description": "UserBadgeOption options for link between users and badges", + "type": "object", + "properties": { + "badge_slugs": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "BadgeSlugs", + "example": [ + "badge1", + "badge2" + ] + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "UserHeatmapData": { + "description": "UserHeatmapData represents the data needed to create a heatmap", + "type": "object", + "properties": { + "contributions": { + "type": "integer", + "format": "int64", + "x-go-name": "Contributions" + }, + "timestamp": { + "$ref": "#/definitions/TimeStamp" + } + }, + "x-go-package": "code.gitea.io/gitea/models/activities" + }, + "UserSettings": { + "description": "UserSettings represents user settings", + "type": "object", + "properties": { + "description": { + "type": "string", + "x-go-name": "Description" + }, + "diff_view_style": { + "type": "string", + "x-go-name": "DiffViewStyle" + }, + "full_name": { + "type": "string", + "x-go-name": "FullName" + }, + "hide_activity": { + "type": "boolean", + "x-go-name": "HideActivity" + }, + "hide_email": { + "description": "Privacy", + "type": "boolean", + "x-go-name": "HideEmail" + }, + "language": { + "type": "string", + "x-go-name": "Language" + }, + "location": { + "type": "string", + "x-go-name": "Location" + }, + "theme": { + "type": "string", + "x-go-name": "Theme" + }, + "website": { + "type": "string", + "x-go-name": "Website" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "UserSettingsOptions": { + "description": "UserSettingsOptions represents options to change user settings", + "type": "object", + "properties": { + "description": { + "type": "string", + "x-go-name": "Description" + }, + "diff_view_style": { + "type": "string", + "x-go-name": "DiffViewStyle" + }, + "full_name": { + "type": "string", + "x-go-name": "FullName" + }, + "hide_activity": { + "type": "boolean", + "x-go-name": "HideActivity" + }, + "hide_email": { + "description": "Privacy", + "type": "boolean", + "x-go-name": "HideEmail" + }, + "language": { + "type": "string", + "x-go-name": "Language" + }, + "location": { + "type": "string", + "x-go-name": "Location" + }, + "theme": { + "type": "string", + "x-go-name": "Theme" + }, + "website": { + "type": "string", + "x-go-name": "Website" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "WatchInfo": { + "description": "WatchInfo represents an API watch status of one repository", + "type": "object", + "properties": { + "created_at": { + "type": "string", + "format": "date-time", + "x-go-name": "CreatedAt" + }, + "ignored": { + "type": "boolean", + "x-go-name": "Ignored" + }, + "reason": { + "x-go-name": "Reason" + }, + "repository_url": { + "type": "string", + "x-go-name": "RepositoryURL" + }, + "subscribed": { + "type": "boolean", + "x-go-name": "Subscribed" + }, + "url": { + "type": "string", + "x-go-name": "URL" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "WikiCommit": { + "description": "WikiCommit page commit/revision", + "type": "object", + "properties": { + "author": { + "$ref": "#/definitions/CommitUser" + }, + "commiter": { + "$ref": "#/definitions/CommitUser" + }, + "message": { + "type": "string", + "x-go-name": "Message" + }, + "sha": { + "type": "string", + "x-go-name": "ID" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "WikiCommitList": { + "description": "WikiCommitList commit/revision list", + "type": "object", + "properties": { + "commits": { + "type": "array", + "items": { + "$ref": "#/definitions/WikiCommit" + }, + "x-go-name": "WikiCommits" + }, + "count": { + "type": "integer", + "format": "int64", + "x-go-name": "Count" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "WikiPage": { + "description": "WikiPage a wiki page", + "type": "object", + "properties": { + "commit_count": { + "type": "integer", + "format": "int64", + "x-go-name": "CommitCount" + }, + "content_base64": { + "description": "Page content, base64 encoded", + "type": "string", + "x-go-name": "ContentBase64" + }, + "footer": { + "type": "string", + "x-go-name": "Footer" + }, + "html_url": { + "type": "string", + "x-go-name": "HTMLURL" + }, + "last_commit": { + "$ref": "#/definitions/WikiCommit" + }, + "sidebar": { + "type": "string", + "x-go-name": "Sidebar" + }, + "sub_url": { + "type": "string", + "x-go-name": "SubURL" + }, + "title": { + "type": "string", + "x-go-name": "Title" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, + "WikiPageMetaData": { + "description": "WikiPageMetaData wiki page meta information", + "type": "object", + "properties": { + "html_url": { + "type": "string", + "x-go-name": "HTMLURL" + }, + "last_commit": { + "$ref": "#/definitions/WikiCommit" + }, + "sub_url": { + "type": "string", + "x-go-name": "SubURL" + }, + "title": { + "type": "string", + "x-go-name": "Title" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + } + }, + "responses": { + "AccessToken": { + "description": "AccessToken represents an API access token.", + "schema": { + "$ref": "#/definitions/AccessToken" + } + }, + "AccessTokenList": { + "description": "AccessTokenList represents a list of API access token.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/AccessToken" + } + } + }, + "ActionVariable": { + "description": "ActionVariable", + "schema": { + "$ref": "#/definitions/ActionVariable" + } + }, + "ActivityFeedsList": { + "description": "ActivityFeedsList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Activity" + } + } + }, + "ActivityPub": { + "description": "ActivityPub", + "schema": { + "$ref": "#/definitions/ActivityPub" + } + }, + "AnnotatedTag": { + "description": "AnnotatedTag", + "schema": { + "$ref": "#/definitions/AnnotatedTag" + } + }, + "Attachment": { + "description": "Attachment", + "schema": { + "$ref": "#/definitions/Attachment" + } + }, + "AttachmentList": { + "description": "AttachmentList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Attachment" + } + } + }, + "BadgeList": { + "description": "BadgeList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Badge" + } + } + }, + "Branch": { + "description": "Branch", + "schema": { + "$ref": "#/definitions/Branch" + } + }, + "BranchList": { + "description": "BranchList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Branch" + } + } + }, + "BranchProtection": { + "description": "BranchProtection", + "schema": { + "$ref": "#/definitions/BranchProtection" + } + }, + "BranchProtectionList": { + "description": "BranchProtectionList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/BranchProtection" + } + } + }, + "ChangedFileList": { + "description": "ChangedFileList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ChangedFile" + } + }, + "headers": { + "X-HasMore": { + "type": "boolean", + "description": "True if there is another page" + }, + "X-Page": { + "type": "integer", + "format": "int64", + "description": "The current page" + }, + "X-PageCount": { + "type": "integer", + "format": "int64", + "description": "Total number of pages" + }, + "X-PerPage": { + "type": "integer", + "format": "int64", + "description": "Commits per page" + }, + "X-Total": { + "type": "integer", + "format": "int64", + "description": "Total commit count" + } + } + }, + "CombinedStatus": { + "description": "CombinedStatus", + "schema": { + "$ref": "#/definitions/CombinedStatus" + } + }, + "Comment": { + "description": "Comment", + "schema": { + "$ref": "#/definitions/Comment" + } + }, + "CommentList": { + "description": "CommentList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Comment" + } + } + }, + "Commit": { + "description": "Commit", + "schema": { + "$ref": "#/definitions/Commit" + } + }, + "CommitList": { + "description": "CommitList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Commit" + } + }, + "headers": { + "X-HasMore": { + "type": "boolean", + "description": "True if there is another page" + }, + "X-Page": { + "type": "integer", + "format": "int64", + "description": "The current page" + }, + "X-PageCount": { + "type": "integer", + "format": "int64", + "description": "Total number of pages" + }, + "X-PerPage": { + "type": "integer", + "format": "int64", + "description": "Commits per page" + }, + "X-Total": { + "type": "integer", + "format": "int64", + "description": "Total commit count" + } + } + }, + "CommitStatus": { + "description": "CommitStatus", + "schema": { + "$ref": "#/definitions/CommitStatus" + } + }, + "CommitStatusList": { + "description": "CommitStatusList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/CommitStatus" + } + } + }, + "Compare": { + "description": "", + "schema": { + "$ref": "#/definitions/Compare" + } + }, + "ContentsListResponse": { + "description": "ContentsListResponse", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ContentsResponse" + } + } + }, + "ContentsResponse": { + "description": "ContentsResponse", + "schema": { + "$ref": "#/definitions/ContentsResponse" + } + }, + "CronList": { + "description": "CronList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Cron" + } + } + }, + "DeployKey": { + "description": "DeployKey", + "schema": { + "$ref": "#/definitions/DeployKey" + } + }, + "DeployKeyList": { + "description": "DeployKeyList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/DeployKey" + } + } + }, + "EmailList": { + "description": "EmailList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Email" + } + } + }, + "EmptyRepository": { + "description": "EmptyRepository", + "schema": { + "$ref": "#/definitions/APIError" + } + }, + "FileDeleteResponse": { + "description": "FileDeleteResponse", + "schema": { + "$ref": "#/definitions/FileDeleteResponse" + } + }, + "FileResponse": { + "description": "FileResponse", + "schema": { + "$ref": "#/definitions/FileResponse" + } + }, + "FilesResponse": { + "description": "FilesResponse", + "schema": { + "$ref": "#/definitions/FilesResponse" + } + }, + "GPGKey": { + "description": "GPGKey", + "schema": { + "$ref": "#/definitions/GPGKey" + } + }, + "GPGKeyList": { + "description": "GPGKeyList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/GPGKey" + } + } + }, + "GeneralAPISettings": { + "description": "GeneralAPISettings", + "schema": { + "$ref": "#/definitions/GeneralAPISettings" + } + }, + "GeneralAttachmentSettings": { + "description": "GeneralAttachmentSettings", + "schema": { + "$ref": "#/definitions/GeneralAttachmentSettings" + } + }, + "GeneralRepoSettings": { + "description": "GeneralRepoSettings", + "schema": { + "$ref": "#/definitions/GeneralRepoSettings" + } + }, + "GeneralUISettings": { + "description": "GeneralUISettings", + "schema": { + "$ref": "#/definitions/GeneralUISettings" + } + }, + "GitBlobResponse": { + "description": "GitBlobResponse", + "schema": { + "$ref": "#/definitions/GitBlobResponse" + } + }, + "GitHook": { + "description": "GitHook", + "schema": { + "$ref": "#/definitions/GitHook" + } + }, + "GitHookList": { + "description": "GitHookList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/GitHook" + } + } + }, + "GitTreeResponse": { + "description": "GitTreeResponse", + "schema": { + "$ref": "#/definitions/GitTreeResponse" + } + }, + "GitignoreTemplateInfo": { + "description": "GitignoreTemplateInfo", + "schema": { + "$ref": "#/definitions/GitignoreTemplateInfo" + } + }, + "GitignoreTemplateList": { + "description": "GitignoreTemplateList", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "Hook": { + "description": "Hook", + "schema": { + "$ref": "#/definitions/Hook" + } + }, + "HookList": { + "description": "HookList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Hook" + } + } + }, + "Issue": { + "description": "Issue", + "schema": { + "$ref": "#/definitions/Issue" + } + }, + "IssueDeadline": { + "description": "IssueDeadline", + "schema": { + "$ref": "#/definitions/IssueDeadline" + } + }, + "IssueList": { + "description": "IssueList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Issue" + } + } + }, + "IssueTemplates": { + "description": "IssueTemplates", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/IssueTemplate" + } + } + }, + "Label": { + "description": "Label", + "schema": { + "$ref": "#/definitions/Label" + } + }, + "LabelList": { + "description": "LabelList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Label" + } + } + }, + "LabelTemplateInfo": { + "description": "LabelTemplateInfo", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/LabelTemplate" + } + } + }, + "LabelTemplateList": { + "description": "LabelTemplateList", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "LanguageStatistics": { + "description": "LanguageStatistics", + "schema": { + "type": "object", + "additionalProperties": { + "type": "integer", + "format": "int64" + } + } + }, + "LicenseTemplateInfo": { + "description": "LicenseTemplateInfo", + "schema": { + "$ref": "#/definitions/LicenseTemplateInfo" + } + }, + "LicenseTemplateList": { + "description": "LicenseTemplateList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/LicensesTemplateListEntry" + } + } + }, + "MarkdownRender": { + "description": "MarkdownRender is a rendered markdown document", + "schema": { + "type": "string" + } + }, + "MarkupRender": { + "description": "MarkupRender is a rendered markup document", + "schema": { + "type": "string" + } + }, + "Milestone": { + "description": "Milestone", + "schema": { + "$ref": "#/definitions/Milestone" + } + }, + "MilestoneList": { + "description": "MilestoneList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Milestone" + } + } + }, + "NodeInfo": { + "description": "NodeInfo", + "schema": { + "$ref": "#/definitions/NodeInfo" + } + }, + "Note": { + "description": "Note", + "schema": { + "$ref": "#/definitions/Note" + } + }, + "NotificationCount": { + "description": "Number of unread notifications", + "schema": { + "$ref": "#/definitions/NotificationCount" + } + }, + "NotificationThread": { + "description": "NotificationThread", + "schema": { + "$ref": "#/definitions/NotificationThread" + } + }, + "NotificationThreadList": { + "description": "NotificationThreadList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/NotificationThread" + } + } + }, + "OAuth2Application": { + "description": "OAuth2Application", + "schema": { + "$ref": "#/definitions/OAuth2Application" + } + }, + "OAuth2ApplicationList": { + "description": "OAuth2ApplicationList represents a list of OAuth2 applications.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/OAuth2Application" + } + } + }, + "Organization": { + "description": "Organization", + "schema": { + "$ref": "#/definitions/Organization" + } + }, + "OrganizationList": { + "description": "OrganizationList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Organization" + } + } + }, + "OrganizationPermissions": { + "description": "OrganizationPermissions", + "schema": { + "$ref": "#/definitions/OrganizationPermissions" + } + }, + "Package": { + "description": "Package", + "schema": { + "$ref": "#/definitions/Package" + } + }, + "PackageFileList": { + "description": "PackageFileList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/PackageFile" + } + } + }, + "PackageList": { + "description": "PackageList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Package" + } + } + }, + "PublicKey": { + "description": "PublicKey", + "schema": { + "$ref": "#/definitions/PublicKey" + } + }, + "PublicKeyList": { + "description": "PublicKeyList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/PublicKey" + } + } + }, + "PullRequest": { + "description": "PullRequest", + "schema": { + "$ref": "#/definitions/PullRequest" + } + }, + "PullRequestList": { + "description": "PullRequestList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/PullRequest" + } + } + }, + "PullReview": { + "description": "PullReview", + "schema": { + "$ref": "#/definitions/PullReview" + } + }, + "PullReviewComment": { + "description": "PullComment", + "schema": { + "$ref": "#/definitions/PullReviewComment" + } + }, + "PullReviewCommentList": { + "description": "PullCommentList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/PullReviewComment" + } + } + }, + "PullReviewList": { + "description": "PullReviewList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/PullReview" + } + } + }, + "PushMirror": { + "description": "PushMirror", + "schema": { + "$ref": "#/definitions/PushMirror" + } + }, + "PushMirrorList": { + "description": "PushMirrorList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/PushMirror" + } + } + }, + "Reaction": { + "description": "Reaction", + "schema": { + "$ref": "#/definitions/Reaction" + } + }, + "ReactionList": { + "description": "ReactionList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Reaction" + } + } + }, + "Reference": { + "description": "Reference", + "schema": { + "$ref": "#/definitions/Reference" + } + }, + "ReferenceList": { + "description": "ReferenceList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Reference" + } + } + }, + "RegistrationToken": { + "description": "RegistrationToken is response related to registration token", + "headers": { + "token": { + "type": "string" + } + } + }, + "Release": { + "description": "Release", + "schema": { + "$ref": "#/definitions/Release" + } + }, + "ReleaseList": { + "description": "ReleaseList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Release" + } + } + }, + "RepoCollaboratorPermission": { + "description": "RepoCollaboratorPermission", + "schema": { + "$ref": "#/definitions/RepoCollaboratorPermission" + } + }, + "RepoIssueConfig": { + "description": "RepoIssueConfig", + "schema": { + "$ref": "#/definitions/IssueConfig" + } + }, + "RepoIssueConfigValidation": { + "description": "RepoIssueConfigValidation", + "schema": { + "$ref": "#/definitions/IssueConfigValidation" + } + }, + "RepoNewIssuePinsAllowed": { + "description": "RepoNewIssuePinsAllowed", + "schema": { + "$ref": "#/definitions/NewIssuePinsAllowed" + } + }, + "Repository": { + "description": "Repository", + "schema": { + "$ref": "#/definitions/Repository" + } + }, + "RepositoryList": { + "description": "RepositoryList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Repository" + } + } + }, + "SearchResults": { + "description": "SearchResults", + "schema": { + "$ref": "#/definitions/SearchResults" + } + }, + "Secret": { + "description": "Secret", + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "SecretList": { + "description": "SecretList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Secret" + } + } + }, + "ServerVersion": { + "description": "ServerVersion", + "schema": { + "$ref": "#/definitions/ServerVersion" + } + }, + "StopWatch": { + "description": "StopWatch", + "schema": { + "$ref": "#/definitions/StopWatch" + } + }, + "StopWatchList": { + "description": "StopWatchList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/StopWatch" + } + } + }, + "StringSlice": { + "description": "StringSlice", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "Tag": { + "description": "Tag", + "schema": { + "$ref": "#/definitions/Tag" + } + }, + "TagList": { + "description": "TagList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + } + } + }, + "Team": { + "description": "Team", + "schema": { + "$ref": "#/definitions/Team" + } + }, + "TeamList": { + "description": "TeamList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Team" + } + } + }, + "TimelineList": { + "description": "TimelineList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/TimelineComment" + } + } + }, + "TopicListResponse": { + "description": "TopicListResponse", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/TopicResponse" + } + } + }, + "TopicNames": { + "description": "TopicNames", + "schema": { + "$ref": "#/definitions/TopicName" + } + }, + "TrackedTime": { + "description": "TrackedTime", + "schema": { + "$ref": "#/definitions/TrackedTime" + } + }, + "TrackedTimeList": { + "description": "TrackedTimeList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/TrackedTime" + } + } + }, + "User": { + "description": "User", + "schema": { + "$ref": "#/definitions/User" + } + }, + "UserHeatmapData": { + "description": "UserHeatmapData", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/UserHeatmapData" + } + } + }, + "UserList": { + "description": "UserList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/User" + } + } + }, + "UserSettings": { + "description": "UserSettings", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/UserSettings" + } + } + }, + "VariableList": { + "description": "VariableList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ActionVariable" + } + } + }, + "WatchInfo": { + "description": "WatchInfo", + "schema": { + "$ref": "#/definitions/WatchInfo" + } + }, + "WikiCommitList": { + "description": "WikiCommitList", + "schema": { + "$ref": "#/definitions/WikiCommitList" + } + }, + "WikiPage": { + "description": "WikiPage", + "schema": { + "$ref": "#/definitions/WikiPage" + } + }, + "WikiPageList": { + "description": "WikiPageList", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/WikiPageMetaData" + } + } + }, + "conflict": { + "description": "APIConflict is a conflict empty response" + }, + "empty": { + "description": "APIEmpty is an empty response" + }, + "error": { + "description": "APIError is error format response", + "headers": { + "message": { + "type": "string" + }, + "url": { + "type": "string" + } + } + }, + "forbidden": { + "description": "APIForbiddenError is a forbidden error response", + "headers": { + "message": { + "type": "string" + }, + "url": { + "type": "string" + } + } + }, + "invalidTopicsError": { + "description": "APIInvalidTopicsError is error format response to invalid topics", + "headers": { + "invalidTopics": { + "type": "array", + "items": { + "type": "string" + } + }, + "message": { + "type": "string" + } + } + }, + "notFound": { + "description": "APINotFound is a not found empty response" + }, + "parameterBodies": { + "description": "parameterBodies", + "schema": { + "$ref": "#/definitions/UpdateVariableOption" + } + }, + "redirect": { + "description": "APIRedirect is a redirect response" + }, + "repoArchivedError": { + "description": "APIRepoArchivedError is an error that is raised when an archived repo should be modified", + "headers": { + "message": { + "type": "string" + }, + "url": { + "type": "string" + } + } + }, + "string": { + "description": "APIString is a string response", + "schema": { + "type": "string" + } + }, + "validationError": { + "description": "APIValidationError is error format response related to input validation", + "headers": { + "message": { + "type": "string" + }, + "url": { + "type": "string" + } + } + } + }, + "securityDefinitions": { + "AccessToken": { + "description": "This authentication option is deprecated for removal in Gitea 1.23. Please use AuthorizationHeaderToken instead.", + "type": "apiKey", + "name": "access_token", + "in": "query" + }, + "AuthorizationHeaderToken": { + "description": "API tokens must be prepended with \"token\" followed by a space.", + "type": "apiKey", + "name": "Authorization", + "in": "header" + }, + "BasicAuth": { + "type": "basic" + }, + "SudoHeader": { + "description": "Sudo API request as the user provided as the key. Admin privileges are required.", + "type": "apiKey", + "name": "Sudo", + "in": "header" + }, + "SudoParam": { + "description": "Sudo API request as the user provided as the key. Admin privileges are required.", + "type": "apiKey", + "name": "sudo", + "in": "query" + }, + "TOTPHeader": { + "description": "Must be used in combination with BasicAuth if two-factor authentication is enabled.", + "type": "apiKey", + "name": "X-GITEA-OTP", + "in": "header" + }, + "Token": { + "description": "This authentication option is deprecated for removal in Gitea 1.23. Please use AuthorizationHeaderToken instead.", + "type": "apiKey", + "name": "token", + "in": "query" + } + }, + "security": [ + { + "BasicAuth": [] + }, + { + "Token": [] + }, + { + "AccessToken": [] + }, + { + "AuthorizationHeaderToken": [] + }, + { + "SudoParam": [] + }, + { + "SudoHeader": [] + }, + { + "TOTPHeader": [] + } + ] +} diff --git a/data/gitea/templates/user/auth/activate.tmpl b/data/gitea/templates/user/auth/activate.tmpl new file mode 100644 index 0000000..7f8ff0e --- /dev/null +++ b/data/gitea/templates/user/auth/activate.tmpl @@ -0,0 +1,40 @@ +{{template "base/head" .}} +
    +
    +
    +
    + {{.CsrfTokenHtml}} +

    + {{ctx.Locale.Tr "auth.active_your_account"}} +

    +
    + {{template "base/alert" .}} + {{if .NeedVerifyLocalPassword}} +
    + + +
    +
    + +
    + + {{else}} +

    {{ctx.Locale.Tr "auth.has_unconfirmed_mail" .SignedUser.Name .SignedUser.Email}}

    +
    + {{ctx.Locale.Tr "auth.change_unconfirmed_mail_address"}} +
    + + +
    +
    +
    +
    + +
    + {{end}} +
    +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/auth/activate_prompt.tmpl b/data/gitea/templates/user/auth/activate_prompt.tmpl new file mode 100644 index 0000000..237244d --- /dev/null +++ b/data/gitea/templates/user/auth/activate_prompt.tmpl @@ -0,0 +1,15 @@ +{{template "base/head" .}} +
    +
    +
    +

    + {{ctx.Locale.Tr "auth.active_your_account"}} +

    +
    + {{template "base/alert" .}} +

    {{.ActivationPromptMessage}}

    +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/auth/captcha.tmpl b/data/gitea/templates/user/auth/captcha.tmpl new file mode 100644 index 0000000..0e9c2b9 --- /dev/null +++ b/data/gitea/templates/user/auth/captcha.tmpl @@ -0,0 +1,30 @@ +{{if .EnableCaptcha}}{{if eq .CaptchaType "image"}} +
    + {{.Captcha.CreateHTML}} +
    +
    + + +
    +{{else if eq .CaptchaType "recaptcha"}} +
    +
    +
    + +{{else if eq .CaptchaType "hcaptcha"}} +
    +
    +
    + +{{else if eq .CaptchaType "mcaptcha"}} +
    + +
    +
    +
    +{{else if eq .CaptchaType "cfturnstile"}} +
    +
    +
    + +{{end}}{{end}} diff --git a/data/gitea/templates/user/auth/change_passwd.tmpl b/data/gitea/templates/user/auth/change_passwd.tmpl new file mode 100644 index 0000000..e05f46f --- /dev/null +++ b/data/gitea/templates/user/auth/change_passwd.tmpl @@ -0,0 +1,7 @@ +{{template "base/head" .}} +
    +
    + {{template "user/auth/change_passwd_inner" .}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/auth/change_passwd_inner.tmpl b/data/gitea/templates/user/auth/change_passwd_inner.tmpl new file mode 100644 index 0000000..01bbf50 --- /dev/null +++ b/data/gitea/templates/user/auth/change_passwd_inner.tmpl @@ -0,0 +1,22 @@ + {{if or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeSignIn)}} + {{template "base/alert" .}} + {{end}} +

    + {{ctx.Locale.Tr "settings.change_password"}} +

    +
    +
    + {{.CsrfTokenHtml}} +
    + + +
    +
    + + +
    +
    + +
    +
    +
    diff --git a/data/gitea/templates/user/auth/finalize_openid.tmpl b/data/gitea/templates/user/auth/finalize_openid.tmpl new file mode 100644 index 0000000..1c1dcdb --- /dev/null +++ b/data/gitea/templates/user/auth/finalize_openid.tmpl @@ -0,0 +1,47 @@ +{{template "base/head" .}} + +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/auth/forgot_passwd.tmpl b/data/gitea/templates/user/auth/forgot_passwd.tmpl new file mode 100644 index 0000000..55bcf63 --- /dev/null +++ b/data/gitea/templates/user/auth/forgot_passwd.tmpl @@ -0,0 +1,39 @@ +{{template "base/head" .}} +
    +
    +
    +
    + {{.CsrfTokenHtml}} +

    + {{ctx.Locale.Tr "auth.forgot_password_title"}} +

    +
    + {{template "base/alert" .}} + {{if .IsResetSent}} +

    {{ctx.Locale.Tr "auth.reset_password_mail_sent_prompt" .Email .ResetPwdCodeLives}}

    + {{else if .IsResetRequest}} +
    + + +
    +
    +
    + +
    + {{else if .IsResetDisable}} +

    + {{if $.IsAdmin}} + {{ctx.Locale.Tr "auth.disable_forgot_password_mail_admin"}} + {{else}} + {{ctx.Locale.Tr "auth.disable_forgot_password_mail"}} + {{end}} +

    + {{else if .ResendLimited}} +

    {{ctx.Locale.Tr "auth.resent_limit_prompt"}}

    + {{end}} +
    +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/auth/grant.tmpl b/data/gitea/templates/user/auth/grant.tmpl new file mode 100644 index 0000000..a18a3bd --- /dev/null +++ b/data/gitea/templates/user/auth/grant.tmpl @@ -0,0 +1,33 @@ +{{template "base/head" .}} +
    +
    +
    +

    + {{ctx.Locale.Tr "auth.authorize_title" .Application.Name}} +

    +
    + {{template "base/alert" .}} +

    + {{ctx.Locale.Tr "auth.authorize_application_description"}}
    + {{ctx.Locale.Tr "auth.authorize_application_created_by" .ApplicationCreatorLinkHTML}} +

    +
    +
    +

    {{ctx.Locale.Tr "auth.authorize_redirect_notice" .ApplicationRedirectDomainHTML}}

    +
    +
    +
    + {{.CsrfTokenHtml}} + + + + + + + +
    +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/auth/grant_error.tmpl b/data/gitea/templates/user/auth/grant_error.tmpl new file mode 100644 index 0000000..b2e0779 --- /dev/null +++ b/data/gitea/templates/user/auth/grant_error.tmpl @@ -0,0 +1,16 @@ +{{template "base/head" .}} +
    + {{if .IsRepo}}{{template "repo/header" .}}{{end}} +
    +
    +

    + {{ctx.Locale.Tr "auth.authorization_failed"}} +

    +

    {{.Error.ErrorDescription}}

    +
    +

    {{ctx.Locale.Tr "auth.authorization_failed_desc"}}

    +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/auth/link_account.tmpl b/data/gitea/templates/user/auth/link_account.tmpl new file mode 100644 index 0000000..a99e172 --- /dev/null +++ b/data/gitea/templates/user/auth/link_account.tmpl @@ -0,0 +1,31 @@ +{{template "base/head" .}} + + +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/auth/oidc_wellknown.tmpl b/data/gitea/templates/user/auth/oidc_wellknown.tmpl new file mode 100644 index 0000000..54bb4a7 --- /dev/null +++ b/data/gitea/templates/user/auth/oidc_wellknown.tmpl @@ -0,0 +1,49 @@ +{ + "issuer": "{{AppUrl | JSEscape}}", + "authorization_endpoint": "{{AppUrl | JSEscape}}login/oauth/authorize", + "token_endpoint": "{{AppUrl | JSEscape}}login/oauth/access_token", + "jwks_uri": "{{AppUrl | JSEscape}}login/oauth/keys", + "userinfo_endpoint": "{{AppUrl | JSEscape}}login/oauth/userinfo", + "introspection_endpoint": "{{AppUrl | JSEscape}}login/oauth/introspect", + "response_types_supported": [ + "code", + "id_token" + ], + "id_token_signing_alg_values_supported": [ + "{{.SigningKey.SigningMethod.Alg | JSEscape}}" + ], + "subject_types_supported": [ + "public" + ], + "scopes_supported": [ + "openid", + "profile", + "email", + "groups" + ], + "claims_supported": [ + "aud", + "exp", + "iat", + "iss", + "sub", + "name", + "preferred_username", + "profile", + "picture", + "website", + "locale", + "updated_at", + "email", + "email_verified", + "groups" + ], + "code_challenge_methods_supported": [ + "plain", + "S256" + ], + "grant_types_supported": [ + "authorization_code", + "refresh_token" + ] +} diff --git a/data/gitea/templates/user/auth/prohibit_login.tmpl b/data/gitea/templates/user/auth/prohibit_login.tmpl new file mode 100644 index 0000000..962ddfa --- /dev/null +++ b/data/gitea/templates/user/auth/prohibit_login.tmpl @@ -0,0 +1,16 @@ +{{template "base/head" .}} +
    +
    +
    +
    +

    + {{ctx.Locale.Tr "auth.prohibit_login"}} +

    +
    +

    {{ctx.Locale.Tr "auth.prohibit_login_desc"}}

    +
    +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/auth/reset_passwd.tmpl b/data/gitea/templates/user/auth/reset_passwd.tmpl new file mode 100644 index 0000000..f8303fe --- /dev/null +++ b/data/gitea/templates/user/auth/reset_passwd.tmpl @@ -0,0 +1,65 @@ +{{template "base/head" .}} +
    +
    +
    +
    + {{.CsrfTokenHtml}} + +

    + {{ctx.Locale.Tr "auth.reset_password"}} +

    +
    + {{template "base/alert" .}} + {{if .user_email}} +
    + + +
    + {{end}} + {{if .IsResetForm}} +
    + + +
    + {{if not .user_signed_in}} +
    +
    + + +
    +
    + {{end}} + {{if .has_two_factor}} +

    + {{ctx.Locale.Tr "twofa"}} +

    +
    {{ctx.Locale.Tr "settings.twofa_is_enrolled"}}
    + {{if .scratch_code}} +
    + + +
    + + {{else}} +
    + + +
    + {{end}} + {{end}} +
    +
    + + {{if and .has_two_factor (not .scratch_code)}} + {{ctx.Locale.Tr "auth.use_scratch_code"}} + {{end}} +
    + {{else}} +

    {{ctx.Locale.Tr "auth.invalid_code_forgot_password" (printf "%s/user/forgot_password" AppSubUrl)}}

    + {{end}} +
    +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/auth/signin.tmpl b/data/gitea/templates/user/auth/signin.tmpl new file mode 100644 index 0000000..b0e9ce8 --- /dev/null +++ b/data/gitea/templates/user/auth/signin.tmpl @@ -0,0 +1,10 @@ +{{template "base/head" .}} +
    + {{template "user/auth/signin_navbar" .}} +
    +
    + {{template "user/auth/signin_inner" .}} +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/auth/signin_inner.tmpl b/data/gitea/templates/user/auth/signin_inner.tmpl new file mode 100644 index 0000000..9872096 --- /dev/null +++ b/data/gitea/templates/user/auth/signin_inner.tmpl @@ -0,0 +1,70 @@ +{{if or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeSignIn)}} +{{template "base/alert" .}} +{{end}} +

    + {{if .LinkAccountMode}} + {{ctx.Locale.Tr "auth.oauth_signin_title"}} + {{else}} + {{ctx.Locale.Tr "auth.login_userpass"}} + {{end}} +

    +
    +
    + {{.CsrfTokenHtml}} +
    + + +
    + {{if or (not .DisablePassword) .LinkAccountMode}} +
    + + +
    + {{end}} + {{if not .LinkAccountMode}} +
    +
    + + +
    +
    + {{end}} + + {{template "user/auth/captcha" .}} + +
    + + {{ctx.Locale.Tr "auth.forgot_password"}} +
    + + {{if .ShowRegistrationButton}} + + {{end}} + + {{if .OAuth2Providers}} +
    + {{ctx.Locale.Tr "sign_in_or"}} +
    + + {{end}} +
    +
    diff --git a/data/gitea/templates/user/auth/signin_navbar.tmpl b/data/gitea/templates/user/auth/signin_navbar.tmpl new file mode 100644 index 0000000..7f52185 --- /dev/null +++ b/data/gitea/templates/user/auth/signin_navbar.tmpl @@ -0,0 +1,24 @@ +{{if or .EnableOpenIDSignIn .EnableSSPI}} + + + +{{end}} diff --git a/data/gitea/templates/user/auth/signin_openid.tmpl b/data/gitea/templates/user/auth/signin_openid.tmpl new file mode 100644 index 0000000..c1f392d --- /dev/null +++ b/data/gitea/templates/user/auth/signin_openid.tmpl @@ -0,0 +1,36 @@ +{{template "base/head" .}} + +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/auth/signup.tmpl b/data/gitea/templates/user/auth/signup.tmpl new file mode 100644 index 0000000..f238413 --- /dev/null +++ b/data/gitea/templates/user/auth/signup.tmpl @@ -0,0 +1,8 @@ +{{template "base/head" .}} +
    + {{template "user/auth/signin_navbar" .}} +
    + {{template "user/auth/signup_inner" .}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/auth/signup_inner.tmpl b/data/gitea/templates/user/auth/signup_inner.tmpl new file mode 100644 index 0000000..bdb691d --- /dev/null +++ b/data/gitea/templates/user/auth/signup_inner.tmpl @@ -0,0 +1,76 @@ +
    +

    + {{if .LinkAccountMode}} + {{ctx.Locale.Tr "auth.oauth_signup_title"}} + {{else}} + {{ctx.Locale.Tr "sign_up"}} + {{end}} +

    +
    +
    + {{.CsrfTokenHtml}} + {{if or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeRegister)}} + {{template "base/alert" .}} + {{end}} + {{if .DisableRegistration}} +

    {{ctx.Locale.Tr "auth.disable_register_prompt"}}

    + {{else}} +
    + + +
    +
    + + +
    + + {{if not .DisablePassword}} +
    + + +
    +
    + + +
    + {{end}} + + {{template "user/auth/captcha" .}} + +
    + +
    + + {{if not .LinkAccountMode}} + + {{end}} + {{end}} + + {{if .OAuth2Providers}} +
    + {{ctx.Locale.Tr "sign_in_or"}} +
    + + {{end}} +
    +
    +
    diff --git a/data/gitea/templates/user/auth/signup_openid_connect.tmpl b/data/gitea/templates/user/auth/signup_openid_connect.tmpl new file mode 100644 index 0000000..e4b7936 --- /dev/null +++ b/data/gitea/templates/user/auth/signup_openid_connect.tmpl @@ -0,0 +1,36 @@ +{{template "base/head" .}} + +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/auth/signup_openid_navbar.tmpl b/data/gitea/templates/user/auth/signup_openid_navbar.tmpl new file mode 100644 index 0000000..89068dd --- /dev/null +++ b/data/gitea/templates/user/auth/signup_openid_navbar.tmpl @@ -0,0 +1,12 @@ + +
    + + {{ctx.Locale.Tr "auth.openid_connect_title"}} + + {{if and .EnableOpenIDSignUp (not .AllowOnlyInternalRegistration)}} + + {{ctx.Locale.Tr "auth.openid_register_title"}} + + {{end}} +
    +
    diff --git a/data/gitea/templates/user/auth/signup_openid_register.tmpl b/data/gitea/templates/user/auth/signup_openid_register.tmpl new file mode 100644 index 0000000..c017a0e --- /dev/null +++ b/data/gitea/templates/user/auth/signup_openid_register.tmpl @@ -0,0 +1,37 @@ +{{template "base/head" .}} + +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/auth/twofa.tmpl b/data/gitea/templates/user/auth/twofa.tmpl new file mode 100644 index 0000000..d245239 --- /dev/null +++ b/data/gitea/templates/user/auth/twofa.tmpl @@ -0,0 +1,26 @@ +{{template "base/head" .}} + +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/auth/twofa_scratch.tmpl b/data/gitea/templates/user/auth/twofa_scratch.tmpl new file mode 100644 index 0000000..23ad77f --- /dev/null +++ b/data/gitea/templates/user/auth/twofa_scratch.tmpl @@ -0,0 +1,25 @@ +{{template "base/head" .}} + +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/auth/webauthn.tmpl b/data/gitea/templates/user/auth/webauthn.tmpl new file mode 100644 index 0000000..1b84765 --- /dev/null +++ b/data/gitea/templates/user/auth/webauthn.tmpl @@ -0,0 +1,25 @@ +{{template "base/head" .}} + +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/auth/webauthn_error.tmpl b/data/gitea/templates/user/auth/webauthn_error.tmpl new file mode 100644 index 0000000..511ff7c --- /dev/null +++ b/data/gitea/templates/user/auth/webauthn_error.tmpl @@ -0,0 +1,13 @@ +
    +
    {{ctx.Locale.Tr "webauthn_error"}}
    +
    +
    +
    {{ctx.Locale.Tr "webauthn_unsupported_browser"}}
    +
    {{ctx.Locale.Tr "webauthn_error_unknown"}}
    +
    {{ctx.Locale.Tr "webauthn_error_insecure"}}
    +
    {{ctx.Locale.Tr "webauthn_error_unable_to_process"}}
    +
    {{ctx.Locale.Tr "webauthn_error_duplicated"}}
    +
    {{ctx.Locale.Tr "webauthn_error_empty"}}
    +
    {{ctx.Locale.Tr "webauthn_error_timeout"}}
    +
    +
    diff --git a/data/gitea/templates/user/code.tmpl b/data/gitea/templates/user/code.tmpl new file mode 100644 index 0000000..ff6c69d --- /dev/null +++ b/data/gitea/templates/user/code.tmpl @@ -0,0 +1,24 @@ +{{template "base/head" .}} +{{if .ContextUser.IsOrganization}} +
    + {{template "org/header" .}} +
    + {{template "shared/search/code/search" .}} +
    +
    +{{else}} +
    +
    +
    +
    + {{template "shared/user/profile_big_avatar" .}} +
    +
    + {{template "user/overview/header" .}} + {{template "shared/search/code/search" .}} +
    +
    +
    +
    +{{end}} +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/dashboard/dashboard.tmpl b/data/gitea/templates/user/dashboard/dashboard.tmpl new file mode 100644 index 0000000..5dc46dc --- /dev/null +++ b/data/gitea/templates/user/dashboard/dashboard.tmpl @@ -0,0 +1,13 @@ +{{template "base/head" .}} +
    + {{template "user/dashboard/navbar" .}} +
    +
    + {{template "base/alert" .}} + {{template "user/heatmap" .}} + {{template "user/dashboard/feeds" .}} +
    + {{template "user/dashboard/repolist" .}} +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/dashboard/feeds.tmpl b/data/gitea/templates/user/dashboard/feeds.tmpl new file mode 100644 index 0000000..60aa194 --- /dev/null +++ b/data/gitea/templates/user/dashboard/feeds.tmpl @@ -0,0 +1,127 @@ +
    + {{range .Feeds}} +
    +
    + {{ctx.AvatarUtils.AvatarByAction .}} +
    +
    +
    + {{if gt .ActUser.ID 0}} + {{.GetActDisplayName ctx}} + {{else}} + {{.ShortActUserName ctx}} + {{end}} + {{if .GetOpType.InActions "create_repo"}} + {{ctx.Locale.Tr "action.create_repo" (.GetRepoLink ctx) (.ShortRepoPath ctx)}} + {{else if .GetOpType.InActions "rename_repo"}} + {{ctx.Locale.Tr "action.rename_repo" .GetContent (.GetRepoLink ctx) (.ShortRepoPath ctx)}} + {{else if .GetOpType.InActions "commit_repo"}} + {{if .Content}} + {{ctx.Locale.Tr "action.commit_repo" (.GetRepoLink ctx) (.GetRefLink ctx) .GetBranch (.ShortRepoPath ctx)}} + {{else}} + {{ctx.Locale.Tr "action.create_branch" (.GetRepoLink ctx) (.GetRefLink ctx) .GetBranch (.ShortRepoPath ctx)}} + {{end}} + {{else if .GetOpType.InActions "create_issue"}} + {{$index := index .GetIssueInfos 0}} + {{ctx.Locale.Tr "action.create_issue" (printf "%s/issues/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx)}} + {{else if .GetOpType.InActions "create_pull_request"}} + {{$index := index .GetIssueInfos 0}} + {{ctx.Locale.Tr "action.create_pull_request" (printf "%s/pulls/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx)}} + {{else if .GetOpType.InActions "transfer_repo"}} + {{ctx.Locale.Tr "action.transfer_repo" .GetContent (.GetRepoLink ctx) (.ShortRepoPath ctx)}} + {{else if .GetOpType.InActions "push_tag"}} + {{ctx.Locale.Tr "action.push_tag" (.GetRepoLink ctx) (.GetRefLink ctx) .GetTag (.ShortRepoPath ctx)}} + {{else if .GetOpType.InActions "comment_issue"}} + {{$index := index .GetIssueInfos 0}} + {{ctx.Locale.Tr "action.comment_issue" (printf "%s/issues/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx)}} + {{else if .GetOpType.InActions "merge_pull_request"}} + {{$index := index .GetIssueInfos 0}} + {{ctx.Locale.Tr "action.merge_pull_request" (printf "%s/pulls/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx)}} + {{else if .GetOpType.InActions "close_issue"}} + {{$index := index .GetIssueInfos 0}} + {{ctx.Locale.Tr "action.close_issue" (printf "%s/issues/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx)}} + {{else if .GetOpType.InActions "reopen_issue"}} + {{$index := index .GetIssueInfos 0}} + {{ctx.Locale.Tr "action.reopen_issue" (printf "%s/issues/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx)}} + {{else if .GetOpType.InActions "close_pull_request"}} + {{$index := index .GetIssueInfos 0}} + {{ctx.Locale.Tr "action.close_pull_request" (printf "%s/pulls/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx)}} + {{else if .GetOpType.InActions "reopen_pull_request"}} + {{$index := index .GetIssueInfos 0}} + {{ctx.Locale.Tr "action.reopen_pull_request" (printf "%s/pulls/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx)}} + {{else if .GetOpType.InActions "delete_tag"}} + {{$index := index .GetIssueInfos 0}} + {{ctx.Locale.Tr "action.delete_tag" (.GetRepoLink ctx) .GetTag (.ShortRepoPath ctx)}} + {{else if .GetOpType.InActions "delete_branch"}} + {{$index := index .GetIssueInfos 0}} + {{ctx.Locale.Tr "action.delete_branch" (.GetRepoLink ctx) .GetBranch (.ShortRepoPath ctx)}} + {{else if .GetOpType.InActions "mirror_sync_push"}} + {{ctx.Locale.Tr "action.mirror_sync_push" (.GetRepoLink ctx) (.GetRefLink ctx) .GetBranch (.ShortRepoPath ctx)}} + {{else if .GetOpType.InActions "mirror_sync_create"}} + {{ctx.Locale.Tr "action.mirror_sync_create" (.GetRepoLink ctx) (.GetRefLink ctx) .GetBranch (.ShortRepoPath ctx)}} + {{else if .GetOpType.InActions "mirror_sync_delete"}} + {{ctx.Locale.Tr "action.mirror_sync_delete" (.GetRepoLink ctx) .GetBranch (.ShortRepoPath ctx)}} + {{else if .GetOpType.InActions "approve_pull_request"}} + {{$index := index .GetIssueInfos 0}} + {{ctx.Locale.Tr "action.approve_pull_request" (printf "%s/pulls/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx)}} + {{else if .GetOpType.InActions "reject_pull_request"}} + {{$index := index .GetIssueInfos 0}} + {{ctx.Locale.Tr "action.reject_pull_request" (printf "%s/pulls/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx)}} + {{else if .GetOpType.InActions "comment_pull"}} + {{$index := index .GetIssueInfos 0}} + {{ctx.Locale.Tr "action.comment_pull" (printf "%s/pulls/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx)}} + {{else if .GetOpType.InActions "publish_release"}} + {{$linkText := .Content | RenderEmoji $.Context}} + {{ctx.Locale.Tr "action.publish_release" (.GetRepoLink ctx) (printf "%s/releases/tag/%s" (.GetRepoLink ctx) .GetTag) (.ShortRepoPath ctx) $linkText}} + {{else if .GetOpType.InActions "review_dismissed"}} + {{$index := index .GetIssueInfos 0}} + {{$reviewer := index .GetIssueInfos 1}} + {{ctx.Locale.Tr "action.review_dismissed" (printf "%s/pulls/%s" (.GetRepoLink ctx) $index) $index (.ShortRepoPath ctx) $reviewer}} + {{end}} + {{TimeSince .GetCreate ctx.Locale}} +
    + {{if .GetOpType.InActions "commit_repo" "mirror_sync_push"}} + {{$push := ActionContent2Commits .}} + {{$repoLink := (.GetRepoLink ctx)}} + {{$repo := .Repo}} +
    + {{range $push.Commits}} + {{$commitLink := printf "%s/commit/%s" $repoLink .Sha1}} +
    + + {{ShortSha .Sha1}} + + {{RenderCommitMessage $.Context .Message ($repo.ComposeMetas ctx)}} + +
    + {{end}} +
    + {{if and (gt $push.Len 1) $push.CompareURL}} + {{ctx.Locale.Tr "action.compare_commits" $push.Len}} » + {{end}} + {{else if .GetOpType.InActions "create_issue"}} + {{index .GetIssueInfos 1 | RenderEmoji $.Context | RenderCodeBlock}} + {{else if .GetOpType.InActions "create_pull_request"}} + {{index .GetIssueInfos 1 | RenderEmoji $.Context | RenderCodeBlock}} + {{else if .GetOpType.InActions "comment_issue" "approve_pull_request" "reject_pull_request" "comment_pull"}} + {{(.GetIssueTitle ctx) | RenderEmoji $.Context | RenderCodeBlock}} + {{$comment := index .GetIssueInfos 1}} + {{if $comment}} +
    {{RenderMarkdownToHtml ctx $comment}}
    + {{end}} + {{else if .GetOpType.InActions "merge_pull_request"}} +
    {{index .GetIssueInfos 1}}
    + {{else if .GetOpType.InActions "close_issue" "reopen_issue" "close_pull_request" "reopen_pull_request"}} + {{(.GetIssueTitle ctx) | RenderEmoji $.Context | RenderCodeBlock}} + {{else if .GetOpType.InActions "pull_review_dismissed"}} +
    {{ctx.Locale.Tr "action.review_dismissed_reason"}}
    +
    {{index .GetIssueInfos 2 | RenderEmoji $.Context}}
    + {{end}} +
    +
    + {{svg (printf "octicon-%s" (ActionIcon .GetOpType)) 32 "text grey tw-mr-1"}} +
    +
    + {{end}} + {{template "base/paginate" .}} +
    diff --git a/data/gitea/templates/user/dashboard/issues.tmpl b/data/gitea/templates/user/dashboard/issues.tmpl new file mode 100644 index 0000000..b47a21e --- /dev/null +++ b/data/gitea/templates/user/dashboard/issues.tmpl @@ -0,0 +1,80 @@ +{{template "base/head" .}} +
    + {{template "user/dashboard/navbar" .}} +
    + {{template "base/alert" .}} +
    + + +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/dashboard/milestones.tmpl b/data/gitea/templates/user/dashboard/milestones.tmpl new file mode 100644 index 0000000..0f1e866 --- /dev/null +++ b/data/gitea/templates/user/dashboard/milestones.tmpl @@ -0,0 +1,154 @@ +{{template "base/head" .}} +
    + {{template "user/dashboard/navbar" .}} +
    +
    +
    + +
    +
    + +
    + {{range .Milestones}} +
  • +
    +

    + + {{.Repo.FullName}} + + {{svg "octicon-milestone" 16}} + {{.Name}} +

    +
    + {{.Completeness}}% + +
    +
    +
    +
    +
    + {{svg "octicon-issue-opened" 14}} + {{ctx.Locale.PrettyNumber .NumOpenIssues}} {{ctx.Locale.Tr "repo.issues.open_title"}} +
    +
    + {{svg "octicon-check" 14}} + {{ctx.Locale.PrettyNumber .NumClosedIssues}} {{ctx.Locale.Tr "repo.issues.closed_title"}} +
    + {{if .TotalTrackedTime}} +
    + {{svg "octicon-clock"}} + {{.TotalTrackedTime|Sec2Time}} +
    + {{end}} + {{if .UpdatedUnix}} +
    + {{svg "octicon-clock"}} + {{ctx.Locale.Tr "repo.milestones.update_ago" (TimeSinceUnix .UpdatedUnix ctx.Locale)}} +
    + {{end}} +
    + {{if .IsClosed}} + {{$closedDate:= TimeSinceUnix .ClosedDateUnix ctx.Locale}} + {{svg "octicon-clock" 14}} + {{ctx.Locale.Tr "repo.milestones.closed" $closedDate}} + {{else}} + {{if .DeadlineString}} + + {{svg "octicon-calendar" 14}} + {{DateTime "short" .DeadlineString}} + + {{else}} + {{svg "octicon-calendar" 14}} + {{ctx.Locale.Tr "repo.milestones.no_due_date"}} + {{end}} + {{end}} +
    +
    + {{if and (or $.CanWriteIssues $.CanWritePulls) (not $.Repository.IsArchived)}} + + {{end}} +
    + {{if .Content}} +
    + {{.RenderedContent}} +
    + {{end}} +
  • + {{end}} + + {{template "base/paginate" .}} +
    + +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/dashboard/navbar.tmpl b/data/gitea/templates/user/dashboard/navbar.tmpl new file mode 100644 index 0000000..4642282 --- /dev/null +++ b/data/gitea/templates/user/dashboard/navbar.tmpl @@ -0,0 +1,107 @@ +
    + +
    diff --git a/data/gitea/templates/user/dashboard/repolist.tmpl b/data/gitea/templates/user/dashboard/repolist.tmpl new file mode 100644 index 0000000..be71067 --- /dev/null +++ b/data/gitea/templates/user/dashboard/repolist.tmpl @@ -0,0 +1,59 @@ + + +
    diff --git a/data/gitea/templates/user/heatmap.tmpl b/data/gitea/templates/user/heatmap.tmpl new file mode 100644 index 0000000..b604b92 --- /dev/null +++ b/data/gitea/templates/user/heatmap.tmpl @@ -0,0 +1,10 @@ +{{if .HeatmapData}} +
    +
    +{{end}} diff --git a/data/gitea/templates/user/notification/notification.tmpl b/data/gitea/templates/user/notification/notification.tmpl new file mode 100644 index 0000000..b483c15 --- /dev/null +++ b/data/gitea/templates/user/notification/notification.tmpl @@ -0,0 +1,3 @@ +{{template "base/head" .}} +{{template "user/notification/notification_div" .}} +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/notification/notification_div.tmpl b/data/gitea/templates/user/notification/notification_div.tmpl new file mode 100644 index 0000000..9790a70 --- /dev/null +++ b/data/gitea/templates/user/notification/notification_div.tmpl @@ -0,0 +1,125 @@ +
    +
    + {{$notificationUnreadCount := call .NotificationUnreadCount}} +
    + + {{if and (eq .Status 1)}} +
    + {{$.CsrfTokenHtml}} +
    + +
    +
    + {{end}} +
    +
    +
    + {{if not .Notifications}} +
    + {{svg "octicon-inbox" 56 "tw-mb-4"}} + {{if eq .Status 1}} + {{ctx.Locale.Tr "notification.no_unread"}} + {{else}} + {{ctx.Locale.Tr "notification.no_read"}} + {{end}} +
    + {{else}} + {{range $notification := .Notifications}} +
    +
    + {{if .Issue}} + {{template "shared/issueicon" .Issue}} + {{else}} + {{svg "octicon-repo" 16 "text grey"}} + {{end}} +
    + +
    + {{.Repository.FullName}} {{if .Issue}}#{{.Issue.Index}}{{end}} + {{if eq .Status 3}} + {{svg "octicon-pin" 13 "text blue tw-mt-0.5 tw-ml-1"}} + {{end}} +
    +
    + + {{if .Issue}} + {{.Issue.Title | RenderEmoji $.Context | RenderCodeBlock}} + {{else}} + {{.Repository.FullName}} + {{end}} + +
    +
    +
    + {{if .Issue}} + {{TimeSinceUnix .Issue.UpdatedUnix ctx.Locale}} + {{else}} + {{TimeSinceUnix .UpdatedUnix ctx.Locale}} + {{end}} +
    +
    + {{if ne .Status 3}} +
    + {{$.CsrfTokenHtml}} + + + +
    + {{end}} + {{if or (eq .Status 1) (eq .Status 3)}} +
    + {{$.CsrfTokenHtml}} + + + + +
    + {{else if eq .Status 2}} +
    + {{$.CsrfTokenHtml}} + + + + +
    + {{end}} +
    +
    + {{end}} + {{end}} +
    +
    + {{template "base/paginate" .}} +
    +
    diff --git a/data/gitea/templates/user/notification/notification_subscriptions.tmpl b/data/gitea/templates/user/notification/notification_subscriptions.tmpl new file mode 100644 index 0000000..b92a32a --- /dev/null +++ b/data/gitea/templates/user/notification/notification_subscriptions.tmpl @@ -0,0 +1,79 @@ +{{template "base/head" .}} +
    +
    + +
    + {{if eq .Status 1}} + +
    + {{if not .Issues}} + {{ctx.Locale.Tr "notification.no_subscriptions"}} + {{else}} + {{template "shared/issuelist" dict "." . "listType" "dashboard"}} + {{end}} + {{else}} + {{template "shared/repo_search" .}} + {{template "explore/repo_list" .}} + {{template "base/paginate" .}} + {{end}} +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/overview/header.tmpl b/data/gitea/templates/user/overview/header.tmpl new file mode 100644 index 0000000..275c4e2 --- /dev/null +++ b/data/gitea/templates/user/overview/header.tmpl @@ -0,0 +1,50 @@ + + + diff --git a/data/gitea/templates/user/overview/package_versions.tmpl b/data/gitea/templates/user/overview/package_versions.tmpl new file mode 100644 index 0000000..0ac2db0 --- /dev/null +++ b/data/gitea/templates/user/overview/package_versions.tmpl @@ -0,0 +1,24 @@ +{{template "base/head" .}} +{{if .ContextUser.IsOrganization}} +
    + {{template "org/header" .}} +
    + {{template "package/shared/versionlist" .}} +
    +
    +{{else}} +
    +
    +
    +
    + {{template "shared/user/profile_big_avatar" .}} +
    +
    + {{template "user/overview/header" .}} + {{template "package/shared/versionlist" .}} +
    +
    +
    +
    +{{end}} +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/overview/packages.tmpl b/data/gitea/templates/user/overview/packages.tmpl new file mode 100644 index 0000000..bb2238b --- /dev/null +++ b/data/gitea/templates/user/overview/packages.tmpl @@ -0,0 +1,24 @@ +{{template "base/head" .}} +{{if .ContextUser.IsOrganization}} +
    + {{template "org/header" .}} +
    + {{template "package/shared/list" .}} +
    +
    +{{else}} +
    +
    +
    +
    + {{template "shared/user/profile_big_avatar" .}} +
    +
    + {{template "user/overview/header" .}} + {{template "package/shared/list" .}} +
    +
    +
    +
    +{{end}} +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/profile.tmpl b/data/gitea/templates/user/profile.tmpl new file mode 100644 index 0000000..cf61bb9 --- /dev/null +++ b/data/gitea/templates/user/profile.tmpl @@ -0,0 +1,39 @@ +{{template "base/head" .}} +
    +
    +
    +
    + {{template "shared/user/profile_big_avatar" .}} +
    +
    + {{template "user/overview/header" .}} + {{if eq .TabName "activity"}} + {{if .ContextUser.KeepActivityPrivate}} +
    +

    {{ctx.Locale.Tr "user.disabled_public_activity"}}

    +
    + {{end}} + {{template "user/heatmap" .}} + {{template "user/dashboard/feeds" .}} + {{else if eq .TabName "stars"}} +
    + {{template "shared/repo_search" .}} + {{template "explore/repo_list" .}} + {{template "base/paginate" .}} +
    + {{else if eq .TabName "following"}} + {{template "repo/user_cards" .}} + {{else if eq .TabName "followers"}} + {{template "repo/user_cards" .}} + {{else if eq .TabName "overview"}} +
    {{.ProfileReadme}}
    + {{else}} + {{template "shared/repo_search" .}} + {{template "explore/repo_list" .}} + {{template "base/paginate" .}} + {{end}} +
    +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/settings/account.tmpl b/data/gitea/templates/user/settings/account.tmpl new file mode 100644 index 0000000..2aaf853 --- /dev/null +++ b/data/gitea/templates/user/settings/account.tmpl @@ -0,0 +1,180 @@ +{{template "user/settings/layout_head" (dict "ctxData" . "pageClass" "user settings account")}} +
    +

    + {{ctx.Locale.Tr "settings.password"}} +

    +
    + {{if or (.SignedUser.IsLocal) (.SignedUser.IsOAuth2)}} +
    + {{template "base/disable_form_autofill"}} + {{.CsrfTokenHtml}} + {{if .SignedUser.IsPasswordSet}} +
    + + +
    + {{end}} +
    + + +
    +
    + + +
    + +
    + + {{ctx.Locale.Tr "auth.forgot_password"}} +
    +
    + {{else}} +
    +

    {{ctx.Locale.Tr "settings.password_change_disabled"}}

    +
    + {{end}} +
    + +

    + {{ctx.Locale.Tr "settings.manage_emails"}} +

    +
    +
    + {{if $.EnableNotifyMail}} +
    +
    {{ctx.Locale.Tr "settings.email_desc"}}
    +
    + {{$.CsrfTokenHtml}} + +
    + + +
    +
    +
    + {{end}} + {{range .Emails}} +
    + {{if not .IsPrimary}} +
    + +
    + {{if .CanBePrimary}} +
    +
    + {{$.CsrfTokenHtml}} + + + +
    +
    + {{end}} + {{end}} + {{if not .IsActivated}} +
    +
    + {{$.CsrfTokenHtml}} + + + {{if $.ActivationsPending}} + + {{else}} + + {{end}} +
    +
    + {{end}} +
    + {{.Email}} + {{if .IsPrimary}} +
    {{ctx.Locale.Tr "settings.primary"}}
    + {{end}} + {{if .IsActivated}} +
    {{ctx.Locale.Tr "settings.activated"}}
    + {{else}} +
    {{ctx.Locale.Tr "settings.requires_activation"}}
    + {{end}} +
    +
    + {{end}} +
    +
    +
    +
    + {{.CsrfTokenHtml}} +
    + + +
    + +
    + {{/* if ActivationsPending is false, then CanAddEmails must be true, so if CanAddEmails is false, ActivationsPending must be true */}} + {{if not .CanAddEmails}} +
    {{ctx.Locale.Tr "settings.can_not_add_email_activations_pending"}}
    + {{end}} +
    + + {{if not ($.UserDisabledFeatures.Contains "deletion")}} +

    + {{ctx.Locale.Tr "settings.delete_account"}} +

    +
    +
    +

    {{svg "octicon-alert"}} {{ctx.Locale.Tr "settings.delete_prompt"}}

    + {{if .UserDeleteWithComments}} +

    {{ctx.Locale.Tr "settings.delete_with_all_comments" .UserDeleteWithCommentsMaxTime}}

    + {{end}} +
    +
    + {{template "base/disable_form_autofill"}} + {{.CsrfTokenHtml}} +
    + + +
    +
    + +
    +
    + +
    + {{end}} +
    + + + +{{template "user/settings/layout_footer" .}} diff --git a/data/gitea/templates/user/settings/actions.tmpl b/data/gitea/templates/user/settings/actions.tmpl new file mode 100644 index 0000000..abc5443 --- /dev/null +++ b/data/gitea/templates/user/settings/actions.tmpl @@ -0,0 +1,12 @@ +{{template "user/settings/layout_head" (dict "ctxData" . "pageClass" "user settings actions")}} +
    + {{if eq .PageType "secrets"}} + {{template "shared/secrets/add_list" .}} + {{else if eq .PageType "runners"}} + {{template "shared/actions/runner_list" .}} + {{else if eq .PageType "variables"}} + {{template "shared/variables/variable_list" .}} + {{end}} +
    + +{{template "user/settings/layout_footer" .}} diff --git a/data/gitea/templates/user/settings/appearance.tmpl b/data/gitea/templates/user/settings/appearance.tmpl new file mode 100644 index 0000000..4fa2489 --- /dev/null +++ b/data/gitea/templates/user/settings/appearance.tmpl @@ -0,0 +1,157 @@ +{{template "user/settings/layout_head" (dict "ctxData" . "pageClass" "user settings")}} +
    + + +

    + {{ctx.Locale.Tr "settings.manage_themes"}} +

    +
    +
    + {{.CsrfTokenHtml}} + +
    + + +
    +
    + +
    +
    +
    + + +

    + {{ctx.Locale.Tr "settings.language"}} +

    +
    +
    + {{.CsrfTokenHtml}} +
    + +
    +
    + +
    +
    +
    + + +

    + {{ctx.Locale.Tr "settings.hidden_comment_types"}} +

    +
    +

    + {{ctx.Locale.Tr "settings.hidden_comment_types_description"}} +

    +
    + {{.CsrfTokenHtml}} +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    + +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    + +
    +
    +
    +
    +{{template "user/settings/layout_footer" .}} diff --git a/data/gitea/templates/user/settings/applications.tmpl b/data/gitea/templates/user/settings/applications.tmpl new file mode 100644 index 0000000..65525aa --- /dev/null +++ b/data/gitea/templates/user/settings/applications.tmpl @@ -0,0 +1,115 @@ +{{template "user/settings/layout_head" (dict "ctxData" . "pageClass" "user settings applications")}} +
    +

    + {{ctx.Locale.Tr "settings.manage_access_token"}} +

    +
    +
    +
    + {{ctx.Locale.Tr "settings.tokens_desc"}} +
    + {{range .Tokens}} +
    +
    + + {{svg "fontawesome-send" 32}} + +
    +
    +
    + {{.Name}} +

    + {{ctx.Locale.Tr "settings.repo_and_org_access"}}: + {{if .DisplayPublicOnly}} + {{ctx.Locale.Tr "settings.permissions_public_only"}} + {{else}} + {{ctx.Locale.Tr "settings.permissions_access_all"}} + {{end}} +

    +

    {{ctx.Locale.Tr "settings.permissions_list"}}

    +
      + {{range .Scope.StringSlice}} + {{if (ne . $.AccessTokenScopePublicOnly)}} +
    • {{.}}
    • + {{end}} + {{end}} +
    +
    +
    + {{ctx.Locale.Tr "settings.added_on" (DateTime "short" .CreatedUnix)}} — {{svg "octicon-info"}} {{if .HasUsed}}{{ctx.Locale.Tr "settings.last_used"}} {{DateTime "short" .UpdatedUnix}}{{else}}{{ctx.Locale.Tr "settings.no_activity"}}{{end}} +
    +
    +
    + +
    +
    + {{end}} +
    +
    +
    +
    + {{ctx.Locale.Tr "settings.generate_new_token"}} +
    +
    + {{.CsrfTokenHtml}} +
    + + +
    +
    + + + +
    +
    + + {{ctx.Locale.Tr "settings.select_permissions"}} + +

    + {{ctx.Locale.Tr "settings.access_token_desc" (HTMLFormat `href="%s/api/swagger" target="_blank"` AppSubUrl) (`href="https://docs.gitea.com/development/oauth2-provider#scopes" target="_blank"`|SafeHTML)}} +

    +
    +
    +
    + +
    {{/* Fomantic ".ui.form .warning.message" is hidden by default, so put the warning message out of the form*/}} +
    + {{ctx.Locale.Tr "settings.at_least_one_permission"}} +
    +
    + + {{if .EnableOAuth2}} + {{template "user/settings/grants_oauth2" .}} + {{template "user/settings/applications_oauth2" .}} + {{end}} +
    + + + +{{template "user/settings/layout_footer" .}} diff --git a/data/gitea/templates/user/settings/applications_oauth2.tmpl b/data/gitea/templates/user/settings/applications_oauth2.tmpl new file mode 100644 index 0000000..866a1f8 --- /dev/null +++ b/data/gitea/templates/user/settings/applications_oauth2.tmpl @@ -0,0 +1,6 @@ +

    + {{ctx.Locale.Tr "settings.manage_oauth2_applications"}} +

    + +{{template "user/settings/applications_oauth2_list" .}} + diff --git a/data/gitea/templates/user/settings/applications_oauth2_edit.tmpl b/data/gitea/templates/user/settings/applications_oauth2_edit.tmpl new file mode 100644 index 0000000..2858ecd --- /dev/null +++ b/data/gitea/templates/user/settings/applications_oauth2_edit.tmpl @@ -0,0 +1,6 @@ +{{template "user/settings/layout_head" (dict "ctxData" . "pageClass" "user settings applications")}} +
    + + {{template "user/settings/applications_oauth2_edit_form" .}} +
    +{{template "user/settings/layout_footer" .}} diff --git a/data/gitea/templates/user/settings/applications_oauth2_edit_form.tmpl b/data/gitea/templates/user/settings/applications_oauth2_edit_form.tmpl new file mode 100644 index 0000000..e62115d --- /dev/null +++ b/data/gitea/templates/user/settings/applications_oauth2_edit_form.tmpl @@ -0,0 +1,54 @@ +

    + {{ctx.Locale.Tr "settings.edit_oauth2_application"}} +

    +
    +

    {{ctx.Locale.Tr "settings.oauth2_application_create_description"}}

    +
    +
    + {{.CsrfTokenHtml}} +
    + + +
    + {{if .ClientSecret}} +
    + + +
    + {{else}} +
    + + +
    + {{end}} +
    + +
    + {{.CsrfTokenHtml}} + {{ctx.Locale.Tr "settings.oauth2_regenerate_secret_hint"}} + +
    +
    +
    +
    +
    + {{.CsrfTokenHtml}} +
    + + +
    +
    + + +
    +
    +
    + + +
    +
    + +
    +
    diff --git a/data/gitea/templates/user/settings/applications_oauth2_list.tmpl b/data/gitea/templates/user/settings/applications_oauth2_list.tmpl new file mode 100644 index 0000000..e9e0217 --- /dev/null +++ b/data/gitea/templates/user/settings/applications_oauth2_list.tmpl @@ -0,0 +1,74 @@ +
    +
    +
    + {{ctx.Locale.Tr "settings.oauth2_application_create_description"}} +
    + {{range .Applications}} +
    +
    + {{svg "octicon-apps" 32}} +
    +
    +
    {{.Name}}
    +
    + {{ctx.Locale.Tr "settings.oauth2_client_id"}} + {{.ClientID}} +
    +
    + {{$isBuiltin := and $.BuiltinApplications (index $.BuiltinApplications .ClientID)}} +
    + {{if $isBuiltin}} + {{ctx.Locale.Tr "locked"}} + {{else}} + + {{svg "octicon-pencil" 16 "tw-mr-1"}} + {{ctx.Locale.Tr "settings.oauth2_application_edit"}} + + + {{end}} +
    +
    + {{end}} +
    + + +
    + +
    +
    + {{ctx.Locale.Tr "settings.create_oauth2_application"}} +
    +
    + {{.CsrfTokenHtml}} +
    + + +
    +
    + + +
    +
    +
    + + +
    +
    + +
    +
    diff --git a/data/gitea/templates/user/settings/blocked_users.tmpl b/data/gitea/templates/user/settings/blocked_users.tmpl new file mode 100644 index 0000000..e495b85 --- /dev/null +++ b/data/gitea/templates/user/settings/blocked_users.tmpl @@ -0,0 +1,5 @@ +{{template "user/settings/layout_head" (dict "ctxData" . "pageClass" "user settings blocked_users")}} +
    + {{template "shared/user/blocked_users" .}} +
    +{{template "user/settings/layout_footer" .}} diff --git a/data/gitea/templates/user/settings/grants_oauth2.tmpl b/data/gitea/templates/user/settings/grants_oauth2.tmpl new file mode 100644 index 0000000..b5ae3e0 --- /dev/null +++ b/data/gitea/templates/user/settings/grants_oauth2.tmpl @@ -0,0 +1,40 @@ +

    + {{ctx.Locale.Tr "settings.authorized_oauth2_applications"}} +

    +
    +
    +
    + {{ctx.Locale.Tr "settings.authorized_oauth2_applications_description"}} +
    + {{range .Grants}} +
    +
    + {{svg "octicon-key" 32}} +
    +
    +
    {{.Application.Name}}
    +
    + {{ctx.Locale.Tr "settings.added_on" (DateTime "short" .CreatedUnix)}} +
    +
    +
    + +
    +
    + {{end}} +
    + + +
    diff --git a/data/gitea/templates/user/settings/hook_new.tmpl b/data/gitea/templates/user/settings/hook_new.tmpl new file mode 100644 index 0000000..be21f59 --- /dev/null +++ b/data/gitea/templates/user/settings/hook_new.tmpl @@ -0,0 +1,7 @@ +{{template "user/settings/layout_head" (dict "ctxData" . "pageClass" "user settings new webhook")}} +
    + {{$CustomHeaderTitle := ctx.Locale.Tr "repo.settings.update_webhook"}} + {{if .PageIsSettingsHooksNew}}{{$CustomHeaderTitle = ctx.Locale.Tr "repo.settings.add_webhook"}}{{end}} + {{template "webhook/new" (dict "ctxData" . "CustomHeaderTitle" $CustomHeaderTitle)}} +
    +{{template "user/settings/layout_footer" .}} diff --git a/data/gitea/templates/user/settings/hooks.tmpl b/data/gitea/templates/user/settings/hooks.tmpl new file mode 100644 index 0000000..477c333 --- /dev/null +++ b/data/gitea/templates/user/settings/hooks.tmpl @@ -0,0 +1,5 @@ +{{template "user/settings/layout_head" (dict "ctxData" . "pageClass" "user settings webhooks")}} +
    + {{template "repo/settings/webhook/list" .}} +
    +{{template "user/settings/layout_footer" .}} diff --git a/data/gitea/templates/user/settings/keys.tmpl b/data/gitea/templates/user/settings/keys.tmpl new file mode 100644 index 0000000..e0f5e42 --- /dev/null +++ b/data/gitea/templates/user/settings/keys.tmpl @@ -0,0 +1,11 @@ +{{template "user/settings/layout_head" (dict "ctxData" . "pageClass" "user settings sshkeys")}} +
    + {{if not ($.UserDisabledFeatures.Contains "manage_ssh_keys")}} + {{template "user/settings/keys_ssh" .}} + {{end}} + {{template "user/settings/keys_principal" .}} + {{if not ($.UserDisabledFeatures.Contains "manage_gpg_keys")}} + {{template "user/settings/keys_gpg" .}} + {{end}} +
    +{{template "user/settings/layout_footer" .}} diff --git a/data/gitea/templates/user/settings/keys_gpg.tmpl b/data/gitea/templates/user/settings/keys_gpg.tmpl new file mode 100644 index 0000000..d86d838 --- /dev/null +++ b/data/gitea/templates/user/settings/keys_gpg.tmpl @@ -0,0 +1,123 @@ +

    + {{ctx.Locale.Tr "settings.manage_gpg_keys"}} +
    + +
    +

    +
    +
    +
    + {{.CsrfTokenHtml}} + +
    + + +
    + {{if .Err_Signature}} +
    +

    {{ctx.Locale.Tr "settings.gpg_token_required"}}

    +
    +
    + + +
    +

    {{ctx.Locale.Tr "settings.gpg_token_help"}}

    +

    {{printf `echo "%s" | gpg -a --default-key %s --detach-sig` .TokenToSign .PaddedKeyID}}

    +
    +
    +
    + + +
    + {{end}} + + + +
    +
    +
    +
    +

    + {{ctx.Locale.Tr "settings.gpg_desc"}}
    + {{ctx.Locale.Tr "settings.gpg_helper" "https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/about-commit-signature-verification#gpg-commit-signature-verification"}} +

    +
    + {{range .GPGKeys}} +
    +
    + {{svg "octicon-key" 32}} +
    +
    + {{if .Verified}} + {{svg "octicon-verified"}} {{ctx.Locale.Tr "settings.gpg_key_verified"}} + {{end}} + {{if .Emails}} + {{svg "octicon-mail"}} {{ctx.Locale.Tr "settings.gpg_key_matched_identities"}} {{range .Emails}}{{.Email}} {{end}} + {{end}} +
    + {{ctx.Locale.Tr "settings.key_id"}}: {{.PaddedKeyID}} + {{ctx.Locale.Tr "settings.subkeys"}}: {{range .SubsKey}} {{.PaddedKeyID}} {{end}} +
    +
    + {{ctx.Locale.Tr "settings.added_on" (DateTime "short" .AddedUnix)}} + - + {{if not .ExpiredUnix.IsZero}}{{ctx.Locale.Tr "settings.valid_until_date" (DateTime "short" .ExpiredUnix)}}{{else}}{{ctx.Locale.Tr "settings.valid_forever"}}{{end}} +
    +
    +
    + + {{if and (not .Verified) (ne $.VerifyingID .KeyID)}} + {{ctx.Locale.Tr "settings.gpg_key_verify"}} + {{end}} +
    +
    + {{if and (not .Verified) (eq $.VerifyingID .KeyID)}} +
    +

    {{ctx.Locale.Tr "settings.gpg_token_required"}}

    +
    + {{$.CsrfTokenHtml}} + + + +
    + + +
    +

    {{ctx.Locale.Tr "settings.gpg_token_help"}}

    +

    {{printf `echo "%s" | gpg -a --default-key %s --detach-sig` $.TokenToSign .PaddedKeyID}}

    +
    +
    +
    +
    + + +
    + + + + {{ctx.Locale.Tr "settings.cancel"}} + +
    +
    + {{end}} + {{end}} +
    + +
    diff --git a/data/gitea/templates/user/settings/keys_principal.tmpl b/data/gitea/templates/user/settings/keys_principal.tmpl new file mode 100644 index 0000000..37d8fb0 --- /dev/null +++ b/data/gitea/templates/user/settings/keys_principal.tmpl @@ -0,0 +1,69 @@ +{{if .AllowPrincipals}} +

    + {{ctx.Locale.Tr "settings.manage_ssh_principals"}} +
    + {{if not .DisableSSH}} + + {{else}} + + {{end}} +
    +

    +
    +
    +
    + {{ctx.Locale.Tr "settings.principal_desc"}} +
    + {{range .Principals}} +
    +
    + {{svg "octicon-key" 32}} +
    +
    +
    {{.Name}}
    +
    + {{ctx.Locale.Tr "settings.added_on" (DateTime "short" .CreatedUnix)}} — {{svg "octicon-info" 16}} {{if .HasUsed}}{{ctx.Locale.Tr "settings.last_used"}} {{DateTime "short" .UpdatedUnix}}{{else}}{{ctx.Locale.Tr "settings.no_activity"}}{{end}} +
    +
    +
    + +
    +
    + {{end}} +
    +
    +
    + +
    +

    + {{ctx.Locale.Tr "settings.add_new_principal"}} +

    +
    +
    + {{.CsrfTokenHtml}} +
    + + +
    + + + +
    +
    +
    + + +{{end}} diff --git a/data/gitea/templates/user/settings/keys_ssh.tmpl b/data/gitea/templates/user/settings/keys_ssh.tmpl new file mode 100644 index 0000000..a2af1b7 --- /dev/null +++ b/data/gitea/templates/user/settings/keys_ssh.tmpl @@ -0,0 +1,111 @@ +

    + {{ctx.Locale.Tr "settings.manage_ssh_keys"}} +
    + +
    +

    +
    +
    +
    + {{.CsrfTokenHtml}} +
    + + +
    +
    + + +
    + + + +
    +
    +
    +
    +

    + {{ctx.Locale.Tr "settings.ssh_desc"}}
    + {{ctx.Locale.Tr "settings.ssh_helper" "https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/connecting-to-github-with-ssh" "https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/troubleshooting-ssh"}} +

    +
    + {{if .DisableSSH}} +
    + {{ctx.Locale.Tr "settings.ssh_signonly"}} +
    + {{end}} + {{range $index, $key := .Keys}} +
    +
    + {{svg "octicon-key" 32}} +
    +
    + {{if .Verified}} +
    {{svg "octicon-verified"}}{{ctx.Locale.Tr "settings.ssh_key_verified"}}
    + {{end}} +
    {{.Name}}
    +
    + {{.Fingerprint}} +
    +
    + {{ctx.Locale.Tr "settings.added_on" (DateTime "short" .CreatedUnix)}} — {{svg "octicon-info"}} {{if .HasUsed}}{{ctx.Locale.Tr "settings.last_used"}} {{DateTime "short" .UpdatedUnix}}{{else}}{{ctx.Locale.Tr "settings.no_activity"}}{{end}} +
    +
    +
    + + {{if and (not .Verified) (ne $.VerifyingFingerprint .Fingerprint)}} + {{ctx.Locale.Tr "settings.ssh_key_verify"}} + {{end}} +
    +
    + {{if and (not .Verified) (eq $.VerifyingFingerprint .Fingerprint)}} +
    +

    {{ctx.Locale.Tr "settings.ssh_token_required"}}

    +
    + {{$.CsrfTokenHtml}} + + + +
    + + +
    +

    {{ctx.Locale.Tr "settings.ssh_token_help"}}

    +

    {{printf "echo -n '%s' | ssh-keygen -Y sign -n gitea -f /path_to_PrivateKey_or_RelatedPublicKey" $.TokenToSign}}

    +
    +
    +
    +
    + + +
    + + + + {{ctx.Locale.Tr "settings.cancel"}} + +
    +
    + {{end}} + {{end}} +
    + +
    diff --git a/data/gitea/templates/user/settings/layout_footer.tmpl b/data/gitea/templates/user/settings/layout_footer.tmpl new file mode 100644 index 0000000..46120d5 --- /dev/null +++ b/data/gitea/templates/user/settings/layout_footer.tmpl @@ -0,0 +1,11 @@ +{{if false}}{{/* to make html structure "likely" complete to prevent IDE warnings */}} +
    +
    +
    + {{/* block: user-setting-content */}} +{{end}} + +
    +
    +
    +{{template "base/footer" .}} diff --git a/data/gitea/templates/user/settings/layout_head.tmpl b/data/gitea/templates/user/settings/layout_head.tmpl new file mode 100644 index 0000000..dce496e --- /dev/null +++ b/data/gitea/templates/user/settings/layout_head.tmpl @@ -0,0 +1,13 @@ +{{template "base/head" .ctxData}} +
    +
    + {{template "user/settings/navbar" .ctxData}} +
    + {{template "base/alert" .ctxData}} + {{/* block: user-setting-content */}} + +{{if false}}{{/* to make html structure "likely" complete to prevent IDE warnings */}} +
    +
    +
    +{{end}} diff --git a/data/gitea/templates/user/settings/navbar.tmpl b/data/gitea/templates/user/settings/navbar.tmpl new file mode 100644 index 0000000..c360944 --- /dev/null +++ b/data/gitea/templates/user/settings/navbar.tmpl @@ -0,0 +1,58 @@ + diff --git a/data/gitea/templates/user/settings/organization.tmpl b/data/gitea/templates/user/settings/organization.tmpl new file mode 100644 index 0000000..16c27b5 --- /dev/null +++ b/data/gitea/templates/user/settings/organization.tmpl @@ -0,0 +1,55 @@ +{{template "user/settings/layout_head" (dict "ctxData" . "pageClass" "user settings organization")}} +
    +

    + {{ctx.Locale.Tr "settings.orgs"}} + {{if .SignedUser.CanCreateOrganization}} + + {{end}} +

    +
    + {{if .Orgs}} +
    + {{range .Orgs}} +
    +
    + {{ctx.AvatarUtils.Avatar . 28 "mini"}} +
    +
    +
    {{template "shared/user/name" .}}
    +
    + {{.Description}} +
    +
    +
    +
    + {{$.CsrfTokenHtml}} + +
    +
    +
    + {{end}} +
    + {{template "base/paginate" .}} + {{else}} + {{ctx.Locale.Tr "settings.orgs_none"}} + {{end}} +
    +
    + + + +{{template "user/settings/layout_footer" .}} diff --git a/data/gitea/templates/user/settings/packages.tmpl b/data/gitea/templates/user/settings/packages.tmpl new file mode 100644 index 0000000..80853ea --- /dev/null +++ b/data/gitea/templates/user/settings/packages.tmpl @@ -0,0 +1,24 @@ +{{template "user/settings/layout_head" (dict "ctxData" . "pageClass" "user settings packages")}} +
    + {{template "package/shared/cleanup_rules/list" .}} + {{template "package/shared/cargo" .}} + +

    + {{ctx.Locale.Tr "packages.owner.settings.chef.title"}} +

    +
    +
    +
    + +
    +
    + {{.CsrfTokenHtml}} + +
    +
    + +
    +
    +
    +
    +{{template "user/settings/layout_footer" .}} diff --git a/data/gitea/templates/user/settings/packages_cleanup_rules_edit.tmpl b/data/gitea/templates/user/settings/packages_cleanup_rules_edit.tmpl new file mode 100644 index 0000000..522b524 --- /dev/null +++ b/data/gitea/templates/user/settings/packages_cleanup_rules_edit.tmpl @@ -0,0 +1,5 @@ +{{template "user/settings/layout_head" (dict "ctxData" . "pageClass" "user settings packages")}} +
    + {{template "package/shared/cleanup_rules/edit" .}} +
    +{{template "user/settings/layout_footer" .}} diff --git a/data/gitea/templates/user/settings/packages_cleanup_rules_preview.tmpl b/data/gitea/templates/user/settings/packages_cleanup_rules_preview.tmpl new file mode 100644 index 0000000..d99aee4 --- /dev/null +++ b/data/gitea/templates/user/settings/packages_cleanup_rules_preview.tmpl @@ -0,0 +1,5 @@ +{{template "user/settings/layout_head" (dict "ctxData" . "pageClass" "user packages admin")}} +
    + {{template "package/shared/cleanup_rules/preview" .}} +
    +{{template "user/settings/layout_footer" .}} diff --git a/data/gitea/templates/user/settings/profile.tmpl b/data/gitea/templates/user/settings/profile.tmpl new file mode 100644 index 0000000..aaaf8f3 --- /dev/null +++ b/data/gitea/templates/user/settings/profile.tmpl @@ -0,0 +1,134 @@ +{{template "user/settings/layout_head" (dict "ctxData" . "pageClass" "user settings profile")}} +
    +

    + {{ctx.Locale.Tr "settings.public_profile"}} +

    +
    +

    {{ctx.Locale.Tr "settings.profile_desc"}}

    +
    + {{.CsrfTokenHtml}} +
    + + + {{if or (not .SignedUser.IsLocal) .IsReverseProxy}} +

    {{ctx.Locale.Tr "settings.password_username_disabled"}}

    + {{end}} +
    +
    + + +
    +
    + +

    {{.SignedUser.Email}}

    +
    +
    + + +
    +
    + + +
    +
    + + +
    + +
    + + +
    + +
    + +
    + + +
    + +
    +
    + + +
    +
    + +
    +
    + + +
    +
    + +
    + +
    + +
    +
    +
    + +

    + {{ctx.Locale.Tr "settings.avatar"}} +

    +
    +
    + {{.CsrfTokenHtml}} + {{if not .DisableGravatar}} +
    +
    + + +
    +
    +
    + + +
    + {{end}} + +
    +
    + + +
    +
    + +
    + + +
    + +
    + + +
    +
    +
    +
    +{{template "user/settings/layout_footer" .}} diff --git a/data/gitea/templates/user/settings/repos.tmpl b/data/gitea/templates/user/settings/repos.tmpl new file mode 100644 index 0000000..a50fb58 --- /dev/null +++ b/data/gitea/templates/user/settings/repos.tmpl @@ -0,0 +1,130 @@ +{{template "user/settings/layout_head" (dict "ctxData" . "pageClass" "user settings repos")}} +
    +

    + {{ctx.Locale.Tr "settings.repos"}} +

    +
    + {{if or .allowAdopt .allowDelete}} + {{if .Dirs}} +
    + {{range $dirI, $dir := .Dirs}} + {{$repo := index $.ReposMap $dir}} +
    {{/* if not repo, then there are "adapt" buttons, so the padding shouldn't be that default large*/}} +
    + {{if $repo}} + {{if $repo.IsPrivate}} + {{svg "octicon-lock"}} + {{else if $repo.IsFork}} + {{svg "octicon-repo-forked"}} + {{else if $repo.IsMirror}} + {{svg "octicon-mirror"}} + {{else if $repo.IsTemplate}} + {{svg "octicon-repo-template"}} + {{else}} + {{svg "octicon-repo"}} + {{end}} + {{$repo.OwnerName}}/{{$repo.Name}} + {{FileSize $repo.Size}} + {{if $repo.IsFork}} + {{ctx.Locale.Tr "repo.forked_from"}} + {{$repo.BaseRepo.OwnerName}}/{{$repo.BaseRepo.Name}} + {{end}} + {{else}} + {{svg "octicon-file-directory-fill"}} + {{$.ContextUser.Name}}/{{$dir}} +
    + {{if $.allowAdopt}} + + + {{end}} + {{if $.allowDelete}} + + + {{end}} +
    + {{end}} +
    +
    + {{end}} +
    + {{template "base/paginate" .}} + {{else}} +
    + {{ctx.Locale.Tr "settings.repos_none"}} +
    + {{end}} + {{else}} + {{if .Repos}} +
    + {{range .Repos}} +
    +
    + {{if .IsPrivate}} + {{svg "octicon-lock" 16 "text gold"}} + {{else if .IsFork}} + {{svg "octicon-repo-forked"}} + {{else if .IsMirror}} + {{svg "octicon-mirror"}} + {{else if .IsTemplate}} + {{svg "octicon-repo-template"}} + {{else}} + {{svg "octicon-repo"}} + {{end}} + {{.OwnerName}}/{{.Name}} + {{FileSize .Size}} + {{if .IsFork}} + {{ctx.Locale.Tr "repo.forked_from"}} + {{.BaseRepo.OwnerName}}/{{.BaseRepo.Name}} + {{end}} +
    +
    + {{end}} +
    + {{template "base/paginate" .}} + {{else}} +
    + {{ctx.Locale.Tr "settings.repos_none"}} +
    + {{end}} + {{end}} +
    +
    + + + +{{template "user/settings/layout_footer" .}} diff --git a/data/gitea/templates/user/settings/runner_edit.tmpl b/data/gitea/templates/user/settings/runner_edit.tmpl new file mode 100644 index 0000000..90c58c1 --- /dev/null +++ b/data/gitea/templates/user/settings/runner_edit.tmpl @@ -0,0 +1,5 @@ +{{template "user/settings/layout_head" (dict "ctxData" . "pageClass" "user settings runners")}} +
    + {{template "shared/actions/runner_edit" .}} +
    +{{template "user/settings/layout_footer" .}} diff --git a/data/gitea/templates/user/settings/security/accountlinks.tmpl b/data/gitea/templates/user/settings/security/accountlinks.tmpl new file mode 100644 index 0000000..0820844 --- /dev/null +++ b/data/gitea/templates/user/settings/security/accountlinks.tmpl @@ -0,0 +1,62 @@ +{{/* No account links, no way to add account links: Menu will not be shown. */}} +{{if or .AccountLinks .OrderedOAuth2Names}} +

    + {{ctx.Locale.Tr "settings.manage_account_links"}} + {{if .OrderedOAuth2Names}} +
    + +
    + {{end}} +

    + +
    +
    +
    + {{ctx.Locale.Tr "settings.manage_account_links_desc"}} +
    + {{range $loginSource, $provider := .AccountLinks}} +
    + {{$providerData := index $.OAuth2Providers $loginSource.Name}} +
    + {{$providerData.IconHTML 20}} +
    +
    + + {{$loginSource.Name}} + + {{if $loginSource.IsActive}} + {{ctx.Locale.Tr "repo.settings.active"}} + {{end}} +
    +
    + +
    +
    + {{end}} +
    + + +
    +{{end}} diff --git a/data/gitea/templates/user/settings/security/openid.tmpl b/data/gitea/templates/user/settings/security/openid.tmpl new file mode 100644 index 0000000..87ba953 --- /dev/null +++ b/data/gitea/templates/user/settings/security/openid.tmpl @@ -0,0 +1,63 @@ +

    + {{ctx.Locale.Tr "settings.manage_openid"}} +

    +
    +
    +
    + {{ctx.Locale.Tr "settings.openid_desc"}} +
    + {{range .OpenIDs}} +
    +
    + {{svg "fontawesome-openid" 20}} +
    +
    +
    {{.URI}}
    +
    +
    +
    + {{$.CsrfTokenHtml}} + + {{if .Show}} + + {{else}} + + {{end}} +
    + +
    +
    + {{end}} +
    +
    +
    +
    + {{.CsrfTokenHtml}} +
    + + +
    + +
    + + +
    diff --git a/data/gitea/templates/user/settings/security/security.tmpl b/data/gitea/templates/user/settings/security/security.tmpl new file mode 100644 index 0000000..aee0456 --- /dev/null +++ b/data/gitea/templates/user/settings/security/security.tmpl @@ -0,0 +1,11 @@ +{{template "user/settings/layout_head" (dict "ctxData" . "pageClass" "user settings security")}} +
    + {{template "user/settings/security/twofa" .}} + {{template "user/settings/security/webauthn" .}} + {{template "user/settings/security/accountlinks" .}} + {{if .EnableOpenIDSignIn}} + {{template "user/settings/security/openid" .}} + {{end}} +
    + +{{template "user/settings/layout_footer" .}} diff --git a/data/gitea/templates/user/settings/security/twofa.tmpl b/data/gitea/templates/user/settings/security/twofa.tmpl new file mode 100644 index 0000000..adebce4 --- /dev/null +++ b/data/gitea/templates/user/settings/security/twofa.tmpl @@ -0,0 +1,37 @@ +

    + {{ctx.Locale.Tr "settings.twofa"}} +

    +
    +

    {{ctx.Locale.Tr "settings.twofa_desc"}}

    + {{if .TOTPEnrolled}} +

    {{ctx.Locale.Tr "settings.twofa_is_enrolled"}}

    +
    + {{.CsrfTokenHtml}} +

    {{ctx.Locale.Tr "settings.regenerate_scratch_token_desc"}}

    + +
    +
    + {{.CsrfTokenHtml}} +

    {{ctx.Locale.Tr "settings.twofa_disable_note"}}

    + +
    + {{else}} + {{/* The recovery tip is there as a means of encouraging a user to enroll */}} +

    {{ctx.Locale.Tr "settings.twofa_recovery_tip"}}

    +

    {{ctx.Locale.Tr "settings.twofa_not_enrolled"}}

    + + {{end}} + + +
    diff --git a/data/gitea/templates/user/settings/security/twofa_enroll.tmpl b/data/gitea/templates/user/settings/security/twofa_enroll.tmpl new file mode 100644 index 0000000..d6bfadf --- /dev/null +++ b/data/gitea/templates/user/settings/security/twofa_enroll.tmpl @@ -0,0 +1,25 @@ +{{template "user/settings/layout_head" (dict "ctxData" . "pageClass" "user settings twofa")}} +
    +

    + {{ctx.Locale.Tr "settings.twofa_enroll"}} +

    +
    +

    {{ctx.Locale.Tr "settings.scan_this_image"}}

    + {{.TwofaSecret}} +

    {{ctx.Locale.Tr "settings.or_enter_secret" .TwofaSecret}}

    +

    {{ctx.Locale.Tr "settings.then_enter_passcode"}}

    +
    + {{.CsrfTokenHtml}} +
    + + +
    +
    + + +
    +
    +
    +
    + +{{template "user/settings/layout_footer" .}} diff --git a/data/gitea/templates/user/settings/security/webauthn.tmpl b/data/gitea/templates/user/settings/security/webauthn.tmpl new file mode 100644 index 0000000..eceee19 --- /dev/null +++ b/data/gitea/templates/user/settings/security/webauthn.tmpl @@ -0,0 +1,43 @@ +

    {{ctx.Locale.Tr "settings.webauthn"}}

    +
    +

    {{ctx.Locale.Tr "settings.webauthn_desc"}}

    +

    {{ctx.Locale.Tr "settings.webauthn_key_loss_warning"}} {{ctx.Locale.Tr "settings.webauthn_alternative_tip"}}

    + {{template "user/auth/webauthn_error" .}} +
    + {{range .WebAuthnCredentials}} +
    +
    + {{svg "octicon-key" 32}} +
    +
    +
    {{.Name}}
    +
    + {{ctx.Locale.Tr "settings.added_on" (DateTime "short" .CreatedUnix)}} +
    +
    +
    + +
    +
    + {{end}} +
    +
    +
    + + +
    + +
    + +
    diff --git a/data/gitea/templates/webhook/new.tmpl b/data/gitea/templates/webhook/new.tmpl new file mode 100644 index 0000000..8ef33df --- /dev/null +++ b/data/gitea/templates/webhook/new.tmpl @@ -0,0 +1,25 @@ +

    + {{.CustomHeaderTitle}} + +

    +
    + {{template "repo/settings/webhook/gitea" .ctxData}} + {{template "repo/settings/webhook/gogs" .ctxData}} + {{template "repo/settings/webhook/slack" .ctxData}} + {{template "repo/settings/webhook/discord" .ctxData}} + {{template "repo/settings/webhook/dingtalk" .ctxData}} + {{template "repo/settings/webhook/telegram" .ctxData}} + {{template "repo/settings/webhook/msteams" .ctxData}} + {{template "repo/settings/webhook/feishu" .ctxData}} + {{template "repo/settings/webhook/matrix" .ctxData}} + {{template "repo/settings/webhook/wechatwork" .ctxData}} + {{template "repo/settings/webhook/packagist" .ctxData}} +
    +{{template "repo/settings/webhook/history" .ctxData}} diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..b8f0c7e --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,23 @@ +version: "3" + +networks: + gitea: + external: false + +services: + server: + image: gitea/gitea:1.22.3 + container_name: tea + environment: + - USER_UID=1000 + - USER_GID=1000 + restart: always + networks: + - gitea + volumes: + - ./data:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + ports: + - "127.0.0.1:8082:3000" + - "127.0.0.1:222:22"