diff --git a/PKG-INFO b/PKG-INFO index 5851122e..073d428d 100644 --- a/PKG-INFO +++ b/PKG-INFO @@ -1,206 +1,206 @@ Metadata-Version: 2.1 Name: swh.web -Version: 0.0.386 +Version: 0.0.387 Summary: Software Heritage Web UI Home-page: https://forge.softwareheritage.org/diffusion/DWUI/ Author: Software Heritage developers Author-email: swh-devel@inria.fr License: UNKNOWN Project-URL: Bug Reports, https://forge.softwareheritage.org/maniphest Project-URL: Funding, https://www.softwareheritage.org/donate Project-URL: Source, https://forge.softwareheritage.org/source/swh-web Project-URL: Documentation, https://docs.softwareheritage.org/devel/swh-web/ Platform: UNKNOWN Classifier: Programming Language :: Python :: 3 Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+) Classifier: Operating System :: OS Independent Classifier: Development Status :: 5 - Production/Stable Classifier: Framework :: Django Requires-Python: >=3.7 Description-Content-Type: text/markdown Provides-Extra: testing License-File: LICENSE License-File: AUTHORS # swh-web This repository holds the development of Software Heritage web applications: * swh-web API (https://archive.softwareheritage.org/api): enables to query the content of the archive through HTTP requests and get responses in JSON or YAML. * swh-web browse (https://archive.softwareheritage.org/browse): graphical interface that eases the navigation in the archive. Documentation about how to use these components but also the details of their URI schemes can be found in the docs folder. The produced HTML documentation can be read and browsed at https://docs.softwareheritage.org/devel/swh-web/index.html. ## Technical details Those applications are powered by: * [Django Web Framework](https://www.djangoproject.com/) on the backend side with the following extensions enabled: * [django-rest-framework](http://www.django-rest-framework.org/) * [django-webpack-loader](https://github.com/owais/django-webpack-loader) * [django-js-reverse](http://django-js-reverse.readthedocs.io/en/latest/) * [webpack](https://webpack.js.org/) on the frontend side for better static assets management, including: * assets dependencies management and retrieval through [yarn](https://yarnpkg.com/en/) * linting of custom javascript code (through [eslint](https://eslint.org/)) and stylesheets (through [stylelint](https://stylelint.io/)) * use of [es6](http://es6-features.org) syntax and advanced javascript feature like [async/await](https://javascript.info/async-await) or [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) thanks to [babel](https://babeljs.io/) (es6 to es5 transpiler and polyfills provider) * assets minification (using [terser](https://github.com/terser-js/terser) and [cssnano](http://cssnano.co/)) but also dead code elimination for production use ## How to build, run and test ### Backend requirements First you will need [Python 3](https://www.python.org) and a complete [swh development environment](https://forge.softwareheritage.org/source/swh-environment/) installed. To run the backend, you need to have the following [Python 3 modules](requirements.txt) installed. To run the backend tests, the following [Python 3 modules](requirements-test.txt) are also required to be installed. One easy way to install them is to use the `pip` tool: ``` $ pip install -r requirements.txt -r requirements-test.txt ``` ### Frontend requirements To compile the frontend assets, you need to have [nodejs](https://nodejs.org/en/) >= 12.0.0 and [yarn](https://yarnpkg.com/en/) installed. If you are on Debian, you can easily install an up to date nodejs from the [nodesource](https://github.com/nodesource/distributions/blob/master/README.md) repository. Packages for yarn can be installed by following [these instructions](https://yarnpkg.com/en/docs/install#debian-stable). Alternatively, you can install yarn with `npm install yarn`, and add `YARN=node_modules/yarn/bin/yarn` as argument whenever you run `make`. Please note that the static assets bundles generated by webpack are not stored in the git repository. Follow the instructions below in order to generate them in order to be able to run the frontend part of the web applications. ### Make targets to execute the applications Below is the list of available make targets that can be executed from the root directory of swh-web in order to build and/or execute the web applications under various configurations: * **run-django-webpack-devserver**: Compile and serve not optimized (without mignification and dead code elimination) frontend static assets using [webpack-dev-server](https://github.com/webpack/webpack-dev-server) and run django server with development settings. This is the recommended target to use when developing swh-web as it enables automatic reloading of backend and frontend part of the applications when modifying source files (*.py, *.js, *.css, *.html). * **run-django-webpack-dev**: Compile not optimized (no minification, no dead code elimination) frontend static assets using webpack and run django server with development settings. This is the recommended target when one only wants to develop the backend side of the application. * **run-django-webpack-prod**: Compile optimized (with minification and dead code elimination) frontend static assets using webpack and run django server with production settings. This is useful to test the applications in production mode (with the difference that static assets are served by django). Production settings notably enable advanced django caching and you will need to have [memcached](https://memcached.org/) installed for that feature to work. * **run-django-server-dev**: Run the django server with development settings but without compiling frontend static assets through webpack. * **run-django-server-prod**: Run the django server with production settings but without compiling frontend static assets through webpack. * **run-gunicorn-server**: Run the web applications with production settings in a [gunicorn](http://gunicorn.org/) worker as they will be in real production environment. Once one of these targets executed, the web applications can be executed by pointing your browser to http://localhost:5004. ### Make targets to test the applications Some make targets are also available to easily execute the backend and frontend tests of the Software Heritage web applications. The backend tests are powered by the [pytest](https://docs.pytest.org/en/latest/) and [hypothesis](https://hypothesis.readthedocs.io/en/latest/) frameworks while the frontend ones rely on the use of the [cypress](https://www.cypress.io/) tool. Below is the exhaustive list of those targets: * **test**: execute the backend tests using a fast hypothesis profile (only one input example will be provided for each test) * **test-full**: execute the backend tests using a slower hypothesis profile (one hundred of input examples will be provided for each test which helps spotting possible bugs) * **test-frontend**: execute the frontend tests using cypress in headless mode but with some slow test suites disabled * **test-frontend-full**: execute the frontend tests using cypress in headless mode with all test suites enabled * **test-frontend-ui**: execute the frontend tests using the cypress GUI but with some slow test suites disabled * **test-frontend-full-ui**: execute the frontend tests using the cypress GUI with all test suites enabled ### Yarn targets Below is a list of available yarn targets in order to only execute the frontend static assets compilation (no web server will be executed): * **build-dev**: compile not optimized (without mignification and dead code elimination) frontend static assets and store the results in the `swh/web/static` folder. * **build**: compile optimized (with mignification and dead code elimination) frontend static assets and store the results in the `swh/web/static` folder. **The build target must be executed prior performing the Debian packaging of swh-web** in order for the package to contain the optimized assets dedicated to production environment. To execute these targets, issue the following command: ``` $ yarn ``` diff --git a/assets/src/bundles/add_forge/add-request-history-item.ejs b/assets/src/bundles/add_forge/add-request-history-item.ejs index 57b43972..172554c8 100644 --- a/assets/src/bundles/add_forge/add-request-history-item.ejs +++ b/assets/src/bundles/add_forge/add-request-history-item.ejs @@ -1,31 +1,34 @@ <%# Copyright (C) 2022 The Software Heritage developers See the AUTHORS file at the top-level directory of this distribution License: GNU Affero General Public License version 3, or any later version See top-level LICENSE file for more information %>
-
+

-

-
+
-

<%= event.text %>

+
<%= event.text %>
+ <%if (event.message_source_url !== null) { %> +

Open original message in email client

+ <% } %> <%if (event.new_status !== null) { %>

Status changed to: <%= swh.add_forge.formatRequestStatusName(event.new_status) %>

<% } %>
diff --git a/assets/src/bundles/add_forge/request-dashboard.js b/assets/src/bundles/add_forge/request-dashboard.js index 7924c3e6..29d77011 100644 --- a/assets/src/bundles/add_forge/request-dashboard.js +++ b/assets/src/bundles/add_forge/request-dashboard.js @@ -1,131 +1,138 @@ /** * Copyright (C) 2022 The Software Heritage developers * See the AUTHORS file at the top-level directory of this distribution * License: GNU Affero General Public License version 3, or any later version * See top-level LICENSE file for more information */ import {handleFetchError, csrfPost, getHumanReadableDate} from 'utils/functions'; import emailTempate from './forge-admin-email.ejs'; import requestHistoryItem from './add-request-history-item.ejs'; let forgeRequest; export function onRequestDashboardLoad(requestId) { $(document).ready(() => { populateRequestDetails(requestId); $('#contactForgeAdmin').click((event) => { contactForgeAdmin(event); }); $('#updateRequestForm').submit(async function(event) { event.preventDefault(); try { const response = await csrfPost($(this).attr('action'), {'Content-Type': 'application/x-www-form-urlencoded'}, $(this).serialize()); handleFetchError(response); $('#userMessage').text('The request status has been updated '); $('#userMessage').removeClass('badge-danger'); $('#userMessage').addClass('badge-success'); populateRequestDetails(requestId); } catch (response) { $('#userMessage').text('Sorry; Updating the request failed'); $('#userMessage').removeClass('badge-success'); $('#userMessage').addClass('badge-danger'); } }); }); } async function populateRequestDetails(requestId) { try { const response = await fetch(Urls.api_1_add_forge_request_get(requestId)); handleFetchError(response); const data = await response.json(); forgeRequest = data.request; $('#requestStatus').text(swh.add_forge.formatRequestStatusName(forgeRequest.status)); $('#requestType').text(forgeRequest.forge_type); $('#requestURL').text(forgeRequest.forge_url); $('#requestContactName').text(forgeRequest.forge_contact_name); $('#requestContactConsent').text(forgeRequest.submitter_forward_username); $('#requestContactEmail').text(forgeRequest.forge_contact_email); $('#submitterMessage').text(forgeRequest.forge_contact_comment); $('#updateComment').val(''); // Setting data for the email, now adding static data $('#contactForgeAdmin').attr('emailTo', forgeRequest.forge_contact_email); - $('#contactForgeAdmin').attr('emailSubject', `[swh-add_forge_now] Request ${forgeRequest.id}`); + $('#contactForgeAdmin').attr('emailCc', forgeRequest.inbound_email_address); + $('#contactForgeAdmin').attr('emailSubject', `Software Heritage archival request for ${forgeRequest.forge_domain}`); populateRequestHistory(data.history); populateDecisionSelectOption(forgeRequest.status); - } catch (response) { - // The error message - $('#fetchError').removeClass('d-none'); - $('#requestDetails').addClass('d-none'); + } catch (e) { + if (e instanceof Response) { + // The fetch request failed (in handleFetchError), show the error message + $('#fetchError').removeClass('d-none'); + $('#requestDetails').addClass('d-none'); + } else { + // Unknown exception, pass it through + throw e; + } } } function populateRequestHistory(history) { $('#requestHistory').children().remove(); history.forEach((event, index) => { const historyEvent = requestHistoryItem({ 'event': event, 'index': index, 'getHumanReadableDate': getHumanReadableDate }); $('#requestHistory').append(historyEvent); }); } export function populateDecisionSelectOption(currentStatus) { const nextStatusesFor = { 'PENDING': ['WAITING_FOR_FEEDBACK', 'REJECTED', 'SUSPENDED'], 'WAITING_FOR_FEEDBACK': ['FEEDBACK_TO_HANDLE'], 'FEEDBACK_TO_HANDLE': [ 'WAITING_FOR_FEEDBACK', 'ACCEPTED', 'REJECTED', 'SUSPENDED' ], 'ACCEPTED': ['SCHEDULED'], 'SCHEDULED': [ 'FIRST_LISTING_DONE', 'FIRST_ORIGIN_LOADED' ], 'FIRST_LISTING_DONE': ['FIRST_ORIGIN_LOADED'], 'FIRST_ORIGIN_LOADED': [], 'REJECTED': [], 'SUSPENDED': ['PENDING'], 'DENIED': [] }; // Determine the possible next status out of the current one const nextStatuses = nextStatusesFor[currentStatus]; function addStatusOption(status, index) { // Push the next possible status options const label = swh.add_forge.formatRequestStatusName(status); $('#decisionOptions').append( `` ); } // Remove all the options and add new ones $('#decisionOptions').children().remove(); nextStatuses.forEach(addStatusOption); $('#decisionOptions').append( '' ); } function contactForgeAdmin(event) { // Open the mailclient with pre-filled text const mailTo = $('#contactForgeAdmin').attr('emailTo'); + const mailCc = $('#contactForgeAdmin').attr('emailCc'); const subject = $('#contactForgeAdmin').attr('emailSubject'); const emailText = emailTempate({'forgeUrl': forgeRequest.forge_url}).trim().replace(/\n/g, '%0D%0A'); const w = window.open('', '_blank', '', true); - w.location.href = `mailto: ${mailTo}?subject=${subject}&body=${emailText}`; + w.location.href = `mailto:${mailTo}?Cc=${mailCc}&Reply-To=${mailCc}&Subject=${subject}&body=${emailText}`; w.focus(); } diff --git a/assets/src/bundles/webapp/coverage.css b/assets/src/bundles/webapp/coverage.css index e118a0e5..5ce90f6c 100644 --- a/assets/src/bundles/webapp/coverage.css +++ b/assets/src/bundles/webapp/coverage.css @@ -1,79 +1,83 @@ /** - * Copyright (C) 2021 The Software Heritage developers + * Copyright (C) 2021-2022 The Software Heritage developers * See the AUTHORS file at the top-level directory of this distribution * License: GNU Affero General Public License version 3, or any later version * See top-level LICENSE file for more information */ .swh-coverage { padding-top: 0.3rem; border: none; overflow: visible; } .swh-coverage a { text-decoration: none; } .swh-coverage-col { padding-left: 10px; padding-right: 10px; } .swh-coverage-header { padding-top: 0; padding-bottom: 0; } .swh-coverage-logo { display: block; width: 100%; height: 50px; margin-left: auto; margin-right: auto; object-fit: contain; /* polyfill for old browsers, see https://github.com/bfred-it/object-fit-images */ font-family: "object-fit: contain;"; } .swh-coverage-list { width: 100%; height: 320px; border: none; } .swh-coverage-chevron { position: absolute; right: 0; } .swh-coverage .card-header .mdi { transition: 0.3s transform ease-in-out; } .swh-coverage .card-header .collapsed .mdi { transform: rotate(90deg); } .swh-coverage-info-body { max-height: 150px; overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; /* Firefox only */ padding: 0; } +.swh-coverage-focus { + border: 2px solid #e20026; +} + /* Thin scrollbar for chromium based browsers */ .swh-coverage-info-body::-webkit-scrollbar { width: 4px; } .swh-coverage-info-body::-webkit-scrollbar-track { background: #eff0f1; } .swh-coverage-info-body::-webkit-scrollbar-thumb { background: #909396; } diff --git a/cypress/integration/add-forge-now-request-dashboard.spec.js b/cypress/integration/add-forge-now-request-dashboard.spec.js index 70bdaeca..4c766a2e 100644 --- a/cypress/integration/add-forge-now-request-dashboard.spec.js +++ b/cypress/integration/add-forge-now-request-dashboard.spec.js @@ -1,229 +1,308 @@ /** * Copyright (C) 2022 The Software Heritage developers * See the AUTHORS file at the top-level directory of this distribution * License: GNU Affero General Public License version 3, or any later version * See top-level LICENSE file for more information */ let requestId; +let requestForgeDomain; +let requestInboundEmailAddress; + +const requestData = { + forge_type: 'bitbucket', + forge_url: 'test.example.com', + forge_contact_email: 'test@example.com', + forge_contact_name: 'test user', + submitter_forward_username: true, + forge_contact_comment: 'test comment' +}; function createDummyRequest(urls) { cy.task('db:add_forge_now:delete'); cy.userLogin(); - cy.getCookie('csrftoken').its('value').then((token) => { + return cy.getCookie('csrftoken').its('value').then((token) => { cy.request({ method: 'POST', url: urls.api_1_add_forge_request_create(), - body: { - forge_type: 'bitbucket', - forge_url: 'test.example.com', - forge_contact_email: 'test@example.com', - forge_contact_name: 'test user', - submitter_forward_username: true, - forge_contact_comment: 'test comment' - }, + body: requestData, headers: { 'X-CSRFToken': token } }).then((response) => { - // setting requestId from response + // setting requestId and forgeDomain from response requestId = response.body.id; + requestForgeDomain = response.body.forge_domain; + requestInboundEmailAddress = response.body.inbound_email_address; // logout the user cy.visit(urls.swh_web_homepage()); cy.contains('a', 'logout').click(); }); }); } +function genEmailSrc() { + return `Message-ID: +Date: Tue, 19 Apr 2022 14:00:56 +0200 +MIME-Version: 1.0 +User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 + Thunderbird/91.8.0 +To: ${requestData.forge_contact_email} +Cc: ${requestInboundEmailAddress} +Reply-To: ${requestInboundEmailAddress} +Subject: Software Heritage archival request for test.example.com +Content-Language: en-US +From: Test Admin +Content-Type: text/plain; charset=UTF-8; format=flowed +Content-Transfer-Encoding: 7bit + +Dear forge administrator, + +The mission of Software Heritage is to collect, preserve and share all the +publicly available source code (see https://www.softwareheritage.org for more +information). + +We just received a request to add the forge hosted at https://test.example.com to the +list of software origins that are archived, and it is our understanding that you +are the contact person for this forge. + +In order to archive the forge contents, we will have to periodically pull the +public repositories it contains and clone them into the +Software Heritage archive. + +Would you be so kind as to reply to this message to acknowledge the reception +of this email and let us know if there are any special steps we should take in +order to properly archive the public repositories hosted on your infrastructure? + +Thank you in advance for your help. + +Kind regards, +The Software Heritage team +`; +} + describe('Test add forge now request dashboard load', function() { before(function() { // Create an add-forge-request object in the DB createDummyRequest(this.Urls); }); beforeEach(function() { const url = this.Urls.add_forge_now_request_dashboard(requestId); // request dashboard require admin permissions to view cy.adminLogin(); cy.intercept(`${this.Urls.api_1_add_forge_request_get(requestId)}**`).as('forgeRequestGet'); cy.visit(url); }); it('should load add forge request details', function() { cy.wait('@forgeRequestGet'); cy.get('#requestStatus') .should('contain', 'Pending'); cy.get('#requestType') .should('contain', 'bitbucket'); cy.get('#requestURL') .should('contain', 'test.example.com'); cy.get('#requestContactEmail') .should('contain', 'test@example.com'); cy.get('#requestContactName') .should('contain', 'test user'); cy.get('#requestContactEmail') .should('contain', 'test@example.com'); cy.get('#requestContactConsent') .should('contain', 'true'); cy.get('#submitterMessage') .should('contain', 'test comment'); }); it('should show send message link', function() { cy.wait('@forgeRequestGet'); cy.get('#contactForgeAdmin') .should('have.attr', 'emailto') .and('include', 'test@example.com'); cy.get('#contactForgeAdmin') .should('have.attr', 'emailsubject') - .and('include', `[swh-add_forge_now] Request ${requestId}`); + .and('include', `Software Heritage archival request for ${requestForgeDomain}`); }); it('should not show any error message', function() { cy.wait('@forgeRequestGet'); cy.get('#fetchError') .should('have.class', 'd-none'); cy.get('#requestDetails') .should('not.have.class', 'd-none'); }); it('should show error message for an api error', function() { // requesting with a non existing request ID const invalidRequestId = requestId + 10; const url = this.Urls.add_forge_now_request_dashboard(invalidRequestId); cy.intercept(`${this.Urls.api_1_add_forge_request_get(invalidRequestId)}**`, {statusCode: 400}).as('forgeAddInvalidRequest'); cy.visit(url); cy.wait('@forgeAddInvalidRequest'); cy.get('#fetchError') .should('not.have.class', 'd-none'); cy.get('#requestDetails') .should('have.class', 'd-none'); }); it('should load add forge request history', function() { cy.wait('@forgeRequestGet'); cy.get('#requestHistory') .children() .should('have.length', 1); cy.get('#requestHistory') .children() .should('contain', 'New status: Pending'); cy.get('#requestHistory') .should('contain', 'From user (SUBMITTER)'); }); it('should load possible next status', function() { cy.wait('@forgeRequestGet'); // 3 possible next status and the comment option cy.get('#decisionOptions') .children() .should('have.length', 4); }); }); function populateAndSubmitForm() { cy.get('#decisionOptions').select('WAITING_FOR_FEEDBACK'); cy.get('#updateComment').type('This is an update comment'); cy.get('#updateRequestForm').submit(); } -describe('Test forge now request update', function() { +describe('Test add forge now request update', function() { beforeEach(function() { - createDummyRequest(this.Urls); - - const url = this.Urls.add_forge_now_request_dashboard(requestId); - cy.adminLogin(); - // intercept GET API on page load - cy.intercept(`${this.Urls.api_1_add_forge_request_get(requestId)}**`).as('forgeRequestGet'); - // intercept update POST API - cy.intercept('POST', `${this.Urls.api_1_add_forge_request_update(requestId)}**`).as('forgeRequestUpdate'); - cy.visit(url); + createDummyRequest(this.Urls).then(() => { + + this.url = this.Urls.add_forge_now_request_dashboard(requestId); + cy.adminLogin(); + // intercept GET API on page load + cy.intercept(`${this.Urls.api_1_add_forge_request_get(requestId)}**`).as('forgeRequestGet'); + // intercept update POST API + cy.intercept('POST', `${this.Urls.api_1_add_forge_request_update(requestId)}**`).as('forgeRequestUpdate'); + cy.visit(this.url).then(() => { + cy.wait('@forgeRequestGet'); + }); + }); }); it('should submit correct details', function() { - cy.wait('@forgeRequestGet'); populateAndSubmitForm(); // Making sure posting the right data cy.wait('@forgeRequestUpdate').its('request.body') .should('include', 'new_status') .should('include', 'text') .should('include', 'WAITING_FOR_FEEDBACK'); }); it('should show success message', function() { - cy.wait('@forgeRequestGet'); populateAndSubmitForm(); // Making sure showing the success message cy.wait('@forgeRequestUpdate'); cy.get('#userMessage') .should('contain', 'The request status has been updated') .should('not.have.class', 'badge-danger') .should('have.class', 'badge-success'); }); it('should update the dashboard after submit', function() { - cy.wait('@forgeRequestGet'); populateAndSubmitForm(); // Making sure the UI is updated after the submit cy.wait('@forgeRequestGet'); cy.get('#requestStatus') .should('contain', 'Waiting for feedback'); cy.get('#requestHistory') .children() .should('have.length', 2); cy.get('#requestHistory') .children() .should('contain', 'New status: Waiting for feedback'); cy.get('#requestHistory') .children() .should('contain', 'This is an update comment'); cy.get('#requestHistory') .children() .should('contain', 'Status changed to: Waiting for feedback'); cy.get('#decisionOptions') .children() .should('have.length', 2); }); + it('should update the dashboard after receiving email', function() { + const emailSrc = genEmailSrc(); + cy.task('processAddForgeNowInboundEmail', emailSrc); + + // Refresh page and wait for the async request to complete + cy.visit(this.url); + cy.wait('@forgeRequestGet'); + + cy.get('#requestHistory') + .children() + .should('have.length', 2); + + cy.get('#historyItem1') + .click() + .should('contain', 'New status: Waiting for feedback'); + + cy.get('#historyItemBody1') + .find('a') + .should('contain', 'Open original message in email client') + .should('have.prop', 'href').and('contain', '/message-source/').then(function(href) { + cy.request(href).then((response) => { + expect(response.headers['content-type']) + .to.equal('text/email'); + + expect(response.headers['content-disposition']) + .to.match(/filename="add-forge-now-test.example.com-message\d+.eml"/); + + expect(response.body) + .to.equal(emailSrc); + }); + }); + }); + it('should show an error on API failure', function() { cy.intercept('POST', `${this.Urls.api_1_add_forge_request_update(requestId)}**`, {forceNetworkError: true}) .as('updateFailedRequest'); cy.get('#updateComment').type('This is an update comment'); cy.get('#updateRequestForm').submit(); cy.wait('@updateFailedRequest'); cy.get('#userMessage') .should('contain', 'Sorry; Updating the request failed') .should('have.class', 'badge-danger') .should('not.have.class', 'badge-success'); }); }); diff --git a/cypress/plugins/index.js b/cypress/plugins/index.js index fac4b035..a7f7146b 100644 --- a/cypress/plugins/index.js +++ b/cypress/plugins/index.js @@ -1,165 +1,176 @@ /** * Copyright (C) 2019-2022 The Software Heritage developers * See the AUTHORS file at the top-level directory of this distribution * License: GNU Affero General Public License version 3, or any later version * See top-level LICENSE file for more information */ const axios = require('axios'); +const {execFileSync} = require('child_process'); const fs = require('fs'); const sqlite3 = require('sqlite3').verbose(); async function httpGet(url) { const response = await axios.get(url); return response.data; } async function getMetadataForOrigin(originUrl, baseUrl) { const originVisitsApiUrl = `${baseUrl}/api/1/origin/${originUrl}/visits`; const originVisits = await httpGet(originVisitsApiUrl); const lastVisit = originVisits[0]; const snapshotApiUrl = `${baseUrl}/api/1/snapshot/${lastVisit.snapshot}`; const lastOriginSnapshot = await httpGet(snapshotApiUrl); let revision = lastOriginSnapshot.branches.HEAD.target; if (lastOriginSnapshot.branches.HEAD.target_type === 'alias') { revision = lastOriginSnapshot.branches[revision].target; } const revisionApiUrl = `${baseUrl}/api/1/revision/${revision}`; const lastOriginHeadRevision = await httpGet(revisionApiUrl); return { 'directory': lastOriginHeadRevision.directory, 'revision': lastOriginHeadRevision.id, 'snapshot': lastOriginSnapshot.id }; }; function getDatabase() { return new sqlite3.Database('./swh-web-test.sqlite3'); } module.exports = (on, config) => { require('@cypress/code-coverage/task')(on, config); // produce JSON files prior launching browser in order to dynamically generate tests on('before:browser:launch', function(browser, launchOptions) { return new Promise((resolve) => { const p1 = axios.get(`${config.baseUrl}/tests/data/content/code/extensions/`); const p2 = axios.get(`${config.baseUrl}/tests/data/content/code/filenames/`); Promise.all([p1, p2]) .then(function(responses) { fs.writeFileSync('cypress/fixtures/source-file-extensions.json', JSON.stringify(responses[0].data)); fs.writeFileSync('cypress/fixtures/source-file-names.json', JSON.stringify(responses[1].data)); resolve(); }); }); }); on('task', { getSwhTestsData: async() => { if (!global.swhTestsData) { const swhTestsData = {}; swhTestsData.unarchivedRepo = { url: 'https://github.com/SoftwareHeritage/swh-web', type: 'git', revision: '7bf1b2f489f16253527807baead7957ca9e8adde', snapshot: 'd9829223095de4bb529790de8ba4e4813e38672d', rootDirectory: '7d887d96c0047a77e2e8c4ee9bb1528463677663', content: [{ sha1git: 'b203ec39300e5b7e97b6e20986183cbd0b797859' }] }; swhTestsData.origin = [{ url: 'https://github.com/memononen/libtess2', type: 'git', content: [{ path: 'Source/tess.h' }, { path: 'premake4.lua' }], directory: [{ path: 'Source', id: 'cd19126d815470b28919d64b2a8e6a3e37f900dd' }], revisions: [], invalidSubDir: 'Source1' }, { url: 'https://github.com/wcoder/highlightjs-line-numbers.js', type: 'git', content: [{ path: 'src/highlightjs-line-numbers.js' }], directory: [], revisions: ['1c480a4573d2a003fc2630c21c2b25829de49972'], release: { name: 'v2.6.0', id: '6877028d6e5412780517d0bfa81f07f6c51abb41', directory: '5b61d50ef35ca9a4618a3572bde947b8cccf71ad' } }]; for (const origin of swhTestsData.origin) { const metadata = await getMetadataForOrigin(origin.url, config.baseUrl); const directoryApiUrl = `${config.baseUrl}/api/1/directory/${metadata.directory}`; origin.dirContent = await httpGet(directoryApiUrl); origin.rootDirectory = metadata.directory; origin.revisions.push(metadata.revision); origin.snapshot = metadata.snapshot; for (const content of origin.content) { const contentPathApiUrl = `${config.baseUrl}/api/1/directory/${origin.rootDirectory}/${content.path}`; const contentMetaData = await httpGet(contentPathApiUrl); content.name = contentMetaData.name.split('/').slice(-1)[0]; content.sha1git = contentMetaData.target; content.directory = contentMetaData.dir_id; const rawFileUrl = `${config.baseUrl}/browse/content/sha1_git:${content.sha1git}/raw/?filename=${content.name}`; const fileText = await httpGet(rawFileUrl); const fileLines = fileText.split('\n'); content.numberLines = fileLines.length; if (!fileLines[content.numberLines - 1]) { // If last line is empty its not shown content.numberLines -= 1; } } } global.swhTestsData = swhTestsData; } return global.swhTestsData; }, 'db:user_mailmap:delete': () => { const db = getDatabase(); db.serialize(function() { db.run('DELETE FROM user_mailmap'); db.run('DELETE FROM user_mailmap_event'); }); db.close(); return true; }, 'db:user_mailmap:mark_processed': () => { const db = getDatabase(); db.serialize(function() { db.run('UPDATE user_mailmap SET mailmap_last_processing_date=datetime("now", "+1 hour")'); }); db.close(); return true; }, 'db:add_forge_now:delete': () => { const db = getDatabase(); db.serialize(function() { db.run('DELETE FROM add_forge_request_history'); db.run('DELETE FROM sqlite_sequence WHERE name="add_forge_request_history"'); }); db.serialize(function() { db.run('DELETE FROM add_forge_request'); db.run('DELETE FROM sqlite_sequence WHERE name="add_forge_request"'); }); db.close(); return true; + }, + processAddForgeNowInboundEmail(emailSrc) { + try { + execFileSync('django-admin', + ['process_inbound_email', '--settings=swh.web.settings.tests'], + {input: emailSrc}); + return true; + } catch (_) { + return false; + } } }); return config; }; diff --git a/static/css/webapp.ac2aaf02609c198af58a.css b/static/css/webapp.06378649ab57a826c4e9.css similarity index 79% rename from static/css/webapp.ac2aaf02609c198af58a.css rename to static/css/webapp.06378649ab57a826c4e9.css index d635bcd4..e2cd2c4d 100644 --- a/static/css/webapp.ac2aaf02609c198af58a.css +++ b/static/css/webapp.06378649ab57a826c4e9.css @@ -1,2 +1,2 @@ -html{height:100%;overflow-x:hidden;scroll-behavior:auto!important}body{margin:0;min-height:100%;padding-bottom:120px;position:relative}*{-webkit-font-variant-ligatures:no-common-ligatures;-moz-font-variant-ligatures:no-common-ligatures;font-variant-ligatures:no-common-ligatures}a.active,a:active{outline:none}code{background-color:#f9f2f4}pre code{background-color:transparent}footer{background-color:#262626;bottom:0;color:#fff;font-size:.8rem;padding-bottom:10px;padding-top:10px;position:absolute;width:100%}footer a,footer a:hover,footer a:visited{color:#fecd1b}footer a:hover{text-decoration:underline}.link-color{color:#fecd1b}pre{background-color:#f5f5f5;border:1px solid #ccc;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;font-size:.8rem;padding:9.5px}.btn.active{background-color:#e7e7e7}.card{margin-bottom:5px!important;overflow-x:auto}.navbar-brand{margin-right:0;padding:5px}.table{margin-bottom:0}.swh-table thead{background-color:#f2f4f5;border-top:1px solid rgb(0 0 0/20%);font-weight:400}.swh-table-striped th{border-top:none}.swh-table-striped tbody tr:nth-child(2n){background-color:#f2f4f5}.swh-table-striped tbody tr:nth-child(odd){background-color:#fff}.swh-web-app-link a{border:none;text-decoration:none}.swh-web-app-link:hover{background-color:#efeff2}.table>thead>tr>th{border-bottom:1px solid #e20026;border-top:none}.table>tbody>tr>td{border-style:none}.sitename .first-word,.sitename .second-word{color:rgb(0 0 0/75%);font-size:1.2rem;font-weight:400}.sitename .first-word{font-family:Alegreya Sans,sans-serif}.sitename .second-word{font-family:Alegreya,serif}.swh-counter{font-size:150%}@media (max-width:600px){.swh-counter-container{margin-top:1rem}}.swh-http-error{margin:0 auto;text-align:center}.swh-http-error-head{color:#2d353c;font-size:30px}.swh-http-error-code{bottom:60%;color:#2d353c;font-size:96px;line-height:80px;margin-bottom:10px!important}.swh-http-error-desc{color:#647788;font-size:12px;text-align:center}.swh-http-error-desc pre{display:inline-block;max-width:800px;text-align:left;white-space:pre-wrap}.swh-list-unstyled{list-style:none}.popover{max-width:97%;z-index:40000}.modal{padding:0!important;text-align:center;z-index:50000}.modal:before{content:"";height:100%;margin-right:-4px}.modal-dialog,.modal:before{display:inline-block;vertical-align:middle}.modal-dialog{text-align:left}.dropdown-submenu{position:relative}.dropdown-submenu .dropdown-menu{left:-100%;margin-left:-2px;margin-top:-5px;top:0}.dropdown-item:focus,.dropdown-item:hover{background-color:rgb(0 0 0/10%)}a.dropdown-left:before{content:"\f035e";display:block;float:left;font-family:Material Design Icons;height:20px;margin-left:0;width:20px}#swh-navbar{-webkit-box-pack:normal;-moz-box-pack:normal;border-bottom-width:5px;-webkit-border-image:-webkit-gradient(linear,left top,right top,from(rgb(226 0 38)),to(rgb(254 205 27))) 1 1 1 1;-webkit-border-image:-webkit-linear-gradient(left,rgb(226 0 38),rgb(254 205 27)) 1 1 1 1;-moz-border-image:-moz-linear-gradient(left,rgb(226 0 38) 0,rgb(254 205 27) 100%) 1 1 1 1;-o-border-image:-o-linear-gradient(left,rgb(226 0 38) 0,rgb(254 205 27) 100%) 1 1 1 1;border-image:-webkit-gradient(linear,left top,right top,from(rgb(226 0 38)),to(rgb(254 205 27))) 1 1 1 1;border-image:linear-gradient(90deg,rgb(226 0 38) 0,rgb(254 205 27)) 1 1 1 1;border-style:none none solid;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;height:72px;-webkit-justify-content:normal;justify-content:normal;margin-bottom:10px;margin-top:30px;overflow:hidden;padding:5px;width:100%}#back-to-top{bottom:30px;display:none;position:fixed;right:30px;z-index:10}#back-to-top a img{-moz-background-size:32px 32px;background-size:32px 32px;display:block;height:32px;overflow:hidden;text-indent:-999px;width:32px}.swh-top-bar{background-color:#262626;color:#fff;direction:ltr;font-size:14px;height:30px;left:0;position:fixed;text-align:center;top:0;width:100%;z-index:99999}.swh-top-bar ul{margin-top:4px;padding-left:0;white-space:nowrap}.swh-top-bar li{display:inline-block;margin-left:10px;margin-right:10px}.swh-top-bar a,.swh-top-bar a:visited{color:#fff}.swh-top-bar a.swh-current-site,.swh-top-bar a.swh-current-site:visited{color:#fecd1b}.swh-fundraising-banner-iframe{border:none;height:60px;left:0;position:fixed;top:30px;width:100%;z-index:99999}.swh-position-left{left:0;position:absolute}.swh-position-right{position:absolute;right:0}.swh-background-gray{background:#efeff2}.swh-donate-link{background-color:#e20026;border:1px solid #fecd1b;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;color:#fff!important;padding:3px}.swh-navbar-content h4{padding-top:7px}.swh-navbar-content .bread-crumbs{display:block;margin-left:-40px}.swh-navbar-content .bread-crumbs li.bc-no-root{padding-top:7px}.main-sidebar{margin-top:30px}.sidebar{height:-webkit-calc(100% - 7rem);height:-moz-calc(100% - 7rem);height:calc(100% - 7rem)}.content-wrapper{background:none}.brand-image{max-height:40px}.brand-link{border-bottom:5px solid #e20026!important;padding-bottom:18px;padding-left:4px;padding-top:18.5px}.navbar-header a,ul.dropdown-menu a,ul.nav-sidebar a,ul.navbar-nav a{border-bottom-style:none;color:#323232}.swh-sidebar .nav-link.active{background-color:#e7e7e7!important;color:#323232!important}.nav-tabs .nav-link.active{border-top:3px solid #e20026}.swh-image-error{height:auto;width:80px}@media (max-width:600px){.card{min-width:80%}.swh-image-error{height:auto;width:40px}.swh-donate-link{display:none}}.form-check-label{padding-top:4px}.swhid{white-space:pre-wrap}.swhid .swhid-option{display:inline-block;line-height:1rem;margin-right:5px}.nav-pills .nav-link:not(.active):hover{color:rgb(0 0 0/55%)}.swh-heading-color{color:#e20026!important}.sidebar-mini.sidebar-collapse .main-sidebar:hover{width:4.6rem}.sidebar-mini.sidebar-collapse .main-sidebar:hover .brand-text,.sidebar-mini.sidebar-collapse .main-sidebar:hover .nav-sidebar .nav-link p,.sidebar-mini.sidebar-collapse .main-sidebar:hover .user-panel>.info{visibility:hidden!important}.main-sidebar .brand-text,.sidebar .nav-link p,.sidebar .user-panel .info{-webkit-transition:none;-o-transition:none;-moz-transition:none;transition:none}.sidebar-mini.sidebar-mini.sidebar-collapse .sidebar{padding-right:0}.swh-words-logo{color:rgb(0 0 0/75%);font-size:10pt;height:73px;left:0;position:absolute;text-align:center;top:0;width:73px}.swh-words-logo:hover{text-decoration:none}.swh-words-logo-swh{line-height:1;padding-top:13px;visibility:hidden}hr.swh-faded-line{background-image:-webkit-gradient(linear,right top,left top,from(#f0f0f0),color-stop(#8c8b8b),to(#f0f0f0));background-image:-webkit-linear-gradient(right,#f0f0f0,#8c8b8b,#f0f0f0);background-image:-moz-linear-gradient(right,#f0f0f0,#8c8b8b,#f0f0f0);background-image:-o-linear-gradient(right,#f0f0f0,#8c8b8b,#f0f0f0);background-image:linear-gradient(270deg,#f0f0f0,#8c8b8b,#f0f0f0);border:0;height:1px}.swh-readme h1 a,.swh-readme h2 a,.swh-readme h3 a,.swh-readme h4 a,.swh-readme h5 a,.swh-readme h6 a{color:#e20026}.swh-rst li p{margin-bottom:0}.swh-readme-txt pre{background:none;border:none}tr.swh-tr-hover-highlight:hover td{background:#ededed}tr.swh-api-doc-route a{text-decoration:none}.swh-apidoc .col{margin:10px}.swh-apidoc .swh-rst blockquote{border:0;margin:0;padding:0}a.toggle-col{text-decoration:none}a.toggle-col.col-hidden{text-decoration:line-through}.admonition.warning{background:#fcf8e3;border:1px solid #faebcc;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;padding:15px}.admonition.warning p{margin-bottom:0}.admonition.warning .first{font-size:1.5rem}.swh-popover{max-height:50vh;overflow-x:auto;overflow-y:auto;padding:0}@media screen and (min-width:768px){.swh-popover{max-width:50vw}}.swh-popover pre{margin-bottom:0;white-space:pre-wrap}.d3-wrapper{height:0;padding:0 0 100%;position:relative;width:100%}.d3-wrapper>svg{height:100%;left:0;position:absolute;top:0;width:100%}div.d3-tooltip{background:#fff;border:1px solid #000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;font:12px sans-serif;height:auto;padding:2px;pointer-events:none;position:absolute;text-align:center;width:auto}.page-link{cursor:pointer}.wrapper{overflow:hidden}.swh-badge{cursor:pointer;padding-bottom:1rem}.swh-badge-html,.swh-badge-md,.swh-badge-rst,.swh-iframe-html{white-space:pre-wrap!important}.mdi{display:inline-block}.mdi-camera{-webkit-transform:translateY(1px);-moz-transform:translateY(1px);-o-transform:translateY(1px);transform:translateY(1px)}.mdi-source-commit{-webkit-transform:translateY(2px);-moz-transform:translateY(2px);-o-transform:translateY(2px);transform:translateY(2px)}.mdi-fw{text-align:center;width:1.25em}.main-header .nav-link{height:inherit}.nav-sidebar .nav-header:not(:first-of-type){padding-top:1rem}.nav-sidebar .nav-link{padding-bottom:0;padding-top:0}.nav-sidebar>.nav-item .nav-icon{vertical-align:sub}.swh-search-icon{line-height:1rem;vertical-align:middle}.swh-search-navbar{position:absolute;right:15rem;top:.7rem;width:500px;z-index:50000}.sidebar-collapse .swh-search-navbar{right:4rem}.swh-corner-ribbon{background:#fecd1b;-webkit-box-shadow:0 0 3px rgb(0 0 0/30%);-moz-box-shadow:0 0 3px rgb(0 0 0/30%);box-shadow:0 0 3px rgb(0 0 0/30%);color:#e20026;left:auto;letter-spacing:1px;position:absolute;right:-50px;text-align:center;top:55px;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg);width:200px;z-index:2000}@media screen and (max-width:600px){.swh-corner-ribbon{right:-65px;top:53px}}.invalid-feedback{font-size:100%}.swh-required-label:after{color:red;content:"*"}.bread-crumbs{color:rgb(0 0 0/55%);display:inline-block;overflow:hidden}.bread-crumbs ul{height:100%;list-style-type:none}.bread-crumbs li{float:left;list-style-type:none}.bread-crumbs a{border-bottom-style:none;color:rgb(0 0 0/75%)}.bread-crumbs a:hover{color:rgb(0 0 0/85%);text-decoration:underline}.swh-coverage{border:none;overflow:visible;padding-top:.3rem}.swh-coverage a{text-decoration:none}.swh-coverage-col{padding-left:10px;padding-right:10px}.swh-coverage-header{padding-bottom:0;padding-top:0}.swh-coverage-logo{display:block;font-family:"object-fit: contain;";height:50px;margin-left:auto;margin-right:auto;-o-object-fit:contain;object-fit:contain;width:100%}.swh-coverage-list{border:none;height:320px;width:100%}.swh-coverage-chevron{position:absolute;right:0}.swh-coverage .card-header .mdi{-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;-o-transition:-o-transform .3s ease-in-out;-moz-transition:transform .3s ease-in-out,-moz-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out,-moz-transform .3s ease-in-out,-o-transform .3s ease-in-out}.swh-coverage .card-header .collapsed .mdi{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.swh-coverage-info-body{scrollbar-width:thin;max-height:150px;overflow-x:hidden;overflow-y:auto;padding:0}.swh-coverage-info-body::-webkit-scrollbar{width:4px}.swh-coverage-info-body::-webkit-scrollbar-track{background:#eff0f1}.swh-coverage-info-body::-webkit-scrollbar-thumb{background:#909396}.nb-notebook{line-height:1.5;overflow-y:hidden;padding-left:6em}.nb-worksheet{width:99%}.nb-stderr,.nb-stdout{margin:1em 0;padding:.1em .5em;white-space:pre-wrap}.nb-stderr{background-color:#faa}.nb-cell+.nb-cell{margin-top:.5em}.nb-output table{border:1px solid #000;border-collapse:collapse}.nb-output th{font-weight:700}.nb-output td,.nb-output th{border:1px solid #000;border-collapse:collapse;padding:.25em;text-align:left;vertical-align:middle}.nb-cell{position:relative}.nb-raw-cell{background-color:#f5f2f0;font-family:Consolas,Monaco,Andale Mono,monospace;margin:0 .5em;padding:1em;white-space:pre-wrap}.nb-input{background:#f7f7f7;border:1px solid #cfcfcf;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;margin:.4em;padding:0}.nb-notebook pre{background-color:transparent;border:none;margin:.4em!important;min-height:1rem;padding:0}.nb-output{margin-left:.5em;margin-right:.5em;min-height:1em;overflow-x:auto}.nb-output img{max-width:100%}.nb-input:before,.nb-output:before{color:#999;font-family:monospace;font-size:14px;left:-7.5em;position:absolute;text-align:right;width:7em}.nb-input:before{color:#303f9f;content:"In [" attr(data-prompt-number) "]:"}.nb-output:before{color:#d84315;content:"Out [" attr(data-prompt-number) "]:"}.nb-latex-output .MathJax_Display{text-align:left!important}.nb-heading-cell,.nb-markdown-cell{margin-left:1em;margin-right:1em}.nb-code-cell{margin:.4em}.nb-output pre{margin-top:.2em!important}@media screen and (max-width:600px){.nb-notebook{padding-left:0}.nb-input{margin-top:2em!important}.nb-input:before,.nb-output:before{text-align:left}.nb-input:before{left:.5em;top:-2em}.nb-output:before{left:0;position:relative;top:0}}.swh-history-counter-line{fill:none;stroke:#ffab00;stroke-width:3}.swh-history-counter-overlay{fill:none;pointer-events:all}.swh-history-counter-focus circle{fill:none;stroke:#ffab00;stroke-width:3}.swh-history-counter-focus text{font-size:14px}.swh-history-counter-tooltip{fill:#fff;stroke:#000}.swh-current-status-indicator{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;display:inline-block;height:12px;margin:0 0 0 5px;width:12px}.swh-current-status-indicator.small{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;display:inline-block;height:8px;margin:0 0 0 5px;width:8px}.swh-current-status-indicator.green{background:#27ae60}.swh-current-status-indicator.yellow{background:#ffa837}.swh-current-status-indicator.red{background:#c44031}.swh-current-status-indicator.blue{background:#00aaf0} -/*# sourceMappingURL=webapp.ac2aaf02609c198af58a.css.map */ \ No newline at end of file +html{height:100%;overflow-x:hidden;scroll-behavior:auto!important}body{margin:0;min-height:100%;padding-bottom:120px;position:relative}*{-webkit-font-variant-ligatures:no-common-ligatures;-moz-font-variant-ligatures:no-common-ligatures;font-variant-ligatures:no-common-ligatures}a.active,a:active{outline:none}code{background-color:#f9f2f4}pre code{background-color:transparent}footer{background-color:#262626;bottom:0;color:#fff;font-size:.8rem;padding-bottom:10px;padding-top:10px;position:absolute;width:100%}footer a,footer a:hover,footer a:visited{color:#fecd1b}footer a:hover{text-decoration:underline}.link-color{color:#fecd1b}pre{background-color:#f5f5f5;border:1px solid #ccc;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;font-size:.8rem;padding:9.5px}.btn.active{background-color:#e7e7e7}.card{margin-bottom:5px!important;overflow-x:auto}.navbar-brand{margin-right:0;padding:5px}.table{margin-bottom:0}.swh-table thead{background-color:#f2f4f5;border-top:1px solid rgb(0 0 0/20%);font-weight:400}.swh-table-striped th{border-top:none}.swh-table-striped tbody tr:nth-child(2n){background-color:#f2f4f5}.swh-table-striped tbody tr:nth-child(odd){background-color:#fff}.swh-web-app-link a{border:none;text-decoration:none}.swh-web-app-link:hover{background-color:#efeff2}.table>thead>tr>th{border-bottom:1px solid #e20026;border-top:none}.table>tbody>tr>td{border-style:none}.sitename .first-word,.sitename .second-word{color:rgb(0 0 0/75%);font-size:1.2rem;font-weight:400}.sitename .first-word{font-family:Alegreya Sans,sans-serif}.sitename .second-word{font-family:Alegreya,serif}.swh-counter{font-size:150%}@media (max-width:600px){.swh-counter-container{margin-top:1rem}}.swh-http-error{margin:0 auto;text-align:center}.swh-http-error-head{color:#2d353c;font-size:30px}.swh-http-error-code{bottom:60%;color:#2d353c;font-size:96px;line-height:80px;margin-bottom:10px!important}.swh-http-error-desc{color:#647788;font-size:12px;text-align:center}.swh-http-error-desc pre{display:inline-block;max-width:800px;text-align:left;white-space:pre-wrap}.swh-list-unstyled{list-style:none}.popover{max-width:97%;z-index:40000}.modal{padding:0!important;text-align:center;z-index:50000}.modal:before{content:"";height:100%;margin-right:-4px}.modal-dialog,.modal:before{display:inline-block;vertical-align:middle}.modal-dialog{text-align:left}.dropdown-submenu{position:relative}.dropdown-submenu .dropdown-menu{left:-100%;margin-left:-2px;margin-top:-5px;top:0}.dropdown-item:focus,.dropdown-item:hover{background-color:rgb(0 0 0/10%)}a.dropdown-left:before{content:"\f035e";display:block;float:left;font-family:Material Design Icons;height:20px;margin-left:0;width:20px}#swh-navbar{-webkit-box-pack:normal;-moz-box-pack:normal;border-bottom-width:5px;-webkit-border-image:-webkit-gradient(linear,left top,right top,from(rgb(226 0 38)),to(rgb(254 205 27))) 1 1 1 1;-webkit-border-image:-webkit-linear-gradient(left,rgb(226 0 38),rgb(254 205 27)) 1 1 1 1;-moz-border-image:-moz-linear-gradient(left,rgb(226 0 38) 0,rgb(254 205 27) 100%) 1 1 1 1;-o-border-image:-o-linear-gradient(left,rgb(226 0 38) 0,rgb(254 205 27) 100%) 1 1 1 1;border-image:-webkit-gradient(linear,left top,right top,from(rgb(226 0 38)),to(rgb(254 205 27))) 1 1 1 1;border-image:linear-gradient(90deg,rgb(226 0 38) 0,rgb(254 205 27)) 1 1 1 1;border-style:none none solid;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;height:72px;-webkit-justify-content:normal;justify-content:normal;margin-bottom:10px;margin-top:30px;overflow:hidden;padding:5px;width:100%}#back-to-top{bottom:30px;display:none;position:fixed;right:30px;z-index:10}#back-to-top a img{-moz-background-size:32px 32px;background-size:32px 32px;display:block;height:32px;overflow:hidden;text-indent:-999px;width:32px}.swh-top-bar{background-color:#262626;color:#fff;direction:ltr;font-size:14px;height:30px;left:0;position:fixed;text-align:center;top:0;width:100%;z-index:99999}.swh-top-bar ul{margin-top:4px;padding-left:0;white-space:nowrap}.swh-top-bar li{display:inline-block;margin-left:10px;margin-right:10px}.swh-top-bar a,.swh-top-bar a:visited{color:#fff}.swh-top-bar a.swh-current-site,.swh-top-bar a.swh-current-site:visited{color:#fecd1b}.swh-fundraising-banner-iframe{border:none;height:60px;left:0;position:fixed;top:30px;width:100%;z-index:99999}.swh-position-left{left:0;position:absolute}.swh-position-right{position:absolute;right:0}.swh-background-gray{background:#efeff2}.swh-donate-link{background-color:#e20026;border:1px solid #fecd1b;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;color:#fff!important;padding:3px}.swh-navbar-content h4{padding-top:7px}.swh-navbar-content .bread-crumbs{display:block;margin-left:-40px}.swh-navbar-content .bread-crumbs li.bc-no-root{padding-top:7px}.main-sidebar{margin-top:30px}.sidebar{height:-webkit-calc(100% - 7rem);height:-moz-calc(100% - 7rem);height:calc(100% - 7rem)}.content-wrapper{background:none}.brand-image{max-height:40px}.brand-link{border-bottom:5px solid #e20026!important;padding-bottom:18px;padding-left:4px;padding-top:18.5px}.navbar-header a,ul.dropdown-menu a,ul.nav-sidebar a,ul.navbar-nav a{border-bottom-style:none;color:#323232}.swh-sidebar .nav-link.active{background-color:#e7e7e7!important;color:#323232!important}.nav-tabs .nav-link.active{border-top:3px solid #e20026}.swh-image-error{height:auto;width:80px}@media (max-width:600px){.card{min-width:80%}.swh-image-error{height:auto;width:40px}.swh-donate-link{display:none}}.form-check-label{padding-top:4px}.swhid{white-space:pre-wrap}.swhid .swhid-option{display:inline-block;line-height:1rem;margin-right:5px}.nav-pills .nav-link:not(.active):hover{color:rgb(0 0 0/55%)}.swh-heading-color{color:#e20026!important}.sidebar-mini.sidebar-collapse .main-sidebar:hover{width:4.6rem}.sidebar-mini.sidebar-collapse .main-sidebar:hover .brand-text,.sidebar-mini.sidebar-collapse .main-sidebar:hover .nav-sidebar .nav-link p,.sidebar-mini.sidebar-collapse .main-sidebar:hover .user-panel>.info{visibility:hidden!important}.main-sidebar .brand-text,.sidebar .nav-link p,.sidebar .user-panel .info{-webkit-transition:none;-o-transition:none;-moz-transition:none;transition:none}.sidebar-mini.sidebar-mini.sidebar-collapse .sidebar{padding-right:0}.swh-words-logo{color:rgb(0 0 0/75%);font-size:10pt;height:73px;left:0;position:absolute;text-align:center;top:0;width:73px}.swh-words-logo:hover{text-decoration:none}.swh-words-logo-swh{line-height:1;padding-top:13px;visibility:hidden}hr.swh-faded-line{background-image:-webkit-gradient(linear,right top,left top,from(#f0f0f0),color-stop(#8c8b8b),to(#f0f0f0));background-image:-webkit-linear-gradient(right,#f0f0f0,#8c8b8b,#f0f0f0);background-image:-moz-linear-gradient(right,#f0f0f0,#8c8b8b,#f0f0f0);background-image:-o-linear-gradient(right,#f0f0f0,#8c8b8b,#f0f0f0);background-image:linear-gradient(270deg,#f0f0f0,#8c8b8b,#f0f0f0);border:0;height:1px}.swh-readme h1 a,.swh-readme h2 a,.swh-readme h3 a,.swh-readme h4 a,.swh-readme h5 a,.swh-readme h6 a{color:#e20026}.swh-rst li p{margin-bottom:0}.swh-readme-txt pre{background:none;border:none}tr.swh-tr-hover-highlight:hover td{background:#ededed}tr.swh-api-doc-route a{text-decoration:none}.swh-apidoc .col{margin:10px}.swh-apidoc .swh-rst blockquote{border:0;margin:0;padding:0}a.toggle-col{text-decoration:none}a.toggle-col.col-hidden{text-decoration:line-through}.admonition.warning{background:#fcf8e3;border:1px solid #faebcc;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;padding:15px}.admonition.warning p{margin-bottom:0}.admonition.warning .first{font-size:1.5rem}.swh-popover{max-height:50vh;overflow-x:auto;overflow-y:auto;padding:0}@media screen and (min-width:768px){.swh-popover{max-width:50vw}}.swh-popover pre{margin-bottom:0;white-space:pre-wrap}.d3-wrapper{height:0;padding:0 0 100%;position:relative;width:100%}.d3-wrapper>svg{height:100%;left:0;position:absolute;top:0;width:100%}div.d3-tooltip{background:#fff;border:1px solid #000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;font:12px sans-serif;height:auto;padding:2px;pointer-events:none;position:absolute;text-align:center;width:auto}.page-link{cursor:pointer}.wrapper{overflow:hidden}.swh-badge{cursor:pointer;padding-bottom:1rem}.swh-badge-html,.swh-badge-md,.swh-badge-rst,.swh-iframe-html{white-space:pre-wrap!important}.mdi{display:inline-block}.mdi-camera{-webkit-transform:translateY(1px);-moz-transform:translateY(1px);-o-transform:translateY(1px);transform:translateY(1px)}.mdi-source-commit{-webkit-transform:translateY(2px);-moz-transform:translateY(2px);-o-transform:translateY(2px);transform:translateY(2px)}.mdi-fw{text-align:center;width:1.25em}.main-header .nav-link{height:inherit}.nav-sidebar .nav-header:not(:first-of-type){padding-top:1rem}.nav-sidebar .nav-link{padding-bottom:0;padding-top:0}.nav-sidebar>.nav-item .nav-icon{vertical-align:sub}.swh-search-icon{line-height:1rem;vertical-align:middle}.swh-search-navbar{position:absolute;right:15rem;top:.7rem;width:500px;z-index:50000}.sidebar-collapse .swh-search-navbar{right:4rem}.swh-corner-ribbon{background:#fecd1b;-webkit-box-shadow:0 0 3px rgb(0 0 0/30%);-moz-box-shadow:0 0 3px rgb(0 0 0/30%);box-shadow:0 0 3px rgb(0 0 0/30%);color:#e20026;left:auto;letter-spacing:1px;position:absolute;right:-50px;text-align:center;top:55px;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg);width:200px;z-index:2000}@media screen and (max-width:600px){.swh-corner-ribbon{right:-65px;top:53px}}.invalid-feedback{font-size:100%}.swh-required-label:after{color:red;content:"*"}.bread-crumbs{color:rgb(0 0 0/55%);display:inline-block;overflow:hidden}.bread-crumbs ul{height:100%;list-style-type:none}.bread-crumbs li{float:left;list-style-type:none}.bread-crumbs a{border-bottom-style:none;color:rgb(0 0 0/75%)}.bread-crumbs a:hover{color:rgb(0 0 0/85%);text-decoration:underline}.swh-coverage{border:none;overflow:visible;padding-top:.3rem}.swh-coverage a{text-decoration:none}.swh-coverage-col{padding-left:10px;padding-right:10px}.swh-coverage-header{padding-bottom:0;padding-top:0}.swh-coverage-logo{display:block;font-family:"object-fit: contain;";height:50px;margin-left:auto;margin-right:auto;-o-object-fit:contain;object-fit:contain;width:100%}.swh-coverage-list{border:none;height:320px;width:100%}.swh-coverage-chevron{position:absolute;right:0}.swh-coverage .card-header .mdi{-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;-o-transition:-o-transform .3s ease-in-out;-moz-transition:transform .3s ease-in-out,-moz-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out,-moz-transform .3s ease-in-out,-o-transform .3s ease-in-out}.swh-coverage .card-header .collapsed .mdi{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.swh-coverage-info-body{scrollbar-width:thin;max-height:150px;overflow-x:hidden;overflow-y:auto;padding:0}.swh-coverage-focus{border:2px solid #e20026}.swh-coverage-info-body::-webkit-scrollbar{width:4px}.swh-coverage-info-body::-webkit-scrollbar-track{background:#eff0f1}.swh-coverage-info-body::-webkit-scrollbar-thumb{background:#909396}.nb-notebook{line-height:1.5;overflow-y:hidden;padding-left:6em}.nb-worksheet{width:99%}.nb-stderr,.nb-stdout{margin:1em 0;padding:.1em .5em;white-space:pre-wrap}.nb-stderr{background-color:#faa}.nb-cell+.nb-cell{margin-top:.5em}.nb-output table{border:1px solid #000;border-collapse:collapse}.nb-output th{font-weight:700}.nb-output td,.nb-output th{border:1px solid #000;border-collapse:collapse;padding:.25em;text-align:left;vertical-align:middle}.nb-cell{position:relative}.nb-raw-cell{background-color:#f5f2f0;font-family:Consolas,Monaco,Andale Mono,monospace;margin:0 .5em;padding:1em;white-space:pre-wrap}.nb-input{background:#f7f7f7;border:1px solid #cfcfcf;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;margin:.4em;padding:0}.nb-notebook pre{background-color:transparent;border:none;margin:.4em!important;min-height:1rem;padding:0}.nb-output{margin-left:.5em;margin-right:.5em;min-height:1em;overflow-x:auto}.nb-output img{max-width:100%}.nb-input:before,.nb-output:before{color:#999;font-family:monospace;font-size:14px;left:-7.5em;position:absolute;text-align:right;width:7em}.nb-input:before{color:#303f9f;content:"In [" attr(data-prompt-number) "]:"}.nb-output:before{color:#d84315;content:"Out [" attr(data-prompt-number) "]:"}.nb-latex-output .MathJax_Display{text-align:left!important}.nb-heading-cell,.nb-markdown-cell{margin-left:1em;margin-right:1em}.nb-code-cell{margin:.4em}.nb-output pre{margin-top:.2em!important}@media screen and (max-width:600px){.nb-notebook{padding-left:0}.nb-input{margin-top:2em!important}.nb-input:before,.nb-output:before{text-align:left}.nb-input:before{left:.5em;top:-2em}.nb-output:before{left:0;position:relative;top:0}}.swh-history-counter-line{fill:none;stroke:#ffab00;stroke-width:3}.swh-history-counter-overlay{fill:none;pointer-events:all}.swh-history-counter-focus circle{fill:none;stroke:#ffab00;stroke-width:3}.swh-history-counter-focus text{font-size:14px}.swh-history-counter-tooltip{fill:#fff;stroke:#000}.swh-current-status-indicator{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;display:inline-block;height:12px;margin:0 0 0 5px;width:12px}.swh-current-status-indicator.small{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;display:inline-block;height:8px;margin:0 0 0 5px;width:8px}.swh-current-status-indicator.green{background:#27ae60}.swh-current-status-indicator.yellow{background:#ffa837}.swh-current-status-indicator.red{background:#c44031}.swh-current-status-indicator.blue{background:#00aaf0} +/*# sourceMappingURL=webapp.06378649ab57a826c4e9.css.map */ \ No newline at end of file diff --git a/static/css/webapp.06378649ab57a826c4e9.css.map b/static/css/webapp.06378649ab57a826c4e9.css.map new file mode 100644 index 00000000..305eb07e --- /dev/null +++ b/static/css/webapp.06378649ab57a826c4e9.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://./assets/src/bundles/webapp/webapp.css","webpack://./assets/src/bundles/webapp/breadcrumbs.css","webpack://./assets/src/bundles/webapp/coverage.css","webpack://./assets/src/bundles/webapp/notebook.css","webpack://./assets/src/bundles/webapp/history-counters.css","webpack://./assets/src/bundles/webapp/status-widget.css"],"names":[],"mappings":"AAOA,KACI,WAAY,CACZ,iBAAkB,CAClB,8BACJ,CAEA,KAEI,QAAS,CADT,eAAgB,CAGhB,oBAAqB,CADrB,iBAEJ,CAKA,EACI,kDAA2C,CAA3C,+CAA2C,CAA3C,0CACJ,CAEA,kBAEI,YACJ,CAEA,KACI,wBACJ,CAEA,SACI,4BACJ,CAEA,OACI,wBAAyB,CAIzB,QAAS,CAHT,UAAW,CACX,eAAiB,CAKjB,mBAAoB,CADpB,gBAAiB,CAHjB,iBAAkB,CAElB,UAGJ,CAEA,yCAGI,aACJ,CAEA,eACI,yBACJ,CAEA,YACI,aACJ,CAEA,IACI,wBAAyB,CACzB,qBAAsB,CACtB,yBAAkB,CAAlB,sBAAkB,CAAlB,iBAAkB,CAElB,eAAiB,CADjB,aAEJ,CAEA,YACI,wBACJ,CAEA,MACI,2BAA6B,CAC7B,eACJ,CAEA,cAEI,cAAe,CADf,WAEJ,CAEA,OACI,eACJ,CAEA,iBACI,wBAAyB,CACzB,mCAAsC,CACtC,eACJ,CAEA,sBACI,eACJ,CAEA,0CACI,wBACJ,CAEA,2CACI,qBACJ,CAEA,oBAEI,WAAY,CADZ,oBAEJ,CAEA,wBACI,wBACJ,CAEA,mBAEI,+BAAgC,CADhC,eAEJ,CAEA,mBACI,iBACJ,CAEA,6CAEI,oBAAuB,CAEvB,gBAAiB,CADjB,eAEJ,CAEA,sBACI,oCACJ,CAEA,uBACI,0BACJ,CAEA,aACI,cACJ,CAEA,yBACI,uBACI,eACJ,CACJ,CAEA,gBACI,aAAc,CACd,iBACJ,CAEA,qBACI,aAAc,CACd,cACJ,CAEA,qBACI,UAAW,CACX,aAAc,CACd,cAAe,CACf,gBAAiB,CACjB,4BACJ,CAEA,qBAEI,aAAc,CADd,cAAe,CAEf,iBACJ,CAEA,yBACI,oBAAqB,CAErB,eAAgB,CADhB,eAAgB,CAEhB,oBACJ,CAEA,mBACI,eACJ,CAEA,SACI,aAAc,CACd,aACJ,CAEA,OAEI,mBAAqB,CADrB,iBAAkB,CAElB,aACJ,CAEA,cACI,UAAW,CAEX,WAAY,CAEZ,iBACJ,CAEA,4BANI,oBAAqB,CAErB,qBAQJ,CAJA,cAEI,eAEJ,CAEA,kBACI,iBACJ,CAEA,iCAEI,UAAW,CAEX,gBAAiB,CADjB,eAAgB,CAFhB,KAIJ,CAEA,0CAEI,+BACJ,CAEA,uBACI,gBAAiB,CAEjB,aAAc,CAGd,UAAW,CAJX,iCAAoC,CAGpC,WAAY,CAEZ,aAAc,CAHd,UAIJ,CAEA,YAiBI,uBAAuB,CAAvB,oBAAuB,CAZvB,uBAAwB,CACxB,gHAMW,CANX,wFAMW,CANX,yFAMW,CANX,qFAMW,CANX,wGAMW,CANX,2EAMW,CARX,4BAAwB,CAcxB,wBAAiB,CAAjB,gBAAiB,CACjB,WAAY,CAFZ,8BAAuB,CAAvB,sBAAuB,CAFvB,kBAAmB,CACnB,eAAgB,CAIhB,eAAgB,CANhB,WAAY,CADZ,UAQJ,CAEA,aAGI,WAAY,CAFZ,YAAa,CACb,cAAe,CAEf,UAAW,CACX,UACJ,CAEA,mBAII,8BAA0B,CAA1B,yBAA0B,CAH1B,aAAc,CAEd,WAAY,CAGZ,eAAgB,CADhB,kBAAmB,CAHnB,UAKJ,CAEA,aAQI,wBAAyB,CACzB,UAAW,CARX,aAAc,CAUd,cAAe,CATf,WAAY,CAGZ,MAAO,CAFP,cAAe,CAOf,iBAAkB,CANlB,KAAM,CAEN,UAAW,CACX,aAKJ,CAEA,gBACI,cAAe,CACf,cAAe,CACf,kBACJ,CAEA,gBACI,oBAAqB,CACrB,gBAAiB,CACjB,iBACJ,CAEA,sCAEI,UACJ,CAEA,wEAEI,aACJ,CAEA,+BAOI,WAAY,CANZ,WAAY,CAGZ,MAAO,CAFP,cAAe,CACf,QAAS,CAET,UAAW,CACX,aAEJ,CAEA,mBAEI,MAAO,CADP,iBAEJ,CAEA,oBACI,iBAAkB,CAClB,OACJ,CAEA,qBACI,kBACJ,CAEA,iBAEI,wBAAyB,CADzB,wBAAyB,CAIzB,yBAAkB,CAAlB,sBAAkB,CAAlB,iBAAkB,CAFlB,oBAAuB,CACvB,WAEJ,CAEA,uBACI,eACJ,CAEA,kCACI,aAAc,CACd,iBACJ,CAEA,gDACI,eACJ,CAEA,cACI,eACJ,CAEA,SACI,gCAAyB,CAAzB,6BAAyB,CAAzB,wBACJ,CAEA,iBACI,eACJ,CAEA,aACI,eACJ,CAEA,YAII,yCAA2C,CAF3C,mBAAoB,CACpB,gBAAiB,CAFjB,kBAIJ,CAEA,qEAII,wBAAyB,CACzB,aACJ,CAEA,8BAEI,kCAAoC,CADpC,uBAEJ,CAEA,2BACI,4BACJ,CAEA,iBAEI,WAAY,CADZ,UAEJ,CAEA,yBACI,MACI,aACJ,CAEA,iBAEI,WAAY,CADZ,UAEJ,CAEA,iBACI,YACJ,CACJ,CAEA,kBACI,eACJ,CAEA,OACI,oBACJ,CAEA,qBACI,oBAAqB,CAErB,gBAAiB,CADjB,gBAEJ,CAEA,wCACI,oBACJ,CAEA,mBACI,uBACJ,CAEA,mDACI,YACJ,CAEA,gNAGI,2BACJ,CAEA,0EAGI,uBAAgB,CAAhB,kBAAgB,CAAhB,oBAAgB,CAAhB,eACJ,CAEA,qDACI,eACJ,CAEA,gBAQI,oBAAuB,CADvB,cAAe,CAFf,WAAY,CAFZ,MAAO,CAFP,iBAAkB,CAKlB,iBAAkB,CAJlB,KAAM,CAEN,UAKJ,CAEA,sBACI,oBACJ,CAEA,oBACI,aAAc,CACd,gBAAiB,CACjB,iBACJ,CAEA,kBAGI,0GAAqE,CAArE,uEAAqE,CAArE,oEAAqE,CAArE,kEAAqE,CAArE,gEAAqE,CAFrE,QAAS,CACT,UAEJ,CAGA,sGAMI,aACJ,CAGA,cACI,eACJ,CAEA,oBACI,eAAgB,CAChB,WACJ,CA2EA,mCACI,kBACJ,CAEA,uBACI,oBACJ,CAEA,iBACI,WACJ,CAEA,gCACI,QAAS,CACT,QAAS,CACT,SACJ,CAEA,aACI,oBACJ,CAEA,wBACI,4BACJ,CAEA,oBACI,kBAAmB,CACnB,wBAAyB,CAEzB,yBAAkB,CAAlB,sBAAkB,CAAlB,iBAAkB,CADlB,YAEJ,CAEA,sBACI,eACJ,CAEA,2BACI,gBACJ,CAEA,aACI,eAAgB,CAEhB,eAAgB,CADhB,eAAgB,CAEhB,SACJ,CAEA,oCACI,aACI,cACJ,CACJ,CAEA,iBAEI,eAAgB,CADhB,oBAEJ,CAEA,YAEI,QAAS,CAKT,gBAAoB,CANpB,iBAAkB,CAElB,UAKJ,CAEA,gBAEI,WAAY,CAEZ,MAAO,CAHP,iBAAkB,CAIlB,KAAM,CAFN,UAGJ,CAEA,eAOI,eAAiB,CACjB,qBAAuB,CACvB,yBAAkB,CAAlB,sBAAkB,CAAlB,iBAAkB,CAHlB,oBAAqB,CAFrB,WAAY,CACZ,WAAY,CAKZ,mBAAoB,CATpB,iBAAkB,CAClB,iBAAkB,CAClB,UAQJ,CAEA,WACI,cACJ,CAEA,SACI,eACJ,CAEA,WAEI,cAAe,CADf,mBAEJ,CAEA,8DAII,8BACJ,CAIA,KACI,oBACJ,CAEA,YACI,iCAA0B,CAA1B,8BAA0B,CAA1B,4BAA0B,CAA1B,yBACJ,CAEA,mBACI,iCAA0B,CAA1B,8BAA0B,CAA1B,4BAA0B,CAA1B,yBACJ,CAIA,QACI,iBAAkB,CAClB,YACJ,CAEA,uBACI,cACJ,CAEA,6CACI,gBACJ,CAEA,uBAEI,gBAAiB,CADjB,aAEJ,CAEA,iCACI,kBACJ,CAEA,iBACI,gBAAiB,CACjB,qBACJ,CAEA,mBACI,iBAAkB,CAElB,WAAY,CADZ,SAAW,CAGX,WAAY,CADZ,aAEJ,CAEA,qCACI,UACJ,CAEA,mBAEI,kBAAmB,CAKnB,yCAAoC,CAApC,sCAAoC,CAApC,iCAAoC,CAJpC,aAAc,CAOd,SAAU,CAJV,kBAAmB,CAFnB,iBAAkB,CAKlB,WAAY,CAJZ,iBAAkB,CAGlB,QAAS,CAGT,+BAAwB,CAAxB,4BAAwB,CAAxB,0BAAwB,CAAxB,uBAAwB,CAVxB,WAAY,CAWZ,YACJ,CAEA,oCACI,mBAEI,WAAY,CADZ,QAEJ,CACJ,CAEA,kBACI,cACJ,CAEA,0BAEI,SAAW,CADX,WAEJ,CChwBA,cAGI,oBAAuB,CAFvB,oBAAqB,CACrB,eAEJ,CAEA,iBAEI,WAAY,CADZ,oBAEJ,CAEA,iBACI,UAAW,CACX,oBACJ,CAEA,gBAEI,wBAAyB,CADzB,oBAEJ,CAEA,sBACI,oBAAuB,CACvB,yBACJ,CCxBA,cAEI,WAAY,CACZ,gBAAiB,CAFjB,iBAGJ,CAEA,gBACI,oBACJ,CAEA,kBACI,iBAAkB,CAClB,kBACJ,CAEA,qBAEI,gBAAiB,CADjB,aAEJ,CAEA,mBACI,aAAc,CAQd,kCAAmC,CANnC,WAAY,CACZ,gBAAiB,CACjB,iBAAkB,CAClB,qBAAmB,CAAnB,kBAAmB,CAJnB,UAQJ,CAEA,mBAGI,WAAY,CADZ,YAAa,CADb,UAGJ,CAEA,sBACI,iBAAkB,CAClB,OACJ,CAEA,gCACI,oDAAsC,CAAtC,4CAAsC,CAAtC,0CAAsC,CAAtC,wEAAsC,CAAtC,oCAAsC,CAAtC,kIACJ,CAEA,2CACI,+BAAwB,CAAxB,4BAAwB,CAAxB,0BAAwB,CAAxB,uBACJ,CAEA,wBAII,oBAAqB,CAHrB,gBAAiB,CAEjB,iBAAkB,CADlB,eAAgB,CAGhB,SACJ,CAEA,oBACI,wBACJ,CAIA,2CACI,SACJ,CAEA,iDACI,kBACJ,CAEA,iDACI,kBACJ,CCzEA,aACI,eAAgB,CAEhB,iBAAkB,CADlB,gBAEJ,CAEA,cACI,SACJ,CAEA,sBAGI,YAAa,CACb,iBAAoB,CAFpB,oBAGJ,CAEA,WACI,qBACJ,CAEA,kBACI,eACJ,CAEA,iBACI,qBAAsB,CACtB,wBACJ,CAEA,cACI,eACJ,CAEA,4BAEI,qBAAsB,CAItB,wBAAyB,CAHzB,aAAe,CACf,eAAgB,CAChB,qBAEJ,CAEA,SACI,iBACJ,CAEA,aAEI,wBAAyB,CACzB,iDAAuD,CAEvD,aAAe,CADf,WAAY,CAHZ,oBAKJ,CAEA,UAGI,kBAAmB,CAFnB,wBAAyB,CACzB,yBAAkB,CAAlB,sBAAkB,CAAlB,iBAAkB,CAElB,WAAa,CACb,SACJ,CAEA,iBAII,4BAA6B,CAF7B,WAAY,CADZ,qBAAwB,CAIxB,eAAgB,CAFhB,SAGJ,CAEA,WAGI,gBAAkB,CAClB,iBAAmB,CAHnB,cAAe,CACf,eAGJ,CAEA,eACI,cACJ,CAEA,mCAII,UAAW,CADX,qBAAsB,CAKtB,cAAe,CAHf,WAAY,CAHZ,iBAAkB,CAKlB,gBAAiB,CADjB,SAGJ,CAEA,iBAEI,aAAc,CADd,4CAEJ,CAEA,kBAEI,aAAc,CADd,6CAEJ,CAEA,kCACI,yBACJ,CAEA,mCAEI,eAAgB,CAChB,gBACJ,CAEA,cACI,WACJ,CAEA,eACI,yBACJ,CAEA,oCACI,aACI,cACJ,CAEA,UACI,wBACJ,CAEA,mCAEI,eACJ,CAEA,iBACI,SAAW,CACX,QACJ,CAEA,kBAEI,MAAO,CADP,iBAAkB,CAElB,KACJ,CACJ,CCnJA,0BACI,SAAU,CACV,cAAe,CACf,cACJ,CAEA,6BACI,SAAU,CACV,kBACJ,CAEA,kCACI,SAAU,CACV,cAAe,CACf,cACJ,CAEA,gCACI,cACJ,CAEA,6BACI,SAAW,CACX,WACJ,CCxBA,8BAKI,yBAAkB,CAAlB,sBAAkB,CAAlB,iBAAkB,CADlB,oBAAqB,CAFrB,WAAY,CACZ,gBAAiB,CAFjB,UAKJ,CAEA,oCAKI,yBAAkB,CAAlB,sBAAkB,CAAlB,iBAAkB,CADlB,oBAAqB,CAFrB,UAAW,CACX,gBAAiB,CAFjB,SAKJ,CAEA,oCACI,kBACJ,CAEA,qCACI,kBACJ,CAEA,kCACI,kBACJ,CAEA,mCACI,kBACJ","file":"webapp.06378649ab57a826c4e9.css","sourcesContent":["/**\n * Copyright (C) 2018-2022 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\nhtml {\n height: 100%;\n overflow-x: hidden;\n scroll-behavior: auto !important;\n}\n\nbody {\n min-height: 100%;\n margin: 0;\n position: relative;\n padding-bottom: 120px;\n}\n\n/* The Alegreya font used in swh-web ships some ligatures producing\nconfusing text rendering, for instance the ligatures for `~` and some\ncharacters like e, y, u, ... so disable font common ligatures */\n* {\n font-variant-ligatures: no-common-ligatures;\n}\n\na:active,\na.active {\n outline: none;\n}\n\ncode {\n background-color: #f9f2f4;\n}\n\npre code {\n background-color: transparent;\n}\n\nfooter {\n background-color: #262626;\n color: #fff;\n font-size: 0.8rem;\n position: absolute;\n bottom: 0;\n width: 100%;\n padding-top: 10px;\n padding-bottom: 10px;\n}\n\nfooter a,\nfooter a:visited,\nfooter a:hover {\n color: #fecd1b;\n}\n\nfooter a:hover {\n text-decoration: underline;\n}\n\n.link-color {\n color: #fecd1b;\n}\n\npre {\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n padding: 9.5px;\n font-size: 0.8rem;\n}\n\n.btn.active {\n background-color: #e7e7e7;\n}\n\n.card {\n margin-bottom: 5px !important;\n overflow-x: auto;\n}\n\n.navbar-brand {\n padding: 5px;\n margin-right: 0;\n}\n\n.table {\n margin-bottom: 0;\n}\n\n.swh-table thead {\n background-color: #f2f4f5;\n border-top: 1px solid rgb(0 0 0 / 20%);\n font-weight: normal;\n}\n\n.swh-table-striped th {\n border-top: none;\n}\n\n.swh-table-striped tbody tr:nth-child(even) {\n background-color: #f2f4f5;\n}\n\n.swh-table-striped tbody tr:nth-child(odd) {\n background-color: #fff;\n}\n\n.swh-web-app-link a {\n text-decoration: none;\n border: none;\n}\n\n.swh-web-app-link:hover {\n background-color: #efeff2;\n}\n\n.table > thead > tr > th {\n border-top: none;\n border-bottom: 1px solid #e20026;\n}\n\n.table > tbody > tr > td {\n border-style: none;\n}\n\n.sitename .first-word,\n.sitename .second-word {\n color: rgb(0 0 0 / 75%);\n font-weight: normal;\n font-size: 1.2rem;\n}\n\n.sitename .first-word {\n font-family: \"Alegreya Sans\", sans-serif;\n}\n\n.sitename .second-word {\n font-family: Alegreya, serif;\n}\n\n.swh-counter {\n font-size: 150%;\n}\n\n@media (max-width: 600px) {\n .swh-counter-container {\n margin-top: 1rem;\n }\n}\n\n.swh-http-error {\n margin: 0 auto;\n text-align: center;\n}\n\n.swh-http-error-head {\n color: #2d353c;\n font-size: 30px;\n}\n\n.swh-http-error-code {\n bottom: 60%;\n color: #2d353c;\n font-size: 96px;\n line-height: 80px;\n margin-bottom: 10px !important;\n}\n\n.swh-http-error-desc {\n font-size: 12px;\n color: #647788;\n text-align: center;\n}\n\n.swh-http-error-desc pre {\n display: inline-block;\n text-align: left;\n max-width: 800px;\n white-space: pre-wrap;\n}\n\n.swh-list-unstyled {\n list-style: none;\n}\n\n.popover {\n max-width: 97%;\n z-index: 40000;\n}\n\n.modal {\n text-align: center;\n padding: 0 !important;\n z-index: 50000;\n}\n\n.modal::before {\n content: \"\";\n display: inline-block;\n height: 100%;\n vertical-align: middle;\n margin-right: -4px;\n}\n\n.modal-dialog {\n display: inline-block;\n text-align: left;\n vertical-align: middle;\n}\n\n.dropdown-submenu {\n position: relative;\n}\n\n.dropdown-submenu .dropdown-menu {\n top: 0;\n left: -100%;\n margin-top: -5px;\n margin-left: -2px;\n}\n\n.dropdown-item:hover,\n.dropdown-item:focus {\n background-color: rgb(0 0 0 / 10%);\n}\n\na.dropdown-left::before {\n content: \"\\f035e\";\n font-family: \"Material Design Icons\";\n display: block;\n width: 20px;\n height: 20px;\n float: left;\n margin-left: 0;\n}\n\n#swh-navbar {\n border-style: solid;\n border-top-style: none;\n border-left-style: none;\n border-right-style: none;\n border-bottom-width: 5px;\n border-image:\n linear-gradient(\n to right,\n rgb(226 0 38) 0%,\n rgb(254 205 27) 100%\n )\n 1 1 1 1;\n width: 100%;\n padding: 5px;\n margin-bottom: 10px;\n margin-top: 30px;\n justify-content: normal;\n flex-wrap: nowrap;\n height: 72px;\n overflow: hidden;\n}\n\n#back-to-top {\n display: none;\n position: fixed;\n bottom: 30px;\n right: 30px;\n z-index: 10;\n}\n\n#back-to-top a img {\n display: block;\n width: 32px;\n height: 32px;\n background-size: 32px 32px;\n text-indent: -999px;\n overflow: hidden;\n}\n\n.swh-top-bar {\n direction: ltr;\n height: 30px;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n z-index: 99999;\n background-color: #262626;\n color: #fff;\n text-align: center;\n font-size: 14px;\n}\n\n.swh-top-bar ul {\n margin-top: 4px;\n padding-left: 0;\n white-space: nowrap;\n}\n\n.swh-top-bar li {\n display: inline-block;\n margin-left: 10px;\n margin-right: 10px;\n}\n\n.swh-top-bar a,\n.swh-top-bar a:visited {\n color: white;\n}\n\n.swh-top-bar a.swh-current-site,\n.swh-top-bar a.swh-current-site:visited {\n color: #fecd1b;\n}\n\n.swh-fundraising-banner-iframe {\n height: 60px;\n position: fixed;\n top: 30px;\n left: 0;\n width: 100%;\n z-index: 99999;\n border: none;\n}\n\n.swh-position-left {\n position: absolute;\n left: 0;\n}\n\n.swh-position-right {\n position: absolute;\n right: 0;\n}\n\n.swh-background-gray {\n background: #efeff2;\n}\n\n.swh-donate-link {\n border: 1px solid #fecd1b;\n background-color: #e20026;\n color: white !important;\n padding: 3px;\n border-radius: 3px;\n}\n\n.swh-navbar-content h4 {\n padding-top: 7px;\n}\n\n.swh-navbar-content .bread-crumbs {\n display: block;\n margin-left: -40px;\n}\n\n.swh-navbar-content .bread-crumbs li.bc-no-root {\n padding-top: 7px;\n}\n\n.main-sidebar {\n margin-top: 30px;\n}\n\n.sidebar {\n height: calc(100% - 7rem);\n}\n\n.content-wrapper {\n background: none;\n}\n\n.brand-image {\n max-height: 40px;\n}\n\n.brand-link {\n padding-top: 18.5px;\n padding-bottom: 18px;\n padding-left: 4px;\n border-bottom: 5px solid #e20026 !important;\n}\n\n.navbar-header a,\nul.dropdown-menu a,\nul.navbar-nav a,\nul.nav-sidebar a {\n border-bottom-style: none;\n color: #323232;\n}\n\n.swh-sidebar .nav-link.active {\n color: #323232 !important;\n background-color: #e7e7e7 !important;\n}\n\n.nav-tabs .nav-link.active {\n border-top: 3px solid #e20026;\n}\n\n.swh-image-error {\n width: 80px;\n height: auto;\n}\n\n@media (max-width: 600px) {\n .card {\n min-width: 80%;\n }\n\n .swh-image-error {\n width: 40px;\n height: auto;\n }\n\n .swh-donate-link {\n display: none;\n }\n}\n\n.form-check-label {\n padding-top: 4px;\n}\n\n.swhid {\n white-space: pre-wrap;\n}\n\n.swhid .swhid-option {\n display: inline-block;\n margin-right: 5px;\n line-height: 1rem;\n}\n\n.nav-pills .nav-link:not(.active):hover {\n color: rgb(0 0 0 / 55%);\n}\n\n.swh-heading-color {\n color: #e20026 !important;\n}\n\n.sidebar-mini.sidebar-collapse .main-sidebar:hover {\n width: 4.6rem;\n}\n\n.sidebar-mini.sidebar-collapse .main-sidebar:hover .user-panel > .info,\n.sidebar-mini.sidebar-collapse .main-sidebar:hover .nav-sidebar .nav-link p,\n.sidebar-mini.sidebar-collapse .main-sidebar:hover .brand-text {\n visibility: hidden !important;\n}\n\n.sidebar .nav-link p,\n.main-sidebar .brand-text,\n.sidebar .user-panel .info {\n transition: none;\n}\n\n.sidebar-mini.sidebar-mini.sidebar-collapse .sidebar {\n padding-right: 0;\n}\n\n.swh-words-logo {\n position: absolute;\n top: 0;\n left: 0;\n width: 73px;\n height: 73px;\n text-align: center;\n font-size: 10pt;\n color: rgb(0 0 0 / 75%);\n}\n\n.swh-words-logo:hover {\n text-decoration: none;\n}\n\n.swh-words-logo-swh {\n line-height: 1;\n padding-top: 13px;\n visibility: hidden;\n}\n\nhr.swh-faded-line {\n border: 0;\n height: 1px;\n background-image: linear-gradient(to left, #f0f0f0, #8c8b8b, #f0f0f0);\n}\n\n/* Ensure that section title with link is colored like standard section title */\n.swh-readme h1 a,\n.swh-readme h2 a,\n.swh-readme h3 a,\n.swh-readme h4 a,\n.swh-readme h5 a,\n.swh-readme h6 a {\n color: #e20026;\n}\n\n/* Make list compact in reStructuredText rendering */\n.swh-rst li p {\n margin-bottom: 0;\n}\n\n.swh-readme-txt pre {\n background: none;\n border: none;\n}\n\n.swh-coverage {\n padding-top: 0.3rem;\n border: none;\n overflow: visible;\n}\n\n.swh-coverage a {\n text-decoration: none;\n}\n\n.swh-coverage-col {\n padding-left: 10px;\n padding-right: 10px;\n}\n\n.swh-coverage-header {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.swh-coverage-logo {\n display: block;\n width: 100%;\n height: 50px;\n margin-left: auto;\n margin-right: auto;\n object-fit: contain;\n\n /* polyfill for old browsers, see https://github.com/bfred-it/object-fit-images */\n font-family: \"object-fit: contain;\";\n}\n\n.swh-coverage-list {\n width: 100%;\n height: 320px;\n border: none;\n}\n\n.swh-coverage-chevron {\n position: absolute;\n right: 0;\n}\n\n.swh-coverage .card-header .mdi {\n transition: 0.3s transform ease-in-out;\n}\n\n.swh-coverage .card-header .collapsed .mdi {\n transform: rotate(90deg);\n}\n\n.swh-coverage-info-body {\n max-height: 150px;\n overflow-y: auto;\n overflow-x: hidden;\n scrollbar-width: thin; /* Firefox only */\n padding: 0;\n}\n\n/* Thin scrollbar for chromium based browsers */\n\n.swh-coverage-info-body::-webkit-scrollbar {\n width: 4px;\n}\n\n.swh-coverage-info-body::-webkit-scrollbar-track {\n background: #eff0f1;\n}\n\n.swh-coverage-info-body::-webkit-scrollbar-thumb {\n background: #909396;\n}\n\ntr.swh-tr-hover-highlight:hover td {\n background: #ededed;\n}\n\ntr.swh-api-doc-route a {\n text-decoration: none;\n}\n\n.swh-apidoc .col {\n margin: 10px;\n}\n\n.swh-apidoc .swh-rst blockquote {\n border: 0;\n margin: 0;\n padding: 0;\n}\n\na.toggle-col {\n text-decoration: none;\n}\n\na.toggle-col.col-hidden {\n text-decoration: line-through;\n}\n\n.admonition.warning {\n background: #fcf8e3;\n border: 1px solid #faebcc;\n padding: 15px;\n border-radius: 4px;\n}\n\n.admonition.warning p {\n margin-bottom: 0;\n}\n\n.admonition.warning .first {\n font-size: 1.5rem;\n}\n\n.swh-popover {\n max-height: 50vh;\n overflow-y: auto;\n overflow-x: auto;\n padding: 0;\n}\n\n@media screen and (min-width: 768px) {\n .swh-popover {\n max-width: 50vw;\n }\n}\n\n.swh-popover pre {\n white-space: pre-wrap;\n margin-bottom: 0;\n}\n\n.d3-wrapper {\n position: relative;\n height: 0;\n width: 100%;\n padding: 0;\n\n /* padding-bottom will be overwritten by JavaScript later */\n padding-bottom: 100%;\n}\n\n.d3-wrapper > svg {\n position: absolute;\n height: 100%;\n width: 100%;\n left: 0;\n top: 0;\n}\n\ndiv.d3-tooltip {\n position: absolute;\n text-align: center;\n width: auto;\n height: auto;\n padding: 2px;\n font: 12px sans-serif;\n background: white;\n border: 1px solid black;\n border-radius: 4px;\n pointer-events: none;\n}\n\n.page-link {\n cursor: pointer;\n}\n\n.wrapper {\n overflow: hidden;\n}\n\n.swh-badge {\n padding-bottom: 1rem;\n cursor: pointer;\n}\n\n.swh-badge-html,\n.swh-iframe-html,\n.swh-badge-md,\n.swh-badge-rst {\n white-space: pre-wrap !important;\n}\n\n/* Material Design icons alignment tweaks */\n\n.mdi {\n display: inline-block;\n}\n\n.mdi-camera {\n transform: translateY(1px);\n}\n\n.mdi-source-commit {\n transform: translateY(2px);\n}\n\n/* To set icons at a fixed width. Great to use when different\n icon widths throw off alignment. Courtesy of Font Awesome. */\n.mdi-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.main-header .nav-link {\n height: inherit;\n}\n\n.nav-sidebar .nav-header:not(:first-of-type) {\n padding-top: 1rem;\n}\n\n.nav-sidebar .nav-link {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.nav-sidebar > .nav-item .nav-icon {\n vertical-align: sub;\n}\n\n.swh-search-icon {\n line-height: 1rem;\n vertical-align: middle;\n}\n\n.swh-search-navbar {\n position: absolute;\n top: 0.7rem;\n right: 15rem;\n z-index: 50000;\n width: 500px;\n}\n\n.sidebar-collapse .swh-search-navbar {\n right: 4rem;\n}\n\n.swh-corner-ribbon {\n width: 200px;\n background: #fecd1b;\n color: #e20026;\n position: absolute;\n text-align: center;\n letter-spacing: 1px;\n box-shadow: 0 0 3px rgb(0 0 0 / 30%);\n top: 55px;\n right: -50px;\n left: auto;\n transform: rotate(45deg);\n z-index: 2000;\n}\n\n@media screen and (max-width: 600px) {\n .swh-corner-ribbon {\n top: 53px;\n right: -65px;\n }\n}\n\n.invalid-feedback {\n font-size: 100%;\n}\n\n.swh-required-label::after {\n content: \"*\";\n color: #f00;\n}\n","/**\n * Copyright (C) 2018-2021 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\n.bread-crumbs {\n display: inline-block;\n overflow: hidden;\n color: rgb(0 0 0 / 55%);\n}\n\n.bread-crumbs ul {\n list-style-type: none;\n height: 100%;\n}\n\n.bread-crumbs li {\n float: left;\n list-style-type: none;\n}\n\n.bread-crumbs a {\n color: rgb(0 0 0 / 75%);\n border-bottom-style: none;\n}\n\n.bread-crumbs a:hover {\n color: rgb(0 0 0 / 85%);\n text-decoration: underline;\n}\n","/**\n * Copyright (C) 2021-2022 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\n.swh-coverage {\n padding-top: 0.3rem;\n border: none;\n overflow: visible;\n}\n\n.swh-coverage a {\n text-decoration: none;\n}\n\n.swh-coverage-col {\n padding-left: 10px;\n padding-right: 10px;\n}\n\n.swh-coverage-header {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.swh-coverage-logo {\n display: block;\n width: 100%;\n height: 50px;\n margin-left: auto;\n margin-right: auto;\n object-fit: contain;\n\n /* polyfill for old browsers, see https://github.com/bfred-it/object-fit-images */\n font-family: \"object-fit: contain;\";\n}\n\n.swh-coverage-list {\n width: 100%;\n height: 320px;\n border: none;\n}\n\n.swh-coverage-chevron {\n position: absolute;\n right: 0;\n}\n\n.swh-coverage .card-header .mdi {\n transition: 0.3s transform ease-in-out;\n}\n\n.swh-coverage .card-header .collapsed .mdi {\n transform: rotate(90deg);\n}\n\n.swh-coverage-info-body {\n max-height: 150px;\n overflow-y: auto;\n overflow-x: hidden;\n scrollbar-width: thin; /* Firefox only */\n padding: 0;\n}\n\n.swh-coverage-focus {\n border: 2px solid #e20026;\n}\n\n/* Thin scrollbar for chromium based browsers */\n\n.swh-coverage-info-body::-webkit-scrollbar {\n width: 4px;\n}\n\n.swh-coverage-info-body::-webkit-scrollbar-track {\n background: #eff0f1;\n}\n\n.swh-coverage-info-body::-webkit-scrollbar-thumb {\n background: #909396;\n}\n","/**\n * Copyright (C) 2019-2021 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\n/* Adapted from https://github.com/jsvine/nbpreview/blob/master/css/vendor/notebook.css */\n\n.nb-notebook {\n line-height: 1.5;\n padding-left: 6em;\n overflow-y: hidden;\n}\n\n.nb-worksheet {\n width: 99%;\n}\n\n.nb-stdout,\n.nb-stderr {\n white-space: pre-wrap;\n margin: 1em 0;\n padding: 0.1em 0.5em;\n}\n\n.nb-stderr {\n background-color: #faa;\n}\n\n.nb-cell + .nb-cell {\n margin-top: 0.5em;\n}\n\n.nb-output table {\n border: 1px solid #000;\n border-collapse: collapse;\n}\n\n.nb-output th {\n font-weight: bold;\n}\n\n.nb-output th,\n.nb-output td {\n border: 1px solid #000;\n padding: 0.25em;\n text-align: left;\n vertical-align: middle;\n border-collapse: collapse;\n}\n\n.nb-cell {\n position: relative;\n}\n\n.nb-raw-cell {\n white-space: pre-wrap;\n background-color: #f5f2f0;\n font-family: Consolas, Monaco, \"Andale Mono\", monospace;\n padding: 1em;\n margin: 0 0.5em;\n}\n\n.nb-input {\n border: 1px solid #cfcfcf;\n border-radius: 2px;\n background: #f7f7f7;\n margin: 0.4em;\n padding: 0;\n}\n\n.nb-notebook pre {\n margin: 0.4em !important;\n border: none;\n padding: 0;\n background-color: transparent;\n min-height: 1rem;\n}\n\n.nb-output {\n min-height: 1em;\n overflow-x: auto;\n margin-left: 0.5em;\n margin-right: 0.5em;\n}\n\n.nb-output img {\n max-width: 100%;\n}\n\n.nb-output::before,\n.nb-input::before {\n position: absolute;\n font-family: monospace;\n color: #999;\n left: -7.5em;\n width: 7em;\n text-align: right;\n font-size: 14px;\n}\n\n.nb-input::before {\n content: \"In [\" attr(data-prompt-number) \"]:\";\n color: #303f9f;\n}\n\n.nb-output::before {\n content: \"Out [\" attr(data-prompt-number) \"]:\";\n color: #d84315;\n}\n\n.nb-latex-output .MathJax_Display {\n text-align: left !important;\n}\n\n.nb-markdown-cell,\n.nb-heading-cell {\n margin-left: 1em;\n margin-right: 1em;\n}\n\n.nb-code-cell {\n margin: 0.4em;\n}\n\n.nb-output pre {\n margin-top: 0.2em !important;\n}\n\n@media screen and (max-width: 600px) {\n .nb-notebook {\n padding-left: 0;\n }\n\n .nb-input {\n margin-top: 2em !important;\n }\n\n .nb-output::before,\n .nb-input::before {\n text-align: left;\n }\n\n .nb-input::before {\n left: 0.5em;\n top: -2em;\n }\n\n .nb-output::before {\n position: relative;\n left: 0;\n top: 0;\n }\n}\n","/**\n * Copyright (C) 2019 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\n.swh-history-counter-line {\n fill: none;\n stroke: #ffab00;\n stroke-width: 3;\n}\n\n.swh-history-counter-overlay {\n fill: none;\n pointer-events: all;\n}\n\n.swh-history-counter-focus circle {\n fill: none;\n stroke: #ffab00;\n stroke-width: 3;\n}\n\n.swh-history-counter-focus text {\n font-size: 14px;\n}\n\n.swh-history-counter-tooltip {\n fill: white;\n stroke: #000;\n}\n","/**\n * Copyright (C) 2020 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\n.swh-current-status-indicator {\n width: 12px;\n height: 12px;\n margin: 0 0 0 5px;\n display: inline-block;\n border-radius: 6px;\n}\n\n.swh-current-status-indicator.small {\n width: 8px;\n height: 8px;\n margin: 0 0 0 5px;\n display: inline-block;\n border-radius: 4px;\n}\n\n.swh-current-status-indicator.green {\n background: #27ae60;\n}\n\n.swh-current-status-indicator.yellow {\n background: #ffa837;\n}\n\n.swh-current-status-indicator.red {\n background: #c44031;\n}\n\n.swh-current-status-indicator.blue {\n background: #00aaf0;\n}\n"]} \ No newline at end of file diff --git a/static/css/webapp.ac2aaf02609c198af58a.css.map b/static/css/webapp.ac2aaf02609c198af58a.css.map deleted file mode 100644 index 5da90d4a..00000000 --- a/static/css/webapp.ac2aaf02609c198af58a.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack://./assets/src/bundles/webapp/webapp.css","webpack://./assets/src/bundles/webapp/breadcrumbs.css","webpack://./assets/src/bundles/webapp/coverage.css","webpack://./assets/src/bundles/webapp/notebook.css","webpack://./assets/src/bundles/webapp/history-counters.css","webpack://./assets/src/bundles/webapp/status-widget.css"],"names":[],"mappings":"AAOA,KACI,WAAY,CACZ,iBAAkB,CAClB,8BACJ,CAEA,KAEI,QAAS,CADT,eAAgB,CAGhB,oBAAqB,CADrB,iBAEJ,CAKA,EACI,kDAA2C,CAA3C,+CAA2C,CAA3C,0CACJ,CAEA,kBAEI,YACJ,CAEA,KACI,wBACJ,CAEA,SACI,4BACJ,CAEA,OACI,wBAAyB,CAIzB,QAAS,CAHT,UAAW,CACX,eAAiB,CAKjB,mBAAoB,CADpB,gBAAiB,CAHjB,iBAAkB,CAElB,UAGJ,CAEA,yCAGI,aACJ,CAEA,eACI,yBACJ,CAEA,YACI,aACJ,CAEA,IACI,wBAAyB,CACzB,qBAAsB,CACtB,yBAAkB,CAAlB,sBAAkB,CAAlB,iBAAkB,CAElB,eAAiB,CADjB,aAEJ,CAEA,YACI,wBACJ,CAEA,MACI,2BAA6B,CAC7B,eACJ,CAEA,cAEI,cAAe,CADf,WAEJ,CAEA,OACI,eACJ,CAEA,iBACI,wBAAyB,CACzB,mCAAsC,CACtC,eACJ,CAEA,sBACI,eACJ,CAEA,0CACI,wBACJ,CAEA,2CACI,qBACJ,CAEA,oBAEI,WAAY,CADZ,oBAEJ,CAEA,wBACI,wBACJ,CAEA,mBAEI,+BAAgC,CADhC,eAEJ,CAEA,mBACI,iBACJ,CAEA,6CAEI,oBAAuB,CAEvB,gBAAiB,CADjB,eAEJ,CAEA,sBACI,oCACJ,CAEA,uBACI,0BACJ,CAEA,aACI,cACJ,CAEA,yBACI,uBACI,eACJ,CACJ,CAEA,gBACI,aAAc,CACd,iBACJ,CAEA,qBACI,aAAc,CACd,cACJ,CAEA,qBACI,UAAW,CACX,aAAc,CACd,cAAe,CACf,gBAAiB,CACjB,4BACJ,CAEA,qBAEI,aAAc,CADd,cAAe,CAEf,iBACJ,CAEA,yBACI,oBAAqB,CAErB,eAAgB,CADhB,eAAgB,CAEhB,oBACJ,CAEA,mBACI,eACJ,CAEA,SACI,aAAc,CACd,aACJ,CAEA,OAEI,mBAAqB,CADrB,iBAAkB,CAElB,aACJ,CAEA,cACI,UAAW,CAEX,WAAY,CAEZ,iBACJ,CAEA,4BANI,oBAAqB,CAErB,qBAQJ,CAJA,cAEI,eAEJ,CAEA,kBACI,iBACJ,CAEA,iCAEI,UAAW,CAEX,gBAAiB,CADjB,eAAgB,CAFhB,KAIJ,CAEA,0CAEI,+BACJ,CAEA,uBACI,gBAAiB,CAEjB,aAAc,CAGd,UAAW,CAJX,iCAAoC,CAGpC,WAAY,CAEZ,aAAc,CAHd,UAIJ,CAEA,YAiBI,uBAAuB,CAAvB,oBAAuB,CAZvB,uBAAwB,CACxB,gHAMW,CANX,wFAMW,CANX,yFAMW,CANX,qFAMW,CANX,wGAMW,CANX,2EAMW,CARX,4BAAwB,CAcxB,wBAAiB,CAAjB,gBAAiB,CACjB,WAAY,CAFZ,8BAAuB,CAAvB,sBAAuB,CAFvB,kBAAmB,CACnB,eAAgB,CAIhB,eAAgB,CANhB,WAAY,CADZ,UAQJ,CAEA,aAGI,WAAY,CAFZ,YAAa,CACb,cAAe,CAEf,UAAW,CACX,UACJ,CAEA,mBAII,8BAA0B,CAA1B,yBAA0B,CAH1B,aAAc,CAEd,WAAY,CAGZ,eAAgB,CADhB,kBAAmB,CAHnB,UAKJ,CAEA,aAQI,wBAAyB,CACzB,UAAW,CARX,aAAc,CAUd,cAAe,CATf,WAAY,CAGZ,MAAO,CAFP,cAAe,CAOf,iBAAkB,CANlB,KAAM,CAEN,UAAW,CACX,aAKJ,CAEA,gBACI,cAAe,CACf,cAAe,CACf,kBACJ,CAEA,gBACI,oBAAqB,CACrB,gBAAiB,CACjB,iBACJ,CAEA,sCAEI,UACJ,CAEA,wEAEI,aACJ,CAEA,+BAOI,WAAY,CANZ,WAAY,CAGZ,MAAO,CAFP,cAAe,CACf,QAAS,CAET,UAAW,CACX,aAEJ,CAEA,mBAEI,MAAO,CADP,iBAEJ,CAEA,oBACI,iBAAkB,CAClB,OACJ,CAEA,qBACI,kBACJ,CAEA,iBAEI,wBAAyB,CADzB,wBAAyB,CAIzB,yBAAkB,CAAlB,sBAAkB,CAAlB,iBAAkB,CAFlB,oBAAuB,CACvB,WAEJ,CAEA,uBACI,eACJ,CAEA,kCACI,aAAc,CACd,iBACJ,CAEA,gDACI,eACJ,CAEA,cACI,eACJ,CAEA,SACI,gCAAyB,CAAzB,6BAAyB,CAAzB,wBACJ,CAEA,iBACI,eACJ,CAEA,aACI,eACJ,CAEA,YAII,yCAA2C,CAF3C,mBAAoB,CACpB,gBAAiB,CAFjB,kBAIJ,CAEA,qEAII,wBAAyB,CACzB,aACJ,CAEA,8BAEI,kCAAoC,CADpC,uBAEJ,CAEA,2BACI,4BACJ,CAEA,iBAEI,WAAY,CADZ,UAEJ,CAEA,yBACI,MACI,aACJ,CAEA,iBAEI,WAAY,CADZ,UAEJ,CAEA,iBACI,YACJ,CACJ,CAEA,kBACI,eACJ,CAEA,OACI,oBACJ,CAEA,qBACI,oBAAqB,CAErB,gBAAiB,CADjB,gBAEJ,CAEA,wCACI,oBACJ,CAEA,mBACI,uBACJ,CAEA,mDACI,YACJ,CAEA,gNAGI,2BACJ,CAEA,0EAGI,uBAAgB,CAAhB,kBAAgB,CAAhB,oBAAgB,CAAhB,eACJ,CAEA,qDACI,eACJ,CAEA,gBAQI,oBAAuB,CADvB,cAAe,CAFf,WAAY,CAFZ,MAAO,CAFP,iBAAkB,CAKlB,iBAAkB,CAJlB,KAAM,CAEN,UAKJ,CAEA,sBACI,oBACJ,CAEA,oBACI,aAAc,CACd,gBAAiB,CACjB,iBACJ,CAEA,kBAGI,0GAAqE,CAArE,uEAAqE,CAArE,oEAAqE,CAArE,kEAAqE,CAArE,gEAAqE,CAFrE,QAAS,CACT,UAEJ,CAGA,sGAMI,aACJ,CAGA,cACI,eACJ,CAEA,oBACI,eAAgB,CAChB,WACJ,CA2EA,mCACI,kBACJ,CAEA,uBACI,oBACJ,CAEA,iBACI,WACJ,CAEA,gCACI,QAAS,CACT,QAAS,CACT,SACJ,CAEA,aACI,oBACJ,CAEA,wBACI,4BACJ,CAEA,oBACI,kBAAmB,CACnB,wBAAyB,CAEzB,yBAAkB,CAAlB,sBAAkB,CAAlB,iBAAkB,CADlB,YAEJ,CAEA,sBACI,eACJ,CAEA,2BACI,gBACJ,CAEA,aACI,eAAgB,CAEhB,eAAgB,CADhB,eAAgB,CAEhB,SACJ,CAEA,oCACI,aACI,cACJ,CACJ,CAEA,iBAEI,eAAgB,CADhB,oBAEJ,CAEA,YAEI,QAAS,CAKT,gBAAoB,CANpB,iBAAkB,CAElB,UAKJ,CAEA,gBAEI,WAAY,CAEZ,MAAO,CAHP,iBAAkB,CAIlB,KAAM,CAFN,UAGJ,CAEA,eAOI,eAAiB,CACjB,qBAAuB,CACvB,yBAAkB,CAAlB,sBAAkB,CAAlB,iBAAkB,CAHlB,oBAAqB,CAFrB,WAAY,CACZ,WAAY,CAKZ,mBAAoB,CATpB,iBAAkB,CAClB,iBAAkB,CAClB,UAQJ,CAEA,WACI,cACJ,CAEA,SACI,eACJ,CAEA,WAEI,cAAe,CADf,mBAEJ,CAEA,8DAII,8BACJ,CAIA,KACI,oBACJ,CAEA,YACI,iCAA0B,CAA1B,8BAA0B,CAA1B,4BAA0B,CAA1B,yBACJ,CAEA,mBACI,iCAA0B,CAA1B,8BAA0B,CAA1B,4BAA0B,CAA1B,yBACJ,CAIA,QACI,iBAAkB,CAClB,YACJ,CAEA,uBACI,cACJ,CAEA,6CACI,gBACJ,CAEA,uBAEI,gBAAiB,CADjB,aAEJ,CAEA,iCACI,kBACJ,CAEA,iBACI,gBAAiB,CACjB,qBACJ,CAEA,mBACI,iBAAkB,CAElB,WAAY,CADZ,SAAW,CAGX,WAAY,CADZ,aAEJ,CAEA,qCACI,UACJ,CAEA,mBAEI,kBAAmB,CAKnB,yCAAoC,CAApC,sCAAoC,CAApC,iCAAoC,CAJpC,aAAc,CAOd,SAAU,CAJV,kBAAmB,CAFnB,iBAAkB,CAKlB,WAAY,CAJZ,iBAAkB,CAGlB,QAAS,CAGT,+BAAwB,CAAxB,4BAAwB,CAAxB,0BAAwB,CAAxB,uBAAwB,CAVxB,WAAY,CAWZ,YACJ,CAEA,oCACI,mBAEI,WAAY,CADZ,QAEJ,CACJ,CAEA,kBACI,cACJ,CAEA,0BAEI,SAAW,CADX,WAEJ,CChwBA,cAGI,oBAAuB,CAFvB,oBAAqB,CACrB,eAEJ,CAEA,iBAEI,WAAY,CADZ,oBAEJ,CAEA,iBACI,UAAW,CACX,oBACJ,CAEA,gBAEI,wBAAyB,CADzB,oBAEJ,CAEA,sBACI,oBAAuB,CACvB,yBACJ,CCxBA,cAEI,WAAY,CACZ,gBAAiB,CAFjB,iBAGJ,CAEA,gBACI,oBACJ,CAEA,kBACI,iBAAkB,CAClB,kBACJ,CAEA,qBAEI,gBAAiB,CADjB,aAEJ,CAEA,mBACI,aAAc,CAQd,kCAAmC,CANnC,WAAY,CACZ,gBAAiB,CACjB,iBAAkB,CAClB,qBAAmB,CAAnB,kBAAmB,CAJnB,UAQJ,CAEA,mBAGI,WAAY,CADZ,YAAa,CADb,UAGJ,CAEA,sBACI,iBAAkB,CAClB,OACJ,CAEA,gCACI,oDAAsC,CAAtC,4CAAsC,CAAtC,0CAAsC,CAAtC,wEAAsC,CAAtC,oCAAsC,CAAtC,kIACJ,CAEA,2CACI,+BAAwB,CAAxB,4BAAwB,CAAxB,0BAAwB,CAAxB,uBACJ,CAEA,wBAII,oBAAqB,CAHrB,gBAAiB,CAEjB,iBAAkB,CADlB,eAAgB,CAGhB,SACJ,CAIA,2CACI,SACJ,CAEA,iDACI,kBACJ,CAEA,iDACI,kBACJ,CCrEA,aACI,eAAgB,CAEhB,iBAAkB,CADlB,gBAEJ,CAEA,cACI,SACJ,CAEA,sBAGI,YAAa,CACb,iBAAoB,CAFpB,oBAGJ,CAEA,WACI,qBACJ,CAEA,kBACI,eACJ,CAEA,iBACI,qBAAsB,CACtB,wBACJ,CAEA,cACI,eACJ,CAEA,4BAEI,qBAAsB,CAItB,wBAAyB,CAHzB,aAAe,CACf,eAAgB,CAChB,qBAEJ,CAEA,SACI,iBACJ,CAEA,aAEI,wBAAyB,CACzB,iDAAuD,CAEvD,aAAe,CADf,WAAY,CAHZ,oBAKJ,CAEA,UAGI,kBAAmB,CAFnB,wBAAyB,CACzB,yBAAkB,CAAlB,sBAAkB,CAAlB,iBAAkB,CAElB,WAAa,CACb,SACJ,CAEA,iBAII,4BAA6B,CAF7B,WAAY,CADZ,qBAAwB,CAIxB,eAAgB,CAFhB,SAGJ,CAEA,WAGI,gBAAkB,CAClB,iBAAmB,CAHnB,cAAe,CACf,eAGJ,CAEA,eACI,cACJ,CAEA,mCAII,UAAW,CADX,qBAAsB,CAKtB,cAAe,CAHf,WAAY,CAHZ,iBAAkB,CAKlB,gBAAiB,CADjB,SAGJ,CAEA,iBAEI,aAAc,CADd,4CAEJ,CAEA,kBAEI,aAAc,CADd,6CAEJ,CAEA,kCACI,yBACJ,CAEA,mCAEI,eAAgB,CAChB,gBACJ,CAEA,cACI,WACJ,CAEA,eACI,yBACJ,CAEA,oCACI,aACI,cACJ,CAEA,UACI,wBACJ,CAEA,mCAEI,eACJ,CAEA,iBACI,SAAW,CACX,QACJ,CAEA,kBAEI,MAAO,CADP,iBAAkB,CAElB,KACJ,CACJ,CCnJA,0BACI,SAAU,CACV,cAAe,CACf,cACJ,CAEA,6BACI,SAAU,CACV,kBACJ,CAEA,kCACI,SAAU,CACV,cAAe,CACf,cACJ,CAEA,gCACI,cACJ,CAEA,6BACI,SAAW,CACX,WACJ,CCxBA,8BAKI,yBAAkB,CAAlB,sBAAkB,CAAlB,iBAAkB,CADlB,oBAAqB,CAFrB,WAAY,CACZ,gBAAiB,CAFjB,UAKJ,CAEA,oCAKI,yBAAkB,CAAlB,sBAAkB,CAAlB,iBAAkB,CADlB,oBAAqB,CAFrB,UAAW,CACX,gBAAiB,CAFjB,SAKJ,CAEA,oCACI,kBACJ,CAEA,qCACI,kBACJ,CAEA,kCACI,kBACJ,CAEA,mCACI,kBACJ","file":"webapp.ac2aaf02609c198af58a.css","sourcesContent":["/**\n * Copyright (C) 2018-2022 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\nhtml {\n height: 100%;\n overflow-x: hidden;\n scroll-behavior: auto !important;\n}\n\nbody {\n min-height: 100%;\n margin: 0;\n position: relative;\n padding-bottom: 120px;\n}\n\n/* The Alegreya font used in swh-web ships some ligatures producing\nconfusing text rendering, for instance the ligatures for `~` and some\ncharacters like e, y, u, ... so disable font common ligatures */\n* {\n font-variant-ligatures: no-common-ligatures;\n}\n\na:active,\na.active {\n outline: none;\n}\n\ncode {\n background-color: #f9f2f4;\n}\n\npre code {\n background-color: transparent;\n}\n\nfooter {\n background-color: #262626;\n color: #fff;\n font-size: 0.8rem;\n position: absolute;\n bottom: 0;\n width: 100%;\n padding-top: 10px;\n padding-bottom: 10px;\n}\n\nfooter a,\nfooter a:visited,\nfooter a:hover {\n color: #fecd1b;\n}\n\nfooter a:hover {\n text-decoration: underline;\n}\n\n.link-color {\n color: #fecd1b;\n}\n\npre {\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n padding: 9.5px;\n font-size: 0.8rem;\n}\n\n.btn.active {\n background-color: #e7e7e7;\n}\n\n.card {\n margin-bottom: 5px !important;\n overflow-x: auto;\n}\n\n.navbar-brand {\n padding: 5px;\n margin-right: 0;\n}\n\n.table {\n margin-bottom: 0;\n}\n\n.swh-table thead {\n background-color: #f2f4f5;\n border-top: 1px solid rgb(0 0 0 / 20%);\n font-weight: normal;\n}\n\n.swh-table-striped th {\n border-top: none;\n}\n\n.swh-table-striped tbody tr:nth-child(even) {\n background-color: #f2f4f5;\n}\n\n.swh-table-striped tbody tr:nth-child(odd) {\n background-color: #fff;\n}\n\n.swh-web-app-link a {\n text-decoration: none;\n border: none;\n}\n\n.swh-web-app-link:hover {\n background-color: #efeff2;\n}\n\n.table > thead > tr > th {\n border-top: none;\n border-bottom: 1px solid #e20026;\n}\n\n.table > tbody > tr > td {\n border-style: none;\n}\n\n.sitename .first-word,\n.sitename .second-word {\n color: rgb(0 0 0 / 75%);\n font-weight: normal;\n font-size: 1.2rem;\n}\n\n.sitename .first-word {\n font-family: \"Alegreya Sans\", sans-serif;\n}\n\n.sitename .second-word {\n font-family: Alegreya, serif;\n}\n\n.swh-counter {\n font-size: 150%;\n}\n\n@media (max-width: 600px) {\n .swh-counter-container {\n margin-top: 1rem;\n }\n}\n\n.swh-http-error {\n margin: 0 auto;\n text-align: center;\n}\n\n.swh-http-error-head {\n color: #2d353c;\n font-size: 30px;\n}\n\n.swh-http-error-code {\n bottom: 60%;\n color: #2d353c;\n font-size: 96px;\n line-height: 80px;\n margin-bottom: 10px !important;\n}\n\n.swh-http-error-desc {\n font-size: 12px;\n color: #647788;\n text-align: center;\n}\n\n.swh-http-error-desc pre {\n display: inline-block;\n text-align: left;\n max-width: 800px;\n white-space: pre-wrap;\n}\n\n.swh-list-unstyled {\n list-style: none;\n}\n\n.popover {\n max-width: 97%;\n z-index: 40000;\n}\n\n.modal {\n text-align: center;\n padding: 0 !important;\n z-index: 50000;\n}\n\n.modal::before {\n content: \"\";\n display: inline-block;\n height: 100%;\n vertical-align: middle;\n margin-right: -4px;\n}\n\n.modal-dialog {\n display: inline-block;\n text-align: left;\n vertical-align: middle;\n}\n\n.dropdown-submenu {\n position: relative;\n}\n\n.dropdown-submenu .dropdown-menu {\n top: 0;\n left: -100%;\n margin-top: -5px;\n margin-left: -2px;\n}\n\n.dropdown-item:hover,\n.dropdown-item:focus {\n background-color: rgb(0 0 0 / 10%);\n}\n\na.dropdown-left::before {\n content: \"\\f035e\";\n font-family: \"Material Design Icons\";\n display: block;\n width: 20px;\n height: 20px;\n float: left;\n margin-left: 0;\n}\n\n#swh-navbar {\n border-style: solid;\n border-top-style: none;\n border-left-style: none;\n border-right-style: none;\n border-bottom-width: 5px;\n border-image:\n linear-gradient(\n to right,\n rgb(226 0 38) 0%,\n rgb(254 205 27) 100%\n )\n 1 1 1 1;\n width: 100%;\n padding: 5px;\n margin-bottom: 10px;\n margin-top: 30px;\n justify-content: normal;\n flex-wrap: nowrap;\n height: 72px;\n overflow: hidden;\n}\n\n#back-to-top {\n display: none;\n position: fixed;\n bottom: 30px;\n right: 30px;\n z-index: 10;\n}\n\n#back-to-top a img {\n display: block;\n width: 32px;\n height: 32px;\n background-size: 32px 32px;\n text-indent: -999px;\n overflow: hidden;\n}\n\n.swh-top-bar {\n direction: ltr;\n height: 30px;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n z-index: 99999;\n background-color: #262626;\n color: #fff;\n text-align: center;\n font-size: 14px;\n}\n\n.swh-top-bar ul {\n margin-top: 4px;\n padding-left: 0;\n white-space: nowrap;\n}\n\n.swh-top-bar li {\n display: inline-block;\n margin-left: 10px;\n margin-right: 10px;\n}\n\n.swh-top-bar a,\n.swh-top-bar a:visited {\n color: white;\n}\n\n.swh-top-bar a.swh-current-site,\n.swh-top-bar a.swh-current-site:visited {\n color: #fecd1b;\n}\n\n.swh-fundraising-banner-iframe {\n height: 60px;\n position: fixed;\n top: 30px;\n left: 0;\n width: 100%;\n z-index: 99999;\n border: none;\n}\n\n.swh-position-left {\n position: absolute;\n left: 0;\n}\n\n.swh-position-right {\n position: absolute;\n right: 0;\n}\n\n.swh-background-gray {\n background: #efeff2;\n}\n\n.swh-donate-link {\n border: 1px solid #fecd1b;\n background-color: #e20026;\n color: white !important;\n padding: 3px;\n border-radius: 3px;\n}\n\n.swh-navbar-content h4 {\n padding-top: 7px;\n}\n\n.swh-navbar-content .bread-crumbs {\n display: block;\n margin-left: -40px;\n}\n\n.swh-navbar-content .bread-crumbs li.bc-no-root {\n padding-top: 7px;\n}\n\n.main-sidebar {\n margin-top: 30px;\n}\n\n.sidebar {\n height: calc(100% - 7rem);\n}\n\n.content-wrapper {\n background: none;\n}\n\n.brand-image {\n max-height: 40px;\n}\n\n.brand-link {\n padding-top: 18.5px;\n padding-bottom: 18px;\n padding-left: 4px;\n border-bottom: 5px solid #e20026 !important;\n}\n\n.navbar-header a,\nul.dropdown-menu a,\nul.navbar-nav a,\nul.nav-sidebar a {\n border-bottom-style: none;\n color: #323232;\n}\n\n.swh-sidebar .nav-link.active {\n color: #323232 !important;\n background-color: #e7e7e7 !important;\n}\n\n.nav-tabs .nav-link.active {\n border-top: 3px solid #e20026;\n}\n\n.swh-image-error {\n width: 80px;\n height: auto;\n}\n\n@media (max-width: 600px) {\n .card {\n min-width: 80%;\n }\n\n .swh-image-error {\n width: 40px;\n height: auto;\n }\n\n .swh-donate-link {\n display: none;\n }\n}\n\n.form-check-label {\n padding-top: 4px;\n}\n\n.swhid {\n white-space: pre-wrap;\n}\n\n.swhid .swhid-option {\n display: inline-block;\n margin-right: 5px;\n line-height: 1rem;\n}\n\n.nav-pills .nav-link:not(.active):hover {\n color: rgb(0 0 0 / 55%);\n}\n\n.swh-heading-color {\n color: #e20026 !important;\n}\n\n.sidebar-mini.sidebar-collapse .main-sidebar:hover {\n width: 4.6rem;\n}\n\n.sidebar-mini.sidebar-collapse .main-sidebar:hover .user-panel > .info,\n.sidebar-mini.sidebar-collapse .main-sidebar:hover .nav-sidebar .nav-link p,\n.sidebar-mini.sidebar-collapse .main-sidebar:hover .brand-text {\n visibility: hidden !important;\n}\n\n.sidebar .nav-link p,\n.main-sidebar .brand-text,\n.sidebar .user-panel .info {\n transition: none;\n}\n\n.sidebar-mini.sidebar-mini.sidebar-collapse .sidebar {\n padding-right: 0;\n}\n\n.swh-words-logo {\n position: absolute;\n top: 0;\n left: 0;\n width: 73px;\n height: 73px;\n text-align: center;\n font-size: 10pt;\n color: rgb(0 0 0 / 75%);\n}\n\n.swh-words-logo:hover {\n text-decoration: none;\n}\n\n.swh-words-logo-swh {\n line-height: 1;\n padding-top: 13px;\n visibility: hidden;\n}\n\nhr.swh-faded-line {\n border: 0;\n height: 1px;\n background-image: linear-gradient(to left, #f0f0f0, #8c8b8b, #f0f0f0);\n}\n\n/* Ensure that section title with link is colored like standard section title */\n.swh-readme h1 a,\n.swh-readme h2 a,\n.swh-readme h3 a,\n.swh-readme h4 a,\n.swh-readme h5 a,\n.swh-readme h6 a {\n color: #e20026;\n}\n\n/* Make list compact in reStructuredText rendering */\n.swh-rst li p {\n margin-bottom: 0;\n}\n\n.swh-readme-txt pre {\n background: none;\n border: none;\n}\n\n.swh-coverage {\n padding-top: 0.3rem;\n border: none;\n overflow: visible;\n}\n\n.swh-coverage a {\n text-decoration: none;\n}\n\n.swh-coverage-col {\n padding-left: 10px;\n padding-right: 10px;\n}\n\n.swh-coverage-header {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.swh-coverage-logo {\n display: block;\n width: 100%;\n height: 50px;\n margin-left: auto;\n margin-right: auto;\n object-fit: contain;\n\n /* polyfill for old browsers, see https://github.com/bfred-it/object-fit-images */\n font-family: \"object-fit: contain;\";\n}\n\n.swh-coverage-list {\n width: 100%;\n height: 320px;\n border: none;\n}\n\n.swh-coverage-chevron {\n position: absolute;\n right: 0;\n}\n\n.swh-coverage .card-header .mdi {\n transition: 0.3s transform ease-in-out;\n}\n\n.swh-coverage .card-header .collapsed .mdi {\n transform: rotate(90deg);\n}\n\n.swh-coverage-info-body {\n max-height: 150px;\n overflow-y: auto;\n overflow-x: hidden;\n scrollbar-width: thin; /* Firefox only */\n padding: 0;\n}\n\n/* Thin scrollbar for chromium based browsers */\n\n.swh-coverage-info-body::-webkit-scrollbar {\n width: 4px;\n}\n\n.swh-coverage-info-body::-webkit-scrollbar-track {\n background: #eff0f1;\n}\n\n.swh-coverage-info-body::-webkit-scrollbar-thumb {\n background: #909396;\n}\n\ntr.swh-tr-hover-highlight:hover td {\n background: #ededed;\n}\n\ntr.swh-api-doc-route a {\n text-decoration: none;\n}\n\n.swh-apidoc .col {\n margin: 10px;\n}\n\n.swh-apidoc .swh-rst blockquote {\n border: 0;\n margin: 0;\n padding: 0;\n}\n\na.toggle-col {\n text-decoration: none;\n}\n\na.toggle-col.col-hidden {\n text-decoration: line-through;\n}\n\n.admonition.warning {\n background: #fcf8e3;\n border: 1px solid #faebcc;\n padding: 15px;\n border-radius: 4px;\n}\n\n.admonition.warning p {\n margin-bottom: 0;\n}\n\n.admonition.warning .first {\n font-size: 1.5rem;\n}\n\n.swh-popover {\n max-height: 50vh;\n overflow-y: auto;\n overflow-x: auto;\n padding: 0;\n}\n\n@media screen and (min-width: 768px) {\n .swh-popover {\n max-width: 50vw;\n }\n}\n\n.swh-popover pre {\n white-space: pre-wrap;\n margin-bottom: 0;\n}\n\n.d3-wrapper {\n position: relative;\n height: 0;\n width: 100%;\n padding: 0;\n\n /* padding-bottom will be overwritten by JavaScript later */\n padding-bottom: 100%;\n}\n\n.d3-wrapper > svg {\n position: absolute;\n height: 100%;\n width: 100%;\n left: 0;\n top: 0;\n}\n\ndiv.d3-tooltip {\n position: absolute;\n text-align: center;\n width: auto;\n height: auto;\n padding: 2px;\n font: 12px sans-serif;\n background: white;\n border: 1px solid black;\n border-radius: 4px;\n pointer-events: none;\n}\n\n.page-link {\n cursor: pointer;\n}\n\n.wrapper {\n overflow: hidden;\n}\n\n.swh-badge {\n padding-bottom: 1rem;\n cursor: pointer;\n}\n\n.swh-badge-html,\n.swh-iframe-html,\n.swh-badge-md,\n.swh-badge-rst {\n white-space: pre-wrap !important;\n}\n\n/* Material Design icons alignment tweaks */\n\n.mdi {\n display: inline-block;\n}\n\n.mdi-camera {\n transform: translateY(1px);\n}\n\n.mdi-source-commit {\n transform: translateY(2px);\n}\n\n/* To set icons at a fixed width. Great to use when different\n icon widths throw off alignment. Courtesy of Font Awesome. */\n.mdi-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.main-header .nav-link {\n height: inherit;\n}\n\n.nav-sidebar .nav-header:not(:first-of-type) {\n padding-top: 1rem;\n}\n\n.nav-sidebar .nav-link {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.nav-sidebar > .nav-item .nav-icon {\n vertical-align: sub;\n}\n\n.swh-search-icon {\n line-height: 1rem;\n vertical-align: middle;\n}\n\n.swh-search-navbar {\n position: absolute;\n top: 0.7rem;\n right: 15rem;\n z-index: 50000;\n width: 500px;\n}\n\n.sidebar-collapse .swh-search-navbar {\n right: 4rem;\n}\n\n.swh-corner-ribbon {\n width: 200px;\n background: #fecd1b;\n color: #e20026;\n position: absolute;\n text-align: center;\n letter-spacing: 1px;\n box-shadow: 0 0 3px rgb(0 0 0 / 30%);\n top: 55px;\n right: -50px;\n left: auto;\n transform: rotate(45deg);\n z-index: 2000;\n}\n\n@media screen and (max-width: 600px) {\n .swh-corner-ribbon {\n top: 53px;\n right: -65px;\n }\n}\n\n.invalid-feedback {\n font-size: 100%;\n}\n\n.swh-required-label::after {\n content: \"*\";\n color: #f00;\n}\n","/**\n * Copyright (C) 2018-2021 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\n.bread-crumbs {\n display: inline-block;\n overflow: hidden;\n color: rgb(0 0 0 / 55%);\n}\n\n.bread-crumbs ul {\n list-style-type: none;\n height: 100%;\n}\n\n.bread-crumbs li {\n float: left;\n list-style-type: none;\n}\n\n.bread-crumbs a {\n color: rgb(0 0 0 / 75%);\n border-bottom-style: none;\n}\n\n.bread-crumbs a:hover {\n color: rgb(0 0 0 / 85%);\n text-decoration: underline;\n}\n","/**\n * Copyright (C) 2021 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\n.swh-coverage {\n padding-top: 0.3rem;\n border: none;\n overflow: visible;\n}\n\n.swh-coverage a {\n text-decoration: none;\n}\n\n.swh-coverage-col {\n padding-left: 10px;\n padding-right: 10px;\n}\n\n.swh-coverage-header {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.swh-coverage-logo {\n display: block;\n width: 100%;\n height: 50px;\n margin-left: auto;\n margin-right: auto;\n object-fit: contain;\n\n /* polyfill for old browsers, see https://github.com/bfred-it/object-fit-images */\n font-family: \"object-fit: contain;\";\n}\n\n.swh-coverage-list {\n width: 100%;\n height: 320px;\n border: none;\n}\n\n.swh-coverage-chevron {\n position: absolute;\n right: 0;\n}\n\n.swh-coverage .card-header .mdi {\n transition: 0.3s transform ease-in-out;\n}\n\n.swh-coverage .card-header .collapsed .mdi {\n transform: rotate(90deg);\n}\n\n.swh-coverage-info-body {\n max-height: 150px;\n overflow-y: auto;\n overflow-x: hidden;\n scrollbar-width: thin; /* Firefox only */\n padding: 0;\n}\n\n/* Thin scrollbar for chromium based browsers */\n\n.swh-coverage-info-body::-webkit-scrollbar {\n width: 4px;\n}\n\n.swh-coverage-info-body::-webkit-scrollbar-track {\n background: #eff0f1;\n}\n\n.swh-coverage-info-body::-webkit-scrollbar-thumb {\n background: #909396;\n}\n","/**\n * Copyright (C) 2019-2021 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\n/* Adapted from https://github.com/jsvine/nbpreview/blob/master/css/vendor/notebook.css */\n\n.nb-notebook {\n line-height: 1.5;\n padding-left: 6em;\n overflow-y: hidden;\n}\n\n.nb-worksheet {\n width: 99%;\n}\n\n.nb-stdout,\n.nb-stderr {\n white-space: pre-wrap;\n margin: 1em 0;\n padding: 0.1em 0.5em;\n}\n\n.nb-stderr {\n background-color: #faa;\n}\n\n.nb-cell + .nb-cell {\n margin-top: 0.5em;\n}\n\n.nb-output table {\n border: 1px solid #000;\n border-collapse: collapse;\n}\n\n.nb-output th {\n font-weight: bold;\n}\n\n.nb-output th,\n.nb-output td {\n border: 1px solid #000;\n padding: 0.25em;\n text-align: left;\n vertical-align: middle;\n border-collapse: collapse;\n}\n\n.nb-cell {\n position: relative;\n}\n\n.nb-raw-cell {\n white-space: pre-wrap;\n background-color: #f5f2f0;\n font-family: Consolas, Monaco, \"Andale Mono\", monospace;\n padding: 1em;\n margin: 0 0.5em;\n}\n\n.nb-input {\n border: 1px solid #cfcfcf;\n border-radius: 2px;\n background: #f7f7f7;\n margin: 0.4em;\n padding: 0;\n}\n\n.nb-notebook pre {\n margin: 0.4em !important;\n border: none;\n padding: 0;\n background-color: transparent;\n min-height: 1rem;\n}\n\n.nb-output {\n min-height: 1em;\n overflow-x: auto;\n margin-left: 0.5em;\n margin-right: 0.5em;\n}\n\n.nb-output img {\n max-width: 100%;\n}\n\n.nb-output::before,\n.nb-input::before {\n position: absolute;\n font-family: monospace;\n color: #999;\n left: -7.5em;\n width: 7em;\n text-align: right;\n font-size: 14px;\n}\n\n.nb-input::before {\n content: \"In [\" attr(data-prompt-number) \"]:\";\n color: #303f9f;\n}\n\n.nb-output::before {\n content: \"Out [\" attr(data-prompt-number) \"]:\";\n color: #d84315;\n}\n\n.nb-latex-output .MathJax_Display {\n text-align: left !important;\n}\n\n.nb-markdown-cell,\n.nb-heading-cell {\n margin-left: 1em;\n margin-right: 1em;\n}\n\n.nb-code-cell {\n margin: 0.4em;\n}\n\n.nb-output pre {\n margin-top: 0.2em !important;\n}\n\n@media screen and (max-width: 600px) {\n .nb-notebook {\n padding-left: 0;\n }\n\n .nb-input {\n margin-top: 2em !important;\n }\n\n .nb-output::before,\n .nb-input::before {\n text-align: left;\n }\n\n .nb-input::before {\n left: 0.5em;\n top: -2em;\n }\n\n .nb-output::before {\n position: relative;\n left: 0;\n top: 0;\n }\n}\n","/**\n * Copyright (C) 2019 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\n.swh-history-counter-line {\n fill: none;\n stroke: #ffab00;\n stroke-width: 3;\n}\n\n.swh-history-counter-overlay {\n fill: none;\n pointer-events: all;\n}\n\n.swh-history-counter-focus circle {\n fill: none;\n stroke: #ffab00;\n stroke-width: 3;\n}\n\n.swh-history-counter-focus text {\n font-size: 14px;\n}\n\n.swh-history-counter-tooltip {\n fill: white;\n stroke: #000;\n}\n","/**\n * Copyright (C) 2020 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\n.swh-current-status-indicator {\n width: 12px;\n height: 12px;\n margin: 0 0 0 5px;\n display: inline-block;\n border-radius: 6px;\n}\n\n.swh-current-status-indicator.small {\n width: 8px;\n height: 8px;\n margin: 0 0 0 5px;\n display: inline-block;\n border-radius: 4px;\n}\n\n.swh-current-status-indicator.green {\n background: #27ae60;\n}\n\n.swh-current-status-indicator.yellow {\n background: #ffa837;\n}\n\n.swh-current-status-indicator.red {\n background: #c44031;\n}\n\n.swh-current-status-indicator.blue {\n background: #00aaf0;\n}\n"]} \ No newline at end of file diff --git a/static/js/add_forge.6d7376990eabad2fde82.js b/static/js/add_forge.6d7376990eabad2fde82.js deleted file mode 100644 index c1988fd8..00000000 --- a/static/js/add_forge.6d7376990eabad2fde82.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see add_forge.6d7376990eabad2fde82.js.LICENSE.txt */ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.swh=t():(e.swh=e.swh||{},e.swh.add_forge=t())}(self,(function(){return function(){var __webpack_modules__={87757:function(e,t,n){e.exports=n(35666)},7200:function(e,t,n){"use strict";n.d(t,{T:function(){return f},x:function(){return _}});var r,o=n(15861),a=n(87757),i=n.n(a),s=n(59537),u=n(39449),c=n.n(u),d=n(86515),p="swh-add-forge-user-filter",l=c()({inputId:p,checked:!0});function f(){$(document).ready((function(){$("#requestCreateForm").submit(function(){var e=(0,o.Z)(i().mark((function e(t){var n,o,a;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),e.prev=1,e.next=4,(0,s.e_)($(this).attr("action"),{"Content-Type":"application/x-www-form-urlencoded"},$(this).serialize());case 4:n=e.sent,(0,s.ry)(n),$("#userMessageDetail").empty(),$("#userMessage").text("Your request has been submitted"),$("#userMessage").removeClass("badge-danger"),$("#userMessage").addClass("badge-success"),r.draw(),e.next=23;break;case 13:return e.prev=13,e.t0=e.catch(1),$("#userMessageDetail").empty(),e.next=18,e.t0.json();case 18:a=e.sent,o=409===e.t0.status?a:(0,s.DK)(a,"An unknown error occurred during the request creation"),$("#userMessage").text(o),$("#userMessage").removeClass("badge-success"),$("#userMessage").addClass("badge-danger");case 23:case"end":return e.stop()}}),e,this,[[1,13]])})));return function(t){return e.apply(this,arguments)}}()),_()}))}function _(){r=$("#add-forge-request-browse").on("error.dt",(function(e,t,n,r){$("#add-forge-browse-request-error").text(r)})).DataTable({serverSide:!0,processing:!0,language:{processing:''},retrieve:!0,searching:!0,info:!1,dom:'<"row"<"col-sm-3"l><"col-sm-6 text-left user-requests-filter"><"col-sm-3"f>><"row"<"col-sm-12"tr>><"row"<"col-sm-5"i><"col-sm-7"p>>',ajax:{url:Urls.add_forge_request_list_datatables(),data:function(e){var t=$("#"+p).prop("checked");swh.webapp.isUserLoggedIn()&&(void 0===t||t)&&(e.user_requests_only="1")}},fnInitComplete:function(){swh.webapp.isUserLoggedIn()&&($("div.user-requests-filter").html(l),$("#"+p).on("change",(function(){r.draw()})))},columns:[{data:"submission_date",name:"submission_date",render:s.Jp},{data:"forge_type",name:"forge_type",render:$.fn.dataTable.render.text()},{data:"forge_url",name:"forge_url",render:function(e,t,n){if("display"===t){var r="",o=$.fn.dataTable.render.text().display(e);return r+=o,r+=' '}return e}},{data:"status",name:"status",render:function(e,t,n,r){return swh.add_forge.formatRequestStatusName(e)}}]})}},98955:function(e,t,n){"use strict";n.d(t,{f:function(){return s},y:function(){return u}});var r=n(15861),o=n(87757),a=n.n(o),i=n(59537);function s(){u()}function u(){return c.apply(this,arguments)}function c(){return(c=(0,r.Z)(a().mark((function e(){return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:$("#swh-add-forge-now-moderation-list").on("error.dt",(function(e,t,n,r){$("#swh-add-forge-now-moderation-list-error").text(r)})).DataTable({serverSide:!0,processing:!0,searching:!0,info:!1,dom:'<<"d-flex justify-content-between align-items-center"f<"#list-exclude">l>rt<"bottom"ip>>',ajax:{url:Urls.add_forge_request_list_datatables()},columns:[{data:"id",name:"id",render:function(e,t,n,r){return""+e+""}},{data:"submission_date",name:"submission_date",render:i.Jp},{data:"forge_type",name:"forge_type",render:$.fn.dataTable.render.text()},{data:"forge_url",name:"forge_url",render:$.fn.dataTable.render.text()},{data:"last_moderator",name:"last_moderator",render:$.fn.dataTable.render.text()},{data:"last_modified_date",name:"last_modified_date",render:i.Jp},{data:"status",name:"status",render:function(e,t,n,r){return swh.add_forge.formatRequestStatusName(e)}}]});case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}},90668:function(e,t,n){"use strict";n.d(t,{H:function(){return m},q:function(){return l}});var r,o=n(15861),a=n(87757),i=n.n(a),s=n(59537),u=n(46717),c=n.n(u),d=n(16756),p=n.n(d);function l(e){$(document).ready((function(){f(e),$("#contactForgeAdmin").click((function(e){var t,n,o,a;t=$("#contactForgeAdmin").attr("emailTo"),n=$("#contactForgeAdmin").attr("emailSubject"),o=c()({forgeUrl:r.forge_url}).trim().replace(/\n/g,"%0D%0A"),(a=window.open("","_blank","",!0)).location.href="mailto: "+t+"?subject="+n+"&body="+o,a.focus()})),$("#updateRequestForm").submit(function(){var t=(0,o.Z)(i().mark((function t(n){var r;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n.preventDefault(),t.prev=1,t.next=4,(0,s.e_)($(this).attr("action"),{"Content-Type":"application/x-www-form-urlencoded"},$(this).serialize());case 4:r=t.sent,(0,s.ry)(r),$("#userMessage").text("The request status has been updated "),$("#userMessage").removeClass("badge-danger"),$("#userMessage").addClass("badge-success"),f(e),t.next=17;break;case 12:t.prev=12,t.t0=t.catch(1),$("#userMessage").text("Sorry; Updating the request failed"),$("#userMessage").removeClass("badge-success"),$("#userMessage").addClass("badge-danger");case 17:case"end":return t.stop()}}),t,this,[[1,12]])})));return function(e){return t.apply(this,arguments)}}())}))}function f(e){return _.apply(this,arguments)}function _(){return(_=(0,o.Z)(i().mark((function e(t){var n,o;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,fetch(Urls.api_1_add_forge_request_get(t));case 3:return n=e.sent,(0,s.ry)(n),e.next=7,n.json();case 7:o=e.sent,r=o.request,$("#requestStatus").text(swh.add_forge.formatRequestStatusName(r.status)),$("#requestType").text(r.forge_type),$("#requestURL").text(r.forge_url),$("#requestContactName").text(r.forge_contact_name),$("#requestContactConsent").text(r.submitter_forward_username),$("#requestContactEmail").text(r.forge_contact_email),$("#submitterMessage").text(r.forge_contact_comment),$("#updateComment").val(""),$("#contactForgeAdmin").attr("emailTo",r.forge_contact_email),$("#contactForgeAdmin").attr("emailSubject","[swh-add_forge_now] Request "+r.id),h(o.history),m(r.status),e.next=27;break;case 23:e.prev=23,e.t0=e.catch(0),$("#fetchError").removeClass("d-none"),$("#requestDetails").addClass("d-none");case 27:case"end":return e.stop()}}),e,null,[[0,23]])})))).apply(this,arguments)}function h(e){$("#requestHistory").children().remove(),e.forEach((function(e,t){var n=p()({event:e,index:t,getHumanReadableDate:s.Jp});$("#requestHistory").append(n)}))}function m(e){var t={PENDING:["WAITING_FOR_FEEDBACK","REJECTED","SUSPENDED"],WAITING_FOR_FEEDBACK:["FEEDBACK_TO_HANDLE"],FEEDBACK_TO_HANDLE:["WAITING_FOR_FEEDBACK","ACCEPTED","REJECTED","SUSPENDED"],ACCEPTED:["SCHEDULED"],SCHEDULED:["FIRST_LISTING_DONE","FIRST_ORIGIN_LOADED"],FIRST_LISTING_DONE:["FIRST_ORIGIN_LOADED"],FIRST_ORIGIN_LOADED:[],REJECTED:[],SUSPENDED:["PENDING"],DENIED:[]}[e];$("#decisionOptions").children().remove(),t.forEach((function(e,t){var n=swh.add_forge.formatRequestStatusName(e);$("#decisionOptions").append('")})),$("#decisionOptions").append("")}},86515:function(e,t,n){"use strict";n.d(t,{XC:function(){return r}});var r=(0,n(59537).TT)("img/swh-spinner.gif")},59537:function(e,t,n){"use strict";n.d(t,{DK:function(){return a},Jp:function(){return u},TT:function(){return i},e_:function(){return s},ry:function(){return o}});n(87757);var r=n(31955);function o(e){if(!e.ok)throw e;return e}function a(e,t){var n="";try{var r=JSON.parse(e.reason);Object.entries(r).forEach((function(e,t){var r=e[0],o=e[1][0];n+="\n"+r+": "+o}))}catch(t){n=e.reason}return n?"Error: "+n:t}function i(e){return"/static/"+e}function s(e,t,n){return void 0===t&&(t={}),void 0===n&&(n=null),t["X-CSRFToken"]=r.Z.get("csrftoken"),fetch(e,{credentials:"include",headers:t,method:"POST",body:n})}function u(e){return new Date(e).toLocaleString()}},16756:function(module){module.exports=function anonymous(locals,escapeFn,include,rethrow){escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('\n
\n
\n
\n

\n \n

\n
\n
\n
\n

'),__append(escapeFn(event.text)),__append("

\n "),null!==event.new_status&&(__append("\n

\n Status changed to: "),__append(escapeFn(swh.add_forge.formatRequestStatusName(event.new_status))),__append("\n

\n ")),__append("\n
\n
\n
\n
\n");return __output}},46717:function(module){module.exports=function anonymous(locals,escapeFn,include,rethrow){escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append("\nDear forge administrator,\n\nThe mission of Software Heritage is to collect, preserve and share all the\npublicly available source code (see https://www.softwareheritage.org for more\ninformation).\n\nWe just received a request to add the forge hosted at "),__append(escapeFn(forgeUrl)),__append(" to the\nlist of software origins that are archived, and it is our understanding that you\nare the contact person for this forge.\n\nIn order to archive the forge contents, we will have to periodically pull the\npublic repositories it contains and clone them into the\nSoftware Heritage archive.\n\nWould you be so kind as to reply to this message to acknowledge the reception\nof this email and let us know if there are any special steps we should take in\norder to properly archive the public repositories hosted on your infrastructure?\n\nThank you in advance for your help.\n\nKind regards,\nThe Software Heritage team\n");return __output}},39449:function(module){module.exports=function anonymous(locals,escapeFn,include,rethrow){escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('\n
\n \n \n
\n');return __output}},35666:function(e){var t=function(e){"use strict";var t,n=Object.prototype,r=n.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function c(e,t,n,r){var o=t&&t.prototype instanceof m?t:m,a=Object.create(o.prototype),i=new S(r||[]);return a._invoke=function(e,t,n){var r=p;return function(o,a){if(r===f)throw new Error("Generator is already running");if(r===_){if("throw"===o)throw a;return F()}for(n.method=o,n.arg=a;;){var i=n.delegate;if(i){var s=T(i,n);if(s){if(s===h)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===p)throw r=_,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=f;var u=d(e,t,n);if("normal"===u.type){if(r=n.done?_:l,u.arg===h)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r=_,n.method="throw",n.arg=u.arg)}}}(e,n,i),a}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var p="suspendedStart",l="suspendedYield",f="executing",_="completed",h={};function m(){}function g(){}function v(){}var y={};y[a]=function(){return this};var w=Object.getPrototypeOf,b=w&&w(w(k([])));b&&b!==n&&r.call(b,a)&&(y=b);var E=v.prototype=m.prototype=Object.create(y);function x(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function D(e,t){function n(o,a,i,s){var u=d(e[o],e,a);if("throw"!==u.type){var c=u.arg,p=c.value;return p&&"object"==typeof p&&r.call(p,"__await")?t.resolve(p.__await).then((function(e){n("next",e,i,s)}),(function(e){n("throw",e,i,s)})):t.resolve(p).then((function(e){c.value=e,i(c)}),(function(e){return n("throw",e,i,s)}))}s(u.arg)}var o;this._invoke=function(e,r){function a(){return new t((function(t,o){n(e,r,t,o)}))}return o=o?o.then(a,a):a()}}function T(e,n){var r=e.iterator[n.method];if(r===t){if(n.delegate=null,"throw"===n.method){if(e.iterator.return&&(n.method="return",n.arg=t,T(e,n),"throw"===n.method))return h;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var o=d(r,e.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,h;var a=o.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,h):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,h)}function L(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function S(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(L,this),this.reset(!0)}function k(e){if(e){var n=e[a];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function n(){for(;++o=0;--a){var i=this.tryEntries[a],s=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(u&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),C(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;C(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:k(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),h}},e}(e.exports);try{regeneratorRuntime=t}catch(e){Function("r","regeneratorRuntime = r")(t)}},15861:function(e,t,n){"use strict";function r(e,t,n,r,o,a,i){try{var s=e[a](i),u=s.value}catch(e){return void n(e)}s.done?t(u):Promise.resolve(u).then(r,o)}function o(e){return function(){var t=this,n=arguments;return new Promise((function(o,a){var i=e.apply(t,n);function s(e){r(i,o,a,s,u,"next",e)}function u(e){r(i,o,a,s,u,"throw",e)}s(void 0)}))}}n.d(t,{Z:function(){return o}})},31955:function(e,t){"use strict";function n(e){for(var t=1;t {\n $('#requestCreateForm').submit(async function(event) {\n event.preventDefault();\n try {\n const response = await csrfPost($(this).attr('action'),\n {'Content-Type': 'application/x-www-form-urlencoded'},\n $(this).serialize());\n handleFetchError(response);\n $('#userMessageDetail').empty();\n $('#userMessage').text('Your request has been submitted');\n $('#userMessage').removeClass('badge-danger');\n $('#userMessage').addClass('badge-success');\n requestBrowseTable.draw(); // redraw the table to update the list\n } catch (errorResponse) {\n $('#userMessageDetail').empty();\n\n let errorMessage;\n const errorData = await errorResponse.json();\n // if (errorResponse.content_type === 'text/plain') { // does not work?\n if (errorResponse.status === 409) {\n errorMessage = errorData;\n } else { // assuming json response\n // const exception = errorData['exception'];\n errorMessage = errorMessageFromResponse(\n errorData, 'An unknown error occurred during the request creation');\n }\n $('#userMessage').text(errorMessage);\n $('#userMessage').removeClass('badge-success');\n $('#userMessage').addClass('badge-danger');\n }\n });\n\n populateRequestBrowseList(); // Load existing requests\n });\n}\n\nexport function populateRequestBrowseList() {\n requestBrowseTable = $('#add-forge-request-browse')\n .on('error.dt', (e, settings, techNote, message) => {\n $('#add-forge-browse-request-error').text(message);\n })\n .DataTable({\n serverSide: true,\n processing: true,\n language: {\n processing: ``\n },\n retrieve: true,\n searching: true,\n info: false,\n // Layout configuration, see [1] for more details\n // [1] https://datatables.net/reference/option/dom\n dom: '<\"row\"<\"col-sm-3\"l><\"col-sm-6 text-left user-requests-filter\"><\"col-sm-3\"f>>' +\n '<\"row\"<\"col-sm-12\"tr>>' +\n '<\"row\"<\"col-sm-5\"i><\"col-sm-7\"p>>',\n ajax: {\n 'url': Urls.add_forge_request_list_datatables(),\n data: (d) => {\n const checked = $(`#${addForgeCheckboxId}`).prop('checked');\n // If this function is called while the page is loading, 'checked' is\n // undefined. As the checkbox defaults to being checked, coerce this to true.\n if (swh.webapp.isUserLoggedIn() && (checked === undefined || checked)) {\n d.user_requests_only = '1';\n }\n }\n },\n fnInitComplete: function() {\n if (swh.webapp.isUserLoggedIn()) {\n $('div.user-requests-filter').html(userRequestsFilterCheckbox);\n $(`#${addForgeCheckboxId}`).on('change', () => {\n requestBrowseTable.draw();\n });\n }\n },\n columns: [\n {\n data: 'submission_date',\n name: 'submission_date',\n render: getHumanReadableDate\n },\n {\n data: 'forge_type',\n name: 'forge_type',\n render: $.fn.dataTable.render.text()\n },\n {\n data: 'forge_url',\n name: 'forge_url',\n render: function(data, type, row) {\n if (type === 'display') {\n let html = '';\n const sanitizedURL = $.fn.dataTable.render.text().display(data);\n html += sanitizedURL;\n html += ` ` +\n '';\n return html;\n }\n return data;\n }\n },\n {\n data: 'status',\n name: 'status',\n render: function(data, type, row, meta) {\n return swh.add_forge.formatRequestStatusName(data);\n }\n }\n ]\n });\n}\n","/**\n * Copyright (C) 2022 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\nimport {getHumanReadableDate} from 'utils/functions';\n\nexport function onModerationPageLoad() {\n populateModerationList();\n}\n\nexport async function populateModerationList() {\n $('#swh-add-forge-now-moderation-list')\n .on('error.dt', (e, settings, techNote, message) => {\n $('#swh-add-forge-now-moderation-list-error').text(message);\n })\n .DataTable({\n serverSide: true,\n processing: true,\n searching: true,\n info: false,\n dom: '<<\"d-flex justify-content-between align-items-center\"f' +\n '<\"#list-exclude\">l>rt<\"bottom\"ip>>',\n ajax: {\n 'url': Urls.add_forge_request_list_datatables()\n },\n columns: [\n {\n data: 'id',\n name: 'id',\n render: function(data, type, row, meta) {\n const dashboardUrl = Urls.add_forge_now_request_dashboard(data);\n return `${data}`;\n }\n },\n {\n data: 'submission_date',\n name: 'submission_date',\n render: getHumanReadableDate\n },\n {\n data: 'forge_type',\n name: 'forge_type',\n render: $.fn.dataTable.render.text()\n },\n {\n data: 'forge_url',\n name: 'forge_url',\n render: $.fn.dataTable.render.text()\n },\n {\n data: 'last_moderator',\n name: 'last_moderator',\n render: $.fn.dataTable.render.text()\n },\n {\n data: 'last_modified_date',\n name: 'last_modified_date',\n render: getHumanReadableDate\n },\n {\n data: 'status',\n name: 'status',\n render: function(data, type, row, meta) {\n return swh.add_forge.formatRequestStatusName(data);\n }\n }\n ]\n });\n}\n","/**\n * Copyright (C) 2022 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\nimport {handleFetchError, csrfPost, getHumanReadableDate} from 'utils/functions';\nimport emailTempate from './forge-admin-email.ejs';\nimport requestHistoryItem from './add-request-history-item.ejs';\n\nlet forgeRequest;\n\nexport function onRequestDashboardLoad(requestId) {\n $(document).ready(() => {\n populateRequestDetails(requestId);\n\n $('#contactForgeAdmin').click((event) => {\n contactForgeAdmin(event);\n });\n\n $('#updateRequestForm').submit(async function(event) {\n event.preventDefault();\n try {\n const response = await csrfPost($(this).attr('action'),\n {'Content-Type': 'application/x-www-form-urlencoded'},\n $(this).serialize());\n handleFetchError(response);\n $('#userMessage').text('The request status has been updated ');\n $('#userMessage').removeClass('badge-danger');\n $('#userMessage').addClass('badge-success');\n populateRequestDetails(requestId);\n } catch (response) {\n $('#userMessage').text('Sorry; Updating the request failed');\n $('#userMessage').removeClass('badge-success');\n $('#userMessage').addClass('badge-danger');\n }\n });\n });\n}\n\nasync function populateRequestDetails(requestId) {\n try {\n const response = await fetch(Urls.api_1_add_forge_request_get(requestId));\n handleFetchError(response);\n const data = await response.json();\n forgeRequest = data.request;\n\n $('#requestStatus').text(swh.add_forge.formatRequestStatusName(forgeRequest.status));\n $('#requestType').text(forgeRequest.forge_type);\n $('#requestURL').text(forgeRequest.forge_url);\n $('#requestContactName').text(forgeRequest.forge_contact_name);\n $('#requestContactConsent').text(forgeRequest.submitter_forward_username);\n $('#requestContactEmail').text(forgeRequest.forge_contact_email);\n $('#submitterMessage').text(forgeRequest.forge_contact_comment);\n $('#updateComment').val('');\n\n // Setting data for the email, now adding static data\n $('#contactForgeAdmin').attr('emailTo', forgeRequest.forge_contact_email);\n $('#contactForgeAdmin').attr('emailSubject', `[swh-add_forge_now] Request ${forgeRequest.id}`);\n populateRequestHistory(data.history);\n populateDecisionSelectOption(forgeRequest.status);\n } catch (response) {\n // The error message\n $('#fetchError').removeClass('d-none');\n $('#requestDetails').addClass('d-none');\n }\n}\n\nfunction populateRequestHistory(history) {\n $('#requestHistory').children().remove();\n\n history.forEach((event, index) => {\n const historyEvent = requestHistoryItem({\n 'event': event,\n 'index': index,\n 'getHumanReadableDate': getHumanReadableDate\n });\n $('#requestHistory').append(historyEvent);\n });\n}\n\nexport function populateDecisionSelectOption(currentStatus) {\n const nextStatusesFor = {\n 'PENDING': ['WAITING_FOR_FEEDBACK', 'REJECTED', 'SUSPENDED'],\n 'WAITING_FOR_FEEDBACK': ['FEEDBACK_TO_HANDLE'],\n 'FEEDBACK_TO_HANDLE': [\n 'WAITING_FOR_FEEDBACK',\n 'ACCEPTED',\n 'REJECTED',\n 'SUSPENDED'\n ],\n 'ACCEPTED': ['SCHEDULED'],\n 'SCHEDULED': [\n 'FIRST_LISTING_DONE',\n 'FIRST_ORIGIN_LOADED'\n ],\n 'FIRST_LISTING_DONE': ['FIRST_ORIGIN_LOADED'],\n 'FIRST_ORIGIN_LOADED': [],\n 'REJECTED': [],\n 'SUSPENDED': ['PENDING'],\n 'DENIED': []\n };\n\n // Determine the possible next status out of the current one\n const nextStatuses = nextStatusesFor[currentStatus];\n\n function addStatusOption(status, index) {\n // Push the next possible status options\n const label = swh.add_forge.formatRequestStatusName(status);\n $('#decisionOptions').append(\n ``\n );\n }\n // Remove all the options and add new ones\n $('#decisionOptions').children().remove();\n nextStatuses.forEach(addStatusOption);\n $('#decisionOptions').append(\n ''\n );\n}\n\nfunction contactForgeAdmin(event) {\n // Open the mailclient with pre-filled text\n const mailTo = $('#contactForgeAdmin').attr('emailTo');\n const subject = $('#contactForgeAdmin').attr('emailSubject');\n const emailText = emailTempate({'forgeUrl': forgeRequest.forge_url}).trim().replace(/\\n/g, '%0D%0A');\n const w = window.open('', '_blank', '', true);\n w.location.href = `mailto: ${mailTo}?subject=${subject}&body=${emailText}`;\n w.focus();\n}\n","/**\n * Copyright (C) 2019 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\nimport {staticAsset} from 'utils/functions';\n\n// Constants defining Bootstrap Breakpoints\nexport const BREAKPOINT_SM = 768;\nexport const BREAKPOINT_MD = 992;\nexport const BREAKPOINT_LG = 1200;\n\nexport const swhSpinnerSrc = staticAsset('img/swh-spinner.gif');\n","/**\n * Copyright (C) 2018-2020 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\n// utility functions\n\nimport Cookies from 'js-cookie';\n\nexport function handleFetchError(response) {\n if (!response.ok) {\n throw response;\n }\n return response;\n}\n\nexport function handleFetchErrors(responses) {\n for (let i = 0; i < responses.length; ++i) {\n if (!responses[i].ok) {\n throw responses[i];\n }\n }\n return responses;\n}\n\nexport function errorMessageFromResponse(errorData, defaultMessage) {\n let errorMessage = '';\n try {\n const reason = JSON.parse(errorData['reason']);\n Object.entries(reason).forEach((keys, _) => {\n const key = keys[0];\n const message = keys[1][0]; // take only the first issue\n errorMessage += `\\n${key}: ${message}`;\n });\n } catch (_) {\n errorMessage = errorData['reason']; // can't parse it, leave it raw\n }\n return errorMessage ? `Error: ${errorMessage}` : defaultMessage;\n}\n\nexport function staticAsset(asset) {\n return `${__STATIC__}${asset}`;\n}\n\nexport function csrfPost(url, headers = {}, body = null) {\n headers['X-CSRFToken'] = Cookies.get('csrftoken');\n return fetch(url, {\n credentials: 'include',\n headers: headers,\n method: 'POST',\n body: body\n });\n}\n\nexport function isGitRepoUrl(url, pathPrefix = '/') {\n const allowedProtocols = ['http:', 'https:', 'git:'];\n if (allowedProtocols.find(protocol => protocol === url.protocol) === undefined) {\n return false;\n }\n if (!url.pathname.startsWith(pathPrefix)) {\n return false;\n }\n const re = new RegExp('[\\\\w\\\\.-]+\\\\/?(?!=.git)(?:\\\\.git\\\\/?)?$');\n return re.test(url.pathname.slice(pathPrefix.length));\n};\n\nexport function removeUrlFragment() {\n history.replaceState('', document.title, window.location.pathname + window.location.search);\n}\n\nexport function selectText(startNode, endNode) {\n const selection = window.getSelection();\n selection.removeAllRanges();\n const range = document.createRange();\n range.setStart(startNode, 0);\n if (endNode.nodeName !== '#text') {\n range.setEnd(endNode, endNode.childNodes.length);\n } else {\n range.setEnd(endNode, endNode.textContent.length);\n }\n selection.addRange(range);\n}\n\nexport function htmlAlert(type, message, closable = false) {\n let closeButton = '';\n let extraClasses = '';\n if (closable) {\n closeButton =\n ``;\n extraClasses = 'alert-dismissible';\n }\n return `
${message}${closeButton}
`;\n}\n\nexport function isValidURL(string) {\n try {\n new URL(string);\n } catch (_) {\n return false;\n }\n return true;\n}\n\nexport async function isArchivedOrigin(originPath) {\n if (!isValidURL(originPath)) {\n // Not a valid URL, return immediately\n return false;\n } else {\n const response = await fetch(Urls.api_1_origin(originPath));\n return response.ok && response.status === 200; // Success response represents an archived origin\n }\n}\n\nasync function getCanonicalGithubOriginURL(ownerRepo) {\n const ghApiResponse = await fetch(`https://api.github.com/repos/${ownerRepo}`);\n if (ghApiResponse.ok && ghApiResponse.status === 200) {\n const ghApiResponseData = await ghApiResponse.json();\n return ghApiResponseData.html_url;\n }\n}\n\nexport async function getCanonicalOriginURL(originUrl) {\n let originUrlLower = originUrl.toLowerCase();\n // github.com URL processing\n const ghUrlRegex = /^http[s]*:\\/\\/github.com\\//;\n if (originUrlLower.match(ghUrlRegex)) {\n // remove trailing .git\n if (originUrlLower.endsWith('.git')) {\n originUrlLower = originUrlLower.slice(0, -4);\n }\n // remove trailing slash\n if (originUrlLower.endsWith('/')) {\n originUrlLower = originUrlLower.slice(0, -1);\n }\n // extract {owner}/{repo}\n const ownerRepo = originUrlLower.replace(ghUrlRegex, '');\n // fetch canonical URL from github Web API\n const url = getCanonicalGithubOriginURL(ownerRepo);\n if (url) {\n return url;\n }\n }\n\n const ghpagesUrlRegex = /^http[s]*:\\/\\/(?[^/]+).github.io\\/(?[^/]+)\\/?.*/;\n const parsedUrl = originUrlLower.match(ghpagesUrlRegex);\n if (parsedUrl) {\n const ownerRepo = `${parsedUrl.groups.owner}/${parsedUrl.groups.repo}`;\n // fetch canonical URL from github Web API\n const url = getCanonicalGithubOriginURL(ownerRepo);\n if (url) {\n return url;\n }\n }\n\n return originUrl;\n}\n\nexport function getHumanReadableDate(data) {\n // Display iso format date string into a human readable date\n // This is expected to be used by date field in datatable listing views\n // Example: 3/24/2022, 10:31:08 AM\n const date = new Date(data);\n return date.toLocaleString();\n}\n","module.exports = function anonymous(locals, escapeFn, include, rethrow\n) {\nescapeFn = escapeFn || function (markup) {\n return markup == undefined\n ? ''\n : String(markup)\n .replace(_MATCH_HTML, encode_char);\n};\nvar _ENCODE_HTML_RULES = {\n \"&\": \"&\"\n , \"<\": \"<\"\n , \">\": \">\"\n , '\"': \""\"\n , \"'\": \"'\"\n }\n , _MATCH_HTML = /[&<>'\"]/g;\nfunction encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n};\n;\n var __output = \"\";\n function __append(s) { if (s !== undefined && s !== null) __output += s }\n with (locals || {}) {\n ; __append(\"\\n
\\n
\\n
\\n

\\n \\n

\\n
\\n
\\n
\\n

\")\n ; __append(escapeFn( event.text ))\n ; __append(\"

\\n \")\n ; if (event.new_status !== null) { \n ; __append(\"\\n

\\n Status changed to: \")\n ; __append(escapeFn( swh.add_forge.formatRequestStatusName(event.new_status) ))\n ; __append(\"\\n

\\n \")\n ; } \n ; __append(\"\\n
\\n
\\n
\\n
\\n\")\n }\n return __output;\n\n}","module.exports = function anonymous(locals, escapeFn, include, rethrow\n) {\nescapeFn = escapeFn || function (markup) {\n return markup == undefined\n ? ''\n : String(markup)\n .replace(_MATCH_HTML, encode_char);\n};\nvar _ENCODE_HTML_RULES = {\n \"&\": \"&\"\n , \"<\": \"<\"\n , \">\": \">\"\n , '\"': \""\"\n , \"'\": \"'\"\n }\n , _MATCH_HTML = /[&<>'\"]/g;\nfunction encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n};\n;\n var __output = \"\";\n function __append(s) { if (s !== undefined && s !== null) __output += s }\n with (locals || {}) {\n ; __append(\"\\nDear forge administrator,\\n\\nThe mission of Software Heritage is to collect, preserve and share all the\\npublicly available source code (see https://www.softwareheritage.org for more\\ninformation).\\n\\nWe just received a request to add the forge hosted at \")\n ; __append(escapeFn( forgeUrl ))\n ; __append(\" to the\\nlist of software origins that are archived, and it is our understanding that you\\nare the contact person for this forge.\\n\\nIn order to archive the forge contents, we will have to periodically pull the\\npublic repositories it contains and clone them into the\\nSoftware Heritage archive.\\n\\nWould you be so kind as to reply to this message to acknowledge the reception\\nof this email and let us know if there are any special steps we should take in\\norder to properly archive the public repositories hosted on your infrastructure?\\n\\nThank you in advance for your help.\\n\\nKind regards,\\nThe Software Heritage team\\n\")\n }\n return __output;\n\n}","module.exports = function anonymous(locals, escapeFn, include, rethrow\n) {\nescapeFn = escapeFn || function (markup) {\n return markup == undefined\n ? ''\n : String(markup)\n .replace(_MATCH_HTML, encode_char);\n};\nvar _ENCODE_HTML_RULES = {\n \"&\": \"&\"\n , \"<\": \"<\"\n , \">\": \">\"\n , '\"': \""\"\n , \"'\": \"'\"\n }\n , _MATCH_HTML = /[&<>'\"]/g;\nfunction encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n};\n;\n var __output = \"\";\n function __append(s) { if (s !== undefined && s !== null) __output += s }\n with (locals || {}) {\n ; __append(\"\\n
\\n \\n \\n
\\n\")\n }\n return __output;\n\n}","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","/*! js-cookie v3.0.1 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (key, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n key = encodeURIComponent(key)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n key + '=' + converter.write(value, key) + stringifiedAttributes)\n }\n\n function get (key) {\n if (typeof document === 'undefined' || (arguments.length && !key)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var foundKey = decodeURIComponent(parts[0]);\n jar[foundKey] = converter.read(value, foundKey);\n\n if (key === foundKey) {\n break\n }\n } catch (e) {}\n }\n\n return key ? jar[key] : jar\n }\n\n return Object.create(\n {\n set: set,\n get: get,\n remove: function (key, attributes) {\n set(\n key,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport default api;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Copyright (C) 2022 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\n// bundle for add forge views\n\nexport * from './add-forge.css';\nexport * from './create-request';\nexport * from './moderation-dashboard';\nexport * from './request-dashboard';\n\nexport function formatRequestStatusName(status) {\n // Mapping to format the request status to a human readable text\n const statusLabel = {\n 'PENDING': 'Pending',\n 'WAITING_FOR_FEEDBACK': 'Waiting for feedback',\n 'FEEDBACK_TO_HANDLE': 'Feedback to handle',\n 'ACCEPTED': 'Accepted',\n 'SCHEDULED': 'Scheduled',\n 'FIRST_LISTING_DONE': 'First listing done',\n 'FIRST_ORIGIN_LOADED': 'First origin loaded',\n 'REJECTED': 'Rejected',\n 'SUSPENDED': 'Suspended',\n 'DENIED': 'Denied'\n };\n return status in statusLabel ? statusLabel[status] : status;\n}\n"],"names":["root","factory","exports","module","define","amd","self","requestBrowseTable","addForgeCheckboxId","userRequestsFilterCheckbox","userRequestsFilterCheckboxFn","onCreateRequestPageLoad","$","document","ready","submit","event","preventDefault","csrfPost","this","attr","serialize","response","handleFetchError","empty","text","removeClass","addClass","draw","json","errorData","errorMessage","status","errorMessageFromResponse","populateRequestBrowseList","on","e","settings","techNote","message","DataTable","serverSide","processing","language","swhSpinnerSrc","retrieve","searching","info","dom","ajax","Urls","add_forge_request_list_datatables","data","d","checked","prop","swh","webapp","isUserLoggedIn","undefined","user_requests_only","fnInitComplete","html","columns","name","render","getHumanReadableDate","fn","dataTable","type","row","sanitizedURL","display","meta","add_forge","formatRequestStatusName","onModerationPageLoad","populateModerationList","add_forge_now_request_dashboard","forgeRequest","onRequestDashboardLoad","requestId","populateRequestDetails","click","mailTo","subject","emailText","w","emailTempate","forge_url","trim","replace","window","open","location","href","focus","fetch","api_1_add_forge_request_get","request","forge_type","forge_contact_name","submitter_forward_username","forge_contact_email","forge_contact_comment","val","id","populateRequestHistory","history","populateDecisionSelectOption","children","remove","forEach","index","historyEvent","requestHistoryItem","append","currentStatus","nextStatuses","label","staticAsset","ok","defaultMessage","reason","JSON","parse","Object","entries","keys","_","key","asset","__STATIC__","url","headers","body","Cookies","credentials","method","Date","toLocaleString","anonymous","locals","escapeFn","include","rethrow","markup","String","_MATCH_HTML","encode_char","_ENCODE_HTML_RULES","c","__output","__append","s","actor","actor_role","date","new_status","forgeUrl","inputId","runtime","Op","prototype","hasOwn","hasOwnProperty","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","obj","value","defineProperty","enumerable","configurable","writable","err","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","state","GenStateSuspendedStart","arg","GenStateExecuting","Error","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","done","GenStateSuspendedYield","makeInvokeMethod","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","resolve","reject","result","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","TypeError","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","constructor","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","toString","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","assign","target","source","api","init","converter","defaultAttributes","set","attributes","expires","now","toUTCString","encodeURIComponent","decodeURIComponent","escape","stringifiedAttributes","attributeName","split","cookie","write","get","cookies","jar","parts","join","foundKey","read","withAttributes","withConverter","freeze","path","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","a","definition","o","r","statusLabel"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/add_forge.b03ba291e43a6431bc44.js b/static/js/add_forge.b03ba291e43a6431bc44.js new file mode 100644 index 00000000..435321d7 --- /dev/null +++ b/static/js/add_forge.b03ba291e43a6431bc44.js @@ -0,0 +1,3 @@ +/*! For license information please see add_forge.b03ba291e43a6431bc44.js.LICENSE.txt */ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.swh=t():(e.swh=e.swh||{},e.swh.add_forge=t())}(self,(function(){return function(){var __webpack_modules__={87757:function(e,t,n){e.exports=n(35666)},7200:function(e,t,n){"use strict";n.d(t,{T:function(){return f},x:function(){return _}});var r,o=n(15861),a=n(87757),i=n.n(a),s=n(59537),u=n(39449),c=n.n(u),d=n(86515),p="swh-add-forge-user-filter",l=c()({inputId:p,checked:!0});function f(){$(document).ready((function(){$("#requestCreateForm").submit(function(){var e=(0,o.Z)(i().mark((function e(t){var n,o,a;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),e.prev=1,e.next=4,(0,s.e_)($(this).attr("action"),{"Content-Type":"application/x-www-form-urlencoded"},$(this).serialize());case 4:n=e.sent,(0,s.ry)(n),$("#userMessageDetail").empty(),$("#userMessage").text("Your request has been submitted"),$("#userMessage").removeClass("badge-danger"),$("#userMessage").addClass("badge-success"),r.draw(),e.next=23;break;case 13:return e.prev=13,e.t0=e.catch(1),$("#userMessageDetail").empty(),e.next=18,e.t0.json();case 18:a=e.sent,o=409===e.t0.status?a:(0,s.DK)(a,"An unknown error occurred during the request creation"),$("#userMessage").text(o),$("#userMessage").removeClass("badge-success"),$("#userMessage").addClass("badge-danger");case 23:case"end":return e.stop()}}),e,this,[[1,13]])})));return function(t){return e.apply(this,arguments)}}()),_()}))}function _(){r=$("#add-forge-request-browse").on("error.dt",(function(e,t,n,r){$("#add-forge-browse-request-error").text(r)})).DataTable({serverSide:!0,processing:!0,language:{processing:''},retrieve:!0,searching:!0,info:!1,dom:'<"row"<"col-sm-3"l><"col-sm-6 text-left user-requests-filter"><"col-sm-3"f>><"row"<"col-sm-12"tr>><"row"<"col-sm-5"i><"col-sm-7"p>>',ajax:{url:Urls.add_forge_request_list_datatables(),data:function(e){var t=$("#"+p).prop("checked");swh.webapp.isUserLoggedIn()&&(void 0===t||t)&&(e.user_requests_only="1")}},fnInitComplete:function(){swh.webapp.isUserLoggedIn()&&($("div.user-requests-filter").html(l),$("#"+p).on("change",(function(){r.draw()})))},columns:[{data:"submission_date",name:"submission_date",render:s.Jp},{data:"forge_type",name:"forge_type",render:$.fn.dataTable.render.text()},{data:"forge_url",name:"forge_url",render:function(e,t,n){if("display"===t){var r="",o=$.fn.dataTable.render.text().display(e);return r+=o,r+=' '}return e}},{data:"status",name:"status",render:function(e,t,n,r){return swh.add_forge.formatRequestStatusName(e)}}]})}},98955:function(e,t,n){"use strict";n.d(t,{f:function(){return s},y:function(){return u}});var r=n(15861),o=n(87757),a=n.n(o),i=n(59537);function s(){u()}function u(){return c.apply(this,arguments)}function c(){return(c=(0,r.Z)(a().mark((function e(){return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:$("#swh-add-forge-now-moderation-list").on("error.dt",(function(e,t,n,r){$("#swh-add-forge-now-moderation-list-error").text(r)})).DataTable({serverSide:!0,processing:!0,searching:!0,info:!1,dom:'<<"d-flex justify-content-between align-items-center"f<"#list-exclude">l>rt<"bottom"ip>>',ajax:{url:Urls.add_forge_request_list_datatables()},columns:[{data:"id",name:"id",render:function(e,t,n,r){return""+e+""}},{data:"submission_date",name:"submission_date",render:i.Jp},{data:"forge_type",name:"forge_type",render:$.fn.dataTable.render.text()},{data:"forge_url",name:"forge_url",render:$.fn.dataTable.render.text()},{data:"last_moderator",name:"last_moderator",render:$.fn.dataTable.render.text()},{data:"last_modified_date",name:"last_modified_date",render:i.Jp},{data:"status",name:"status",render:function(e,t,n,r){return swh.add_forge.formatRequestStatusName(e)}}]});case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}},90668:function(e,t,n){"use strict";n.d(t,{H:function(){return m},q:function(){return l}});var r,o=n(15861),a=n(87757),i=n.n(a),s=n(59537),u=n(46717),c=n.n(u),d=n(16756),p=n.n(d);function l(e){$(document).ready((function(){f(e),$("#contactForgeAdmin").click((function(e){var t,n,o,a,i;t=$("#contactForgeAdmin").attr("emailTo"),n=$("#contactForgeAdmin").attr("emailCc"),o=$("#contactForgeAdmin").attr("emailSubject"),a=c()({forgeUrl:r.forge_url}).trim().replace(/\n/g,"%0D%0A"),(i=window.open("","_blank","",!0)).location.href="mailto:"+t+"?Cc="+n+"&Reply-To="+n+"&Subject="+o+"&body="+a,i.focus()})),$("#updateRequestForm").submit(function(){var t=(0,o.Z)(i().mark((function t(n){var r;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n.preventDefault(),t.prev=1,t.next=4,(0,s.e_)($(this).attr("action"),{"Content-Type":"application/x-www-form-urlencoded"},$(this).serialize());case 4:r=t.sent,(0,s.ry)(r),$("#userMessage").text("The request status has been updated "),$("#userMessage").removeClass("badge-danger"),$("#userMessage").addClass("badge-success"),f(e),t.next=17;break;case 12:t.prev=12,t.t0=t.catch(1),$("#userMessage").text("Sorry; Updating the request failed"),$("#userMessage").removeClass("badge-success"),$("#userMessage").addClass("badge-danger");case 17:case"end":return t.stop()}}),t,this,[[1,12]])})));return function(e){return t.apply(this,arguments)}}())}))}function f(e){return _.apply(this,arguments)}function _(){return(_=(0,o.Z)(i().mark((function e(t){var n,o;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,fetch(Urls.api_1_add_forge_request_get(t));case 3:return n=e.sent,(0,s.ry)(n),e.next=7,n.json();case 7:o=e.sent,r=o.request,$("#requestStatus").text(swh.add_forge.formatRequestStatusName(r.status)),$("#requestType").text(r.forge_type),$("#requestURL").text(r.forge_url),$("#requestContactName").text(r.forge_contact_name),$("#requestContactConsent").text(r.submitter_forward_username),$("#requestContactEmail").text(r.forge_contact_email),$("#submitterMessage").text(r.forge_contact_comment),$("#updateComment").val(""),$("#contactForgeAdmin").attr("emailTo",r.forge_contact_email),$("#contactForgeAdmin").attr("emailCc",r.inbound_email_address),$("#contactForgeAdmin").attr("emailSubject","Software Heritage archival request for "+r.forge_domain),h(o.history),m(r.status),e.next=32;break;case 24:if(e.prev=24,e.t0=e.catch(0),!(e.t0 instanceof Response)){e.next=31;break}$("#fetchError").removeClass("d-none"),$("#requestDetails").addClass("d-none"),e.next=32;break;case 31:throw e.t0;case 32:case"end":return e.stop()}}),e,null,[[0,24]])})))).apply(this,arguments)}function h(e){$("#requestHistory").children().remove(),e.forEach((function(e,t){var n=p()({event:e,index:t,getHumanReadableDate:s.Jp});$("#requestHistory").append(n)}))}function m(e){var t={PENDING:["WAITING_FOR_FEEDBACK","REJECTED","SUSPENDED"],WAITING_FOR_FEEDBACK:["FEEDBACK_TO_HANDLE"],FEEDBACK_TO_HANDLE:["WAITING_FOR_FEEDBACK","ACCEPTED","REJECTED","SUSPENDED"],ACCEPTED:["SCHEDULED"],SCHEDULED:["FIRST_LISTING_DONE","FIRST_ORIGIN_LOADED"],FIRST_LISTING_DONE:["FIRST_ORIGIN_LOADED"],FIRST_ORIGIN_LOADED:[],REJECTED:[],SUSPENDED:["PENDING"],DENIED:[]}[e];$("#decisionOptions").children().remove(),t.forEach((function(e,t){var n=swh.add_forge.formatRequestStatusName(e);$("#decisionOptions").append('")})),$("#decisionOptions").append("")}},86515:function(e,t,n){"use strict";n.d(t,{XC:function(){return r}});var r=(0,n(59537).TT)("img/swh-spinner.gif")},59537:function(e,t,n){"use strict";n.d(t,{DK:function(){return a},Jp:function(){return u},TT:function(){return i},e_:function(){return s},ry:function(){return o}});n(87757);var r=n(31955);function o(e){if(!e.ok)throw e;return e}function a(e,t){var n="";try{var r=JSON.parse(e.reason);Object.entries(r).forEach((function(e,t){var r=e[0],o=e[1][0];n+="\n"+r+": "+o}))}catch(t){n=e.reason}return n?"Error: "+n:t}function i(e){return"/static/"+e}function s(e,t,n){return void 0===t&&(t={}),void 0===n&&(n=null),t["X-CSRFToken"]=r.Z.get("csrftoken"),fetch(e,{credentials:"include",headers:t,method:"POST",body:n})}function u(e){return new Date(e).toLocaleString()}},16756:function(module){module.exports=function anonymous(locals,escapeFn,include,rethrow){escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('\n
\n
\n
\n

\n \n

\n
\n
\n
\n
'),__append(escapeFn(event.text)),__append("
\n "),null!==event.message_source_url&&(__append('\n

Open original message in email client

\n ')),__append("\n "),null!==event.new_status&&(__append("\n

\n Status changed to: "),__append(escapeFn(swh.add_forge.formatRequestStatusName(event.new_status))),__append("\n

\n ")),__append("\n
\n
\n
\n
\n");return __output}},46717:function(module){module.exports=function anonymous(locals,escapeFn,include,rethrow){escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append("\nDear forge administrator,\n\nThe mission of Software Heritage is to collect, preserve and share all the\npublicly available source code (see https://www.softwareheritage.org for more\ninformation).\n\nWe just received a request to add the forge hosted at "),__append(escapeFn(forgeUrl)),__append(" to the\nlist of software origins that are archived, and it is our understanding that you\nare the contact person for this forge.\n\nIn order to archive the forge contents, we will have to periodically pull the\npublic repositories it contains and clone them into the\nSoftware Heritage archive.\n\nWould you be so kind as to reply to this message to acknowledge the reception\nof this email and let us know if there are any special steps we should take in\norder to properly archive the public repositories hosted on your infrastructure?\n\nThank you in advance for your help.\n\nKind regards,\nThe Software Heritage team\n");return __output}},39449:function(module){module.exports=function anonymous(locals,escapeFn,include,rethrow){escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('\n
\n \n \n
\n');return __output}},35666:function(e){var t=function(e){"use strict";var t,n=Object.prototype,r=n.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function c(e,t,n,r){var o=t&&t.prototype instanceof m?t:m,a=Object.create(o.prototype),i=new S(r||[]);return a._invoke=function(e,t,n){var r=p;return function(o,a){if(r===f)throw new Error("Generator is already running");if(r===_){if("throw"===o)throw a;return F()}for(n.method=o,n.arg=a;;){var i=n.delegate;if(i){var s=T(i,n);if(s){if(s===h)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===p)throw r=_,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=f;var u=d(e,t,n);if("normal"===u.type){if(r=n.done?_:l,u.arg===h)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r=_,n.method="throw",n.arg=u.arg)}}}(e,n,i),a}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var p="suspendedStart",l="suspendedYield",f="executing",_="completed",h={};function m(){}function g(){}function v(){}var y={};y[a]=function(){return this};var w=Object.getPrototypeOf,b=w&&w(w(k([])));b&&b!==n&&r.call(b,a)&&(y=b);var E=v.prototype=m.prototype=Object.create(y);function x(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function D(e,t){function n(o,a,i,s){var u=d(e[o],e,a);if("throw"!==u.type){var c=u.arg,p=c.value;return p&&"object"==typeof p&&r.call(p,"__await")?t.resolve(p.__await).then((function(e){n("next",e,i,s)}),(function(e){n("throw",e,i,s)})):t.resolve(p).then((function(e){c.value=e,i(c)}),(function(e){return n("throw",e,i,s)}))}s(u.arg)}var o;this._invoke=function(e,r){function a(){return new t((function(t,o){n(e,r,t,o)}))}return o=o?o.then(a,a):a()}}function T(e,n){var r=e.iterator[n.method];if(r===t){if(n.delegate=null,"throw"===n.method){if(e.iterator.return&&(n.method="return",n.arg=t,T(e,n),"throw"===n.method))return h;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var o=d(r,e.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,h;var a=o.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,h):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,h)}function C(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function L(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function S(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(C,this),this.reset(!0)}function k(e){if(e){var n=e[a];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function n(){for(;++o=0;--a){var i=this.tryEntries[a],s=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(u&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),L(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;L(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:k(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),h}},e}(e.exports);try{regeneratorRuntime=t}catch(e){Function("r","regeneratorRuntime = r")(t)}},15861:function(e,t,n){"use strict";function r(e,t,n,r,o,a,i){try{var s=e[a](i),u=s.value}catch(e){return void n(e)}s.done?t(u):Promise.resolve(u).then(r,o)}function o(e){return function(){var t=this,n=arguments;return new Promise((function(o,a){var i=e.apply(t,n);function s(e){r(i,o,a,s,u,"next",e)}function u(e){r(i,o,a,s,u,"throw",e)}s(void 0)}))}}n.d(t,{Z:function(){return o}})},31955:function(e,t){"use strict";function n(e){for(var t=1;t {\n $('#requestCreateForm').submit(async function(event) {\n event.preventDefault();\n try {\n const response = await csrfPost($(this).attr('action'),\n {'Content-Type': 'application/x-www-form-urlencoded'},\n $(this).serialize());\n handleFetchError(response);\n $('#userMessageDetail').empty();\n $('#userMessage').text('Your request has been submitted');\n $('#userMessage').removeClass('badge-danger');\n $('#userMessage').addClass('badge-success');\n requestBrowseTable.draw(); // redraw the table to update the list\n } catch (errorResponse) {\n $('#userMessageDetail').empty();\n\n let errorMessage;\n const errorData = await errorResponse.json();\n // if (errorResponse.content_type === 'text/plain') { // does not work?\n if (errorResponse.status === 409) {\n errorMessage = errorData;\n } else { // assuming json response\n // const exception = errorData['exception'];\n errorMessage = errorMessageFromResponse(\n errorData, 'An unknown error occurred during the request creation');\n }\n $('#userMessage').text(errorMessage);\n $('#userMessage').removeClass('badge-success');\n $('#userMessage').addClass('badge-danger');\n }\n });\n\n populateRequestBrowseList(); // Load existing requests\n });\n}\n\nexport function populateRequestBrowseList() {\n requestBrowseTable = $('#add-forge-request-browse')\n .on('error.dt', (e, settings, techNote, message) => {\n $('#add-forge-browse-request-error').text(message);\n })\n .DataTable({\n serverSide: true,\n processing: true,\n language: {\n processing: ``\n },\n retrieve: true,\n searching: true,\n info: false,\n // Layout configuration, see [1] for more details\n // [1] https://datatables.net/reference/option/dom\n dom: '<\"row\"<\"col-sm-3\"l><\"col-sm-6 text-left user-requests-filter\"><\"col-sm-3\"f>>' +\n '<\"row\"<\"col-sm-12\"tr>>' +\n '<\"row\"<\"col-sm-5\"i><\"col-sm-7\"p>>',\n ajax: {\n 'url': Urls.add_forge_request_list_datatables(),\n data: (d) => {\n const checked = $(`#${addForgeCheckboxId}`).prop('checked');\n // If this function is called while the page is loading, 'checked' is\n // undefined. As the checkbox defaults to being checked, coerce this to true.\n if (swh.webapp.isUserLoggedIn() && (checked === undefined || checked)) {\n d.user_requests_only = '1';\n }\n }\n },\n fnInitComplete: function() {\n if (swh.webapp.isUserLoggedIn()) {\n $('div.user-requests-filter').html(userRequestsFilterCheckbox);\n $(`#${addForgeCheckboxId}`).on('change', () => {\n requestBrowseTable.draw();\n });\n }\n },\n columns: [\n {\n data: 'submission_date',\n name: 'submission_date',\n render: getHumanReadableDate\n },\n {\n data: 'forge_type',\n name: 'forge_type',\n render: $.fn.dataTable.render.text()\n },\n {\n data: 'forge_url',\n name: 'forge_url',\n render: function(data, type, row) {\n if (type === 'display') {\n let html = '';\n const sanitizedURL = $.fn.dataTable.render.text().display(data);\n html += sanitizedURL;\n html += ` ` +\n '';\n return html;\n }\n return data;\n }\n },\n {\n data: 'status',\n name: 'status',\n render: function(data, type, row, meta) {\n return swh.add_forge.formatRequestStatusName(data);\n }\n }\n ]\n });\n}\n","/**\n * Copyright (C) 2022 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\nimport {getHumanReadableDate} from 'utils/functions';\n\nexport function onModerationPageLoad() {\n populateModerationList();\n}\n\nexport async function populateModerationList() {\n $('#swh-add-forge-now-moderation-list')\n .on('error.dt', (e, settings, techNote, message) => {\n $('#swh-add-forge-now-moderation-list-error').text(message);\n })\n .DataTable({\n serverSide: true,\n processing: true,\n searching: true,\n info: false,\n dom: '<<\"d-flex justify-content-between align-items-center\"f' +\n '<\"#list-exclude\">l>rt<\"bottom\"ip>>',\n ajax: {\n 'url': Urls.add_forge_request_list_datatables()\n },\n columns: [\n {\n data: 'id',\n name: 'id',\n render: function(data, type, row, meta) {\n const dashboardUrl = Urls.add_forge_now_request_dashboard(data);\n return `${data}`;\n }\n },\n {\n data: 'submission_date',\n name: 'submission_date',\n render: getHumanReadableDate\n },\n {\n data: 'forge_type',\n name: 'forge_type',\n render: $.fn.dataTable.render.text()\n },\n {\n data: 'forge_url',\n name: 'forge_url',\n render: $.fn.dataTable.render.text()\n },\n {\n data: 'last_moderator',\n name: 'last_moderator',\n render: $.fn.dataTable.render.text()\n },\n {\n data: 'last_modified_date',\n name: 'last_modified_date',\n render: getHumanReadableDate\n },\n {\n data: 'status',\n name: 'status',\n render: function(data, type, row, meta) {\n return swh.add_forge.formatRequestStatusName(data);\n }\n }\n ]\n });\n}\n","/**\n * Copyright (C) 2022 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\nimport {handleFetchError, csrfPost, getHumanReadableDate} from 'utils/functions';\nimport emailTempate from './forge-admin-email.ejs';\nimport requestHistoryItem from './add-request-history-item.ejs';\n\nlet forgeRequest;\n\nexport function onRequestDashboardLoad(requestId) {\n $(document).ready(() => {\n populateRequestDetails(requestId);\n\n $('#contactForgeAdmin').click((event) => {\n contactForgeAdmin(event);\n });\n\n $('#updateRequestForm').submit(async function(event) {\n event.preventDefault();\n try {\n const response = await csrfPost($(this).attr('action'),\n {'Content-Type': 'application/x-www-form-urlencoded'},\n $(this).serialize());\n handleFetchError(response);\n $('#userMessage').text('The request status has been updated ');\n $('#userMessage').removeClass('badge-danger');\n $('#userMessage').addClass('badge-success');\n populateRequestDetails(requestId);\n } catch (response) {\n $('#userMessage').text('Sorry; Updating the request failed');\n $('#userMessage').removeClass('badge-success');\n $('#userMessage').addClass('badge-danger');\n }\n });\n });\n}\n\nasync function populateRequestDetails(requestId) {\n try {\n const response = await fetch(Urls.api_1_add_forge_request_get(requestId));\n handleFetchError(response);\n const data = await response.json();\n forgeRequest = data.request;\n\n $('#requestStatus').text(swh.add_forge.formatRequestStatusName(forgeRequest.status));\n $('#requestType').text(forgeRequest.forge_type);\n $('#requestURL').text(forgeRequest.forge_url);\n $('#requestContactName').text(forgeRequest.forge_contact_name);\n $('#requestContactConsent').text(forgeRequest.submitter_forward_username);\n $('#requestContactEmail').text(forgeRequest.forge_contact_email);\n $('#submitterMessage').text(forgeRequest.forge_contact_comment);\n $('#updateComment').val('');\n\n // Setting data for the email, now adding static data\n $('#contactForgeAdmin').attr('emailTo', forgeRequest.forge_contact_email);\n $('#contactForgeAdmin').attr('emailCc', forgeRequest.inbound_email_address);\n $('#contactForgeAdmin').attr('emailSubject', `Software Heritage archival request for ${forgeRequest.forge_domain}`);\n populateRequestHistory(data.history);\n populateDecisionSelectOption(forgeRequest.status);\n } catch (e) {\n if (e instanceof Response) {\n // The fetch request failed (in handleFetchError), show the error message\n $('#fetchError').removeClass('d-none');\n $('#requestDetails').addClass('d-none');\n } else {\n // Unknown exception, pass it through\n throw e;\n }\n }\n}\n\nfunction populateRequestHistory(history) {\n $('#requestHistory').children().remove();\n\n history.forEach((event, index) => {\n const historyEvent = requestHistoryItem({\n 'event': event,\n 'index': index,\n 'getHumanReadableDate': getHumanReadableDate\n });\n $('#requestHistory').append(historyEvent);\n });\n}\n\nexport function populateDecisionSelectOption(currentStatus) {\n const nextStatusesFor = {\n 'PENDING': ['WAITING_FOR_FEEDBACK', 'REJECTED', 'SUSPENDED'],\n 'WAITING_FOR_FEEDBACK': ['FEEDBACK_TO_HANDLE'],\n 'FEEDBACK_TO_HANDLE': [\n 'WAITING_FOR_FEEDBACK',\n 'ACCEPTED',\n 'REJECTED',\n 'SUSPENDED'\n ],\n 'ACCEPTED': ['SCHEDULED'],\n 'SCHEDULED': [\n 'FIRST_LISTING_DONE',\n 'FIRST_ORIGIN_LOADED'\n ],\n 'FIRST_LISTING_DONE': ['FIRST_ORIGIN_LOADED'],\n 'FIRST_ORIGIN_LOADED': [],\n 'REJECTED': [],\n 'SUSPENDED': ['PENDING'],\n 'DENIED': []\n };\n\n // Determine the possible next status out of the current one\n const nextStatuses = nextStatusesFor[currentStatus];\n\n function addStatusOption(status, index) {\n // Push the next possible status options\n const label = swh.add_forge.formatRequestStatusName(status);\n $('#decisionOptions').append(\n ``\n );\n }\n // Remove all the options and add new ones\n $('#decisionOptions').children().remove();\n nextStatuses.forEach(addStatusOption);\n $('#decisionOptions').append(\n ''\n );\n}\n\nfunction contactForgeAdmin(event) {\n // Open the mailclient with pre-filled text\n const mailTo = $('#contactForgeAdmin').attr('emailTo');\n const mailCc = $('#contactForgeAdmin').attr('emailCc');\n const subject = $('#contactForgeAdmin').attr('emailSubject');\n const emailText = emailTempate({'forgeUrl': forgeRequest.forge_url}).trim().replace(/\\n/g, '%0D%0A');\n const w = window.open('', '_blank', '', true);\n w.location.href = `mailto:${mailTo}?Cc=${mailCc}&Reply-To=${mailCc}&Subject=${subject}&body=${emailText}`;\n w.focus();\n}\n","/**\n * Copyright (C) 2019 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\nimport {staticAsset} from 'utils/functions';\n\n// Constants defining Bootstrap Breakpoints\nexport const BREAKPOINT_SM = 768;\nexport const BREAKPOINT_MD = 992;\nexport const BREAKPOINT_LG = 1200;\n\nexport const swhSpinnerSrc = staticAsset('img/swh-spinner.gif');\n","/**\n * Copyright (C) 2018-2020 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\n// utility functions\n\nimport Cookies from 'js-cookie';\n\nexport function handleFetchError(response) {\n if (!response.ok) {\n throw response;\n }\n return response;\n}\n\nexport function handleFetchErrors(responses) {\n for (let i = 0; i < responses.length; ++i) {\n if (!responses[i].ok) {\n throw responses[i];\n }\n }\n return responses;\n}\n\nexport function errorMessageFromResponse(errorData, defaultMessage) {\n let errorMessage = '';\n try {\n const reason = JSON.parse(errorData['reason']);\n Object.entries(reason).forEach((keys, _) => {\n const key = keys[0];\n const message = keys[1][0]; // take only the first issue\n errorMessage += `\\n${key}: ${message}`;\n });\n } catch (_) {\n errorMessage = errorData['reason']; // can't parse it, leave it raw\n }\n return errorMessage ? `Error: ${errorMessage}` : defaultMessage;\n}\n\nexport function staticAsset(asset) {\n return `${__STATIC__}${asset}`;\n}\n\nexport function csrfPost(url, headers = {}, body = null) {\n headers['X-CSRFToken'] = Cookies.get('csrftoken');\n return fetch(url, {\n credentials: 'include',\n headers: headers,\n method: 'POST',\n body: body\n });\n}\n\nexport function isGitRepoUrl(url, pathPrefix = '/') {\n const allowedProtocols = ['http:', 'https:', 'git:'];\n if (allowedProtocols.find(protocol => protocol === url.protocol) === undefined) {\n return false;\n }\n if (!url.pathname.startsWith(pathPrefix)) {\n return false;\n }\n const re = new RegExp('[\\\\w\\\\.-]+\\\\/?(?!=.git)(?:\\\\.git\\\\/?)?$');\n return re.test(url.pathname.slice(pathPrefix.length));\n};\n\nexport function removeUrlFragment() {\n history.replaceState('', document.title, window.location.pathname + window.location.search);\n}\n\nexport function selectText(startNode, endNode) {\n const selection = window.getSelection();\n selection.removeAllRanges();\n const range = document.createRange();\n range.setStart(startNode, 0);\n if (endNode.nodeName !== '#text') {\n range.setEnd(endNode, endNode.childNodes.length);\n } else {\n range.setEnd(endNode, endNode.textContent.length);\n }\n selection.addRange(range);\n}\n\nexport function htmlAlert(type, message, closable = false) {\n let closeButton = '';\n let extraClasses = '';\n if (closable) {\n closeButton =\n ``;\n extraClasses = 'alert-dismissible';\n }\n return `
${message}${closeButton}
`;\n}\n\nexport function isValidURL(string) {\n try {\n new URL(string);\n } catch (_) {\n return false;\n }\n return true;\n}\n\nexport async function isArchivedOrigin(originPath) {\n if (!isValidURL(originPath)) {\n // Not a valid URL, return immediately\n return false;\n } else {\n const response = await fetch(Urls.api_1_origin(originPath));\n return response.ok && response.status === 200; // Success response represents an archived origin\n }\n}\n\nasync function getCanonicalGithubOriginURL(ownerRepo) {\n const ghApiResponse = await fetch(`https://api.github.com/repos/${ownerRepo}`);\n if (ghApiResponse.ok && ghApiResponse.status === 200) {\n const ghApiResponseData = await ghApiResponse.json();\n return ghApiResponseData.html_url;\n }\n}\n\nexport async function getCanonicalOriginURL(originUrl) {\n let originUrlLower = originUrl.toLowerCase();\n // github.com URL processing\n const ghUrlRegex = /^http[s]*:\\/\\/github.com\\//;\n if (originUrlLower.match(ghUrlRegex)) {\n // remove trailing .git\n if (originUrlLower.endsWith('.git')) {\n originUrlLower = originUrlLower.slice(0, -4);\n }\n // remove trailing slash\n if (originUrlLower.endsWith('/')) {\n originUrlLower = originUrlLower.slice(0, -1);\n }\n // extract {owner}/{repo}\n const ownerRepo = originUrlLower.replace(ghUrlRegex, '');\n // fetch canonical URL from github Web API\n const url = getCanonicalGithubOriginURL(ownerRepo);\n if (url) {\n return url;\n }\n }\n\n const ghpagesUrlRegex = /^http[s]*:\\/\\/(?[^/]+).github.io\\/(?[^/]+)\\/?.*/;\n const parsedUrl = originUrlLower.match(ghpagesUrlRegex);\n if (parsedUrl) {\n const ownerRepo = `${parsedUrl.groups.owner}/${parsedUrl.groups.repo}`;\n // fetch canonical URL from github Web API\n const url = getCanonicalGithubOriginURL(ownerRepo);\n if (url) {\n return url;\n }\n }\n\n return originUrl;\n}\n\nexport function getHumanReadableDate(data) {\n // Display iso format date string into a human readable date\n // This is expected to be used by date field in datatable listing views\n // Example: 3/24/2022, 10:31:08 AM\n const date = new Date(data);\n return date.toLocaleString();\n}\n","module.exports = function anonymous(locals, escapeFn, include, rethrow\n) {\nescapeFn = escapeFn || function (markup) {\n return markup == undefined\n ? ''\n : String(markup)\n .replace(_MATCH_HTML, encode_char);\n};\nvar _ENCODE_HTML_RULES = {\n \"&\": \"&\"\n , \"<\": \"<\"\n , \">\": \">\"\n , '\"': \""\"\n , \"'\": \"'\"\n }\n , _MATCH_HTML = /[&<>'\"]/g;\nfunction encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n};\n;\n var __output = \"\";\n function __append(s) { if (s !== undefined && s !== null) __output += s }\n with (locals || {}) {\n ; __append(\"\\n
\\n
\\n
\\n

\\n \\n

\\n
\\n
\\n
\\n
\")\n    ; __append(escapeFn( event.text ))\n    ; __append(\"
\\n \")\n ; if (event.message_source_url !== null) { \n ; __append(\"\\n

Open original message in email client

\\n \")\n ; } \n ; __append(\"\\n \")\n ; if (event.new_status !== null) { \n ; __append(\"\\n

\\n Status changed to: \")\n ; __append(escapeFn( swh.add_forge.formatRequestStatusName(event.new_status) ))\n ; __append(\"\\n

\\n \")\n ; } \n ; __append(\"\\n
\\n
\\n
\\n
\\n\")\n }\n return __output;\n\n}","module.exports = function anonymous(locals, escapeFn, include, rethrow\n) {\nescapeFn = escapeFn || function (markup) {\n return markup == undefined\n ? ''\n : String(markup)\n .replace(_MATCH_HTML, encode_char);\n};\nvar _ENCODE_HTML_RULES = {\n \"&\": \"&\"\n , \"<\": \"<\"\n , \">\": \">\"\n , '\"': \""\"\n , \"'\": \"'\"\n }\n , _MATCH_HTML = /[&<>'\"]/g;\nfunction encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n};\n;\n var __output = \"\";\n function __append(s) { if (s !== undefined && s !== null) __output += s }\n with (locals || {}) {\n ; __append(\"\\nDear forge administrator,\\n\\nThe mission of Software Heritage is to collect, preserve and share all the\\npublicly available source code (see https://www.softwareheritage.org for more\\ninformation).\\n\\nWe just received a request to add the forge hosted at \")\n ; __append(escapeFn( forgeUrl ))\n ; __append(\" to the\\nlist of software origins that are archived, and it is our understanding that you\\nare the contact person for this forge.\\n\\nIn order to archive the forge contents, we will have to periodically pull the\\npublic repositories it contains and clone them into the\\nSoftware Heritage archive.\\n\\nWould you be so kind as to reply to this message to acknowledge the reception\\nof this email and let us know if there are any special steps we should take in\\norder to properly archive the public repositories hosted on your infrastructure?\\n\\nThank you in advance for your help.\\n\\nKind regards,\\nThe Software Heritage team\\n\")\n }\n return __output;\n\n}","module.exports = function anonymous(locals, escapeFn, include, rethrow\n) {\nescapeFn = escapeFn || function (markup) {\n return markup == undefined\n ? ''\n : String(markup)\n .replace(_MATCH_HTML, encode_char);\n};\nvar _ENCODE_HTML_RULES = {\n \"&\": \"&\"\n , \"<\": \"<\"\n , \">\": \">\"\n , '\"': \""\"\n , \"'\": \"'\"\n }\n , _MATCH_HTML = /[&<>'\"]/g;\nfunction encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n};\n;\n var __output = \"\";\n function __append(s) { if (s !== undefined && s !== null) __output += s }\n with (locals || {}) {\n ; __append(\"\\n
\\n \\n \\n
\\n\")\n }\n return __output;\n\n}","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","/*! js-cookie v3.0.1 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (key, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n key = encodeURIComponent(key)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n key + '=' + converter.write(value, key) + stringifiedAttributes)\n }\n\n function get (key) {\n if (typeof document === 'undefined' || (arguments.length && !key)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var foundKey = decodeURIComponent(parts[0]);\n jar[foundKey] = converter.read(value, foundKey);\n\n if (key === foundKey) {\n break\n }\n } catch (e) {}\n }\n\n return key ? jar[key] : jar\n }\n\n return Object.create(\n {\n set: set,\n get: get,\n remove: function (key, attributes) {\n set(\n key,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport default api;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Copyright (C) 2022 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\n// bundle for add forge views\n\nexport * from './add-forge.css';\nexport * from './create-request';\nexport * from './moderation-dashboard';\nexport * from './request-dashboard';\n\nexport function formatRequestStatusName(status) {\n // Mapping to format the request status to a human readable text\n const statusLabel = {\n 'PENDING': 'Pending',\n 'WAITING_FOR_FEEDBACK': 'Waiting for feedback',\n 'FEEDBACK_TO_HANDLE': 'Feedback to handle',\n 'ACCEPTED': 'Accepted',\n 'SCHEDULED': 'Scheduled',\n 'FIRST_LISTING_DONE': 'First listing done',\n 'FIRST_ORIGIN_LOADED': 'First origin loaded',\n 'REJECTED': 'Rejected',\n 'SUSPENDED': 'Suspended',\n 'DENIED': 'Denied'\n };\n return status in statusLabel ? statusLabel[status] : status;\n}\n"],"names":["root","factory","exports","module","define","amd","self","requestBrowseTable","addForgeCheckboxId","userRequestsFilterCheckbox","userRequestsFilterCheckboxFn","onCreateRequestPageLoad","$","document","ready","submit","event","preventDefault","csrfPost","this","attr","serialize","response","handleFetchError","empty","text","removeClass","addClass","draw","json","errorData","errorMessage","status","errorMessageFromResponse","populateRequestBrowseList","on","e","settings","techNote","message","DataTable","serverSide","processing","language","swhSpinnerSrc","retrieve","searching","info","dom","ajax","Urls","add_forge_request_list_datatables","data","d","checked","prop","swh","webapp","isUserLoggedIn","undefined","user_requests_only","fnInitComplete","html","columns","name","render","getHumanReadableDate","fn","dataTable","type","row","sanitizedURL","display","meta","add_forge","formatRequestStatusName","onModerationPageLoad","populateModerationList","add_forge_now_request_dashboard","forgeRequest","onRequestDashboardLoad","requestId","populateRequestDetails","click","mailTo","mailCc","subject","emailText","w","emailTempate","forge_url","trim","replace","window","open","location","href","focus","fetch","api_1_add_forge_request_get","request","forge_type","forge_contact_name","submitter_forward_username","forge_contact_email","forge_contact_comment","val","inbound_email_address","forge_domain","populateRequestHistory","history","populateDecisionSelectOption","Response","children","remove","forEach","index","historyEvent","requestHistoryItem","append","currentStatus","nextStatuses","label","staticAsset","ok","defaultMessage","reason","JSON","parse","Object","entries","keys","_","key","asset","__STATIC__","url","headers","body","Cookies","credentials","method","Date","toLocaleString","anonymous","locals","escapeFn","include","rethrow","markup","String","_MATCH_HTML","encode_char","_ENCODE_HTML_RULES","c","__output","__append","s","actor","actor_role","date","new_status","message_source_url","forgeUrl","inputId","runtime","Op","prototype","hasOwn","hasOwnProperty","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","obj","value","defineProperty","enumerable","configurable","writable","err","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","state","GenStateSuspendedStart","arg","GenStateExecuting","Error","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","done","GenStateSuspendedYield","makeInvokeMethod","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","resolve","reject","result","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","TypeError","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","constructor","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","toString","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","assign","target","source","api","init","converter","defaultAttributes","set","attributes","expires","now","toUTCString","encodeURIComponent","decodeURIComponent","escape","stringifiedAttributes","attributeName","split","cookie","write","get","cookies","jar","parts","join","foundKey","read","withAttributes","withConverter","freeze","path","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","a","definition","o","r","statusLabel"],"sourceRoot":""} \ No newline at end of file diff --git a/static/jssources/assets/src/bundles/add_forge/add-request-history-item.ejs b/static/jssources/assets/src/bundles/add_forge/add-request-history-item.ejs index 57b43972..172554c8 100644 --- a/static/jssources/assets/src/bundles/add_forge/add-request-history-item.ejs +++ b/static/jssources/assets/src/bundles/add_forge/add-request-history-item.ejs @@ -1,31 +1,34 @@ <%# Copyright (C) 2022 The Software Heritage developers See the AUTHORS file at the top-level directory of this distribution License: GNU Affero General Public License version 3, or any later version See top-level LICENSE file for more information %>
-
+

-

-
+
-

<%= event.text %>

+
<%= event.text %>
+ <%if (event.message_source_url !== null) { %> +

Open original message in email client

+ <% } %> <%if (event.new_status !== null) { %>

Status changed to: <%= swh.add_forge.formatRequestStatusName(event.new_status) %>

<% } %>
diff --git a/static/jssources/assets/src/bundles/add_forge/request-dashboard.js b/static/jssources/assets/src/bundles/add_forge/request-dashboard.js index 7924c3e6..29d77011 100644 --- a/static/jssources/assets/src/bundles/add_forge/request-dashboard.js +++ b/static/jssources/assets/src/bundles/add_forge/request-dashboard.js @@ -1,131 +1,138 @@ /** * Copyright (C) 2022 The Software Heritage developers * See the AUTHORS file at the top-level directory of this distribution * License: GNU Affero General Public License version 3, or any later version * See top-level LICENSE file for more information */ import {handleFetchError, csrfPost, getHumanReadableDate} from 'utils/functions'; import emailTempate from './forge-admin-email.ejs'; import requestHistoryItem from './add-request-history-item.ejs'; let forgeRequest; export function onRequestDashboardLoad(requestId) { $(document).ready(() => { populateRequestDetails(requestId); $('#contactForgeAdmin').click((event) => { contactForgeAdmin(event); }); $('#updateRequestForm').submit(async function(event) { event.preventDefault(); try { const response = await csrfPost($(this).attr('action'), {'Content-Type': 'application/x-www-form-urlencoded'}, $(this).serialize()); handleFetchError(response); $('#userMessage').text('The request status has been updated '); $('#userMessage').removeClass('badge-danger'); $('#userMessage').addClass('badge-success'); populateRequestDetails(requestId); } catch (response) { $('#userMessage').text('Sorry; Updating the request failed'); $('#userMessage').removeClass('badge-success'); $('#userMessage').addClass('badge-danger'); } }); }); } async function populateRequestDetails(requestId) { try { const response = await fetch(Urls.api_1_add_forge_request_get(requestId)); handleFetchError(response); const data = await response.json(); forgeRequest = data.request; $('#requestStatus').text(swh.add_forge.formatRequestStatusName(forgeRequest.status)); $('#requestType').text(forgeRequest.forge_type); $('#requestURL').text(forgeRequest.forge_url); $('#requestContactName').text(forgeRequest.forge_contact_name); $('#requestContactConsent').text(forgeRequest.submitter_forward_username); $('#requestContactEmail').text(forgeRequest.forge_contact_email); $('#submitterMessage').text(forgeRequest.forge_contact_comment); $('#updateComment').val(''); // Setting data for the email, now adding static data $('#contactForgeAdmin').attr('emailTo', forgeRequest.forge_contact_email); - $('#contactForgeAdmin').attr('emailSubject', `[swh-add_forge_now] Request ${forgeRequest.id}`); + $('#contactForgeAdmin').attr('emailCc', forgeRequest.inbound_email_address); + $('#contactForgeAdmin').attr('emailSubject', `Software Heritage archival request for ${forgeRequest.forge_domain}`); populateRequestHistory(data.history); populateDecisionSelectOption(forgeRequest.status); - } catch (response) { - // The error message - $('#fetchError').removeClass('d-none'); - $('#requestDetails').addClass('d-none'); + } catch (e) { + if (e instanceof Response) { + // The fetch request failed (in handleFetchError), show the error message + $('#fetchError').removeClass('d-none'); + $('#requestDetails').addClass('d-none'); + } else { + // Unknown exception, pass it through + throw e; + } } } function populateRequestHistory(history) { $('#requestHistory').children().remove(); history.forEach((event, index) => { const historyEvent = requestHistoryItem({ 'event': event, 'index': index, 'getHumanReadableDate': getHumanReadableDate }); $('#requestHistory').append(historyEvent); }); } export function populateDecisionSelectOption(currentStatus) { const nextStatusesFor = { 'PENDING': ['WAITING_FOR_FEEDBACK', 'REJECTED', 'SUSPENDED'], 'WAITING_FOR_FEEDBACK': ['FEEDBACK_TO_HANDLE'], 'FEEDBACK_TO_HANDLE': [ 'WAITING_FOR_FEEDBACK', 'ACCEPTED', 'REJECTED', 'SUSPENDED' ], 'ACCEPTED': ['SCHEDULED'], 'SCHEDULED': [ 'FIRST_LISTING_DONE', 'FIRST_ORIGIN_LOADED' ], 'FIRST_LISTING_DONE': ['FIRST_ORIGIN_LOADED'], 'FIRST_ORIGIN_LOADED': [], 'REJECTED': [], 'SUSPENDED': ['PENDING'], 'DENIED': [] }; // Determine the possible next status out of the current one const nextStatuses = nextStatusesFor[currentStatus]; function addStatusOption(status, index) { // Push the next possible status options const label = swh.add_forge.formatRequestStatusName(status); $('#decisionOptions').append( `` ); } // Remove all the options and add new ones $('#decisionOptions').children().remove(); nextStatuses.forEach(addStatusOption); $('#decisionOptions').append( '' ); } function contactForgeAdmin(event) { // Open the mailclient with pre-filled text const mailTo = $('#contactForgeAdmin').attr('emailTo'); + const mailCc = $('#contactForgeAdmin').attr('emailCc'); const subject = $('#contactForgeAdmin').attr('emailSubject'); const emailText = emailTempate({'forgeUrl': forgeRequest.forge_url}).trim().replace(/\n/g, '%0D%0A'); const w = window.open('', '_blank', '', true); - w.location.href = `mailto: ${mailTo}?subject=${subject}&body=${emailText}`; + w.location.href = `mailto:${mailTo}?Cc=${mailCc}&Reply-To=${mailCc}&Subject=${subject}&body=${emailText}`; w.focus(); } diff --git a/static/jssources/jslicenses.json b/static/jssources/jslicenses.json index 228d99ce..c60a2fe1 100644 --- a/static/jssources/jslicenses.json +++ b/static/jssources/jslicenses.json @@ -1 +1 @@ -{"/static/js/add_forge.6d7376990eabad2fde82.js":[{"id":"@babel/runtime/helpers/esm/asyncToGenerator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/helpers/esm/asyncToGenerator.js"},{"id":"@babel/runtime/regenerator/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/regenerator/index.js"},{"id":"assets/src/bundles/add_forge/add-request-history-item.ejs","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/add_forge/add-request-history-item.ejs"},{"id":"assets/src/bundles/add_forge/create-request.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/add_forge/create-request.js"},{"id":"assets/src/bundles/add_forge/forge-admin-email.ejs","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/add_forge/forge-admin-email.ejs"},{"id":"assets/src/bundles/add_forge/index.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/add_forge/index.js"},{"id":"assets/src/bundles/add_forge/moderation-dashboard.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/add_forge/moderation-dashboard.js"},{"id":"assets/src/bundles/add_forge/request-dashboard.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/add_forge/request-dashboard.js"},{"id":"assets/src/utils/constants.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/constants.js"},{"id":"assets/src/utils/functions.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/functions.js"},{"id":"assets/src/utils/requests-filter-checkbox.ejs","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/requests-filter-checkbox.ejs"},{"id":"js-cookie/dist/js.cookie.mjs","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/js-cookie/LICENSE.txt"}],"src_url":"/static/jssources/js-cookie/dist/js.cookie.mjs"},{"id":"regenerator-runtime/runtime.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/regenerator-runtime/LICENSE.txt"}],"src_url":"/static/jssources/regenerator-runtime/runtime.js"}],"/static/js/admin.cb05f9f1ab8e1adcdbfb.js":[{"id":"@babel/runtime/helpers/esm/asyncToGenerator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/helpers/esm/asyncToGenerator.js"},{"id":"@babel/runtime/regenerator/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/regenerator/index.js"},{"id":"assets/src/bundles/admin/deposit.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/admin/deposit.js"},{"id":"assets/src/bundles/admin/index.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/admin/index.js"},{"id":"assets/src/bundles/admin/mailmap-form.ejs","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/admin/mailmap-form.ejs"},{"id":"assets/src/bundles/admin/mailmap.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/admin/mailmap.js"},{"id":"assets/src/bundles/admin/origin-save.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/admin/origin-save.js"},{"id":"assets/src/utils/constants.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/constants.js"},{"id":"assets/src/utils/functions.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/functions.js"},{"id":"js-cookie/dist/js.cookie.mjs","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/js-cookie/LICENSE.txt"}],"src_url":"/static/jssources/js-cookie/dist/js.cookie.mjs"},{"id":"regenerator-runtime/runtime.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/regenerator-runtime/LICENSE.txt"}],"src_url":"/static/jssources/regenerator-runtime/runtime.js"}],"/static/js/auth.7a6ba4612115126f9b59.js":[{"id":"@babel/runtime/helpers/esm/asyncToGenerator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/helpers/esm/asyncToGenerator.js"},{"id":"@babel/runtime/regenerator/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/regenerator/index.js"},{"id":"assets/src/bundles/auth/index.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/auth/index.js"},{"id":"assets/src/utils/functions.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/functions.js"},{"id":"js-cookie/dist/js.cookie.mjs","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/js-cookie/LICENSE.txt"}],"src_url":"/static/jssources/js-cookie/dist/js.cookie.mjs"},{"id":"regenerator-runtime/runtime.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/regenerator-runtime/LICENSE.txt"}],"src_url":"/static/jssources/regenerator-runtime/runtime.js"}],"/static/js/browse.dd1b3cff11e141a4fbbc.js":[{"id":"@babel/runtime/helpers/esm/asyncToGenerator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/helpers/esm/asyncToGenerator.js"},{"id":"@babel/runtime/regenerator/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/regenerator/index.js"},{"id":"assets/src/bundles/browse/browse-utils.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/browse/browse-utils.js"},{"id":"assets/src/bundles/browse/index.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/browse/index.js"},{"id":"assets/src/bundles/browse/origin-search.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/browse/origin-search.js"},{"id":"assets/src/bundles/browse/snapshot-navigation.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/browse/snapshot-navigation.js"},{"id":"assets/src/bundles/browse/swhid-utils.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/browse/swhid-utils.js"},{"id":"assets/src/thirdparty/jquery.tabSlideOut/jquery.tabSlideOut.js","licenses":[{"name":"GNU General Public License (GPL) version 3","url":"http://www.gnu.org/licenses/gpl-3.0.html","copy_url":"/static/jssources/assets/src/thirdparty/jquery.tabSlideOut/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/thirdparty/jquery.tabSlideOut/jquery.tabSlideOut.js"},{"id":"assets/src/utils/constants.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/constants.js"},{"id":"assets/src/utils/functions.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/functions.js"},{"id":"clipboard/dist/clipboard.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/clipboard/LICENSE.txt"}],"src_url":"/static/jssources/clipboard/dist/clipboard.js"},{"id":"js-cookie/dist/js.cookie.mjs","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/js-cookie/LICENSE.txt"}],"src_url":"/static/jssources/js-cookie/dist/js.cookie.mjs"},{"id":"regenerator-runtime/runtime.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/regenerator-runtime/LICENSE.txt"}],"src_url":"/static/jssources/regenerator-runtime/runtime.js"}],"/static/js/guided_tour.6fdb762b8416936b3c84.js":[{"id":"assets/src/bundles/guided_tour/index.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/guided_tour/index.js"},{"id":"assets/src/utils/scrolling.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/scrolling.js"},{"id":"intro.js/intro.module.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/intro.js/license.md"}],"src_url":"/static/jssources/intro.js/intro.module.js"}],"/static/js/origin.278a63bfc40cb4173975.js":[{"id":"@babel/runtime/helpers/esm/asyncToGenerator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/helpers/esm/asyncToGenerator.js"},{"id":"@babel/runtime/regenerator/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/regenerator/index.js"},{"id":"assets/src/bundles/origin/index.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/origin/index.js"},{"id":"assets/src/bundles/origin/utils.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/origin/utils.js"},{"id":"assets/src/bundles/origin/visits-calendar.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/origin/visits-calendar.js"},{"id":"assets/src/bundles/origin/visits-histogram.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/origin/visits-histogram.js"},{"id":"assets/src/bundles/origin/visits-reporting.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/origin/visits-reporting.js"},{"id":"hex-rgb/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/hex-rgb/license.txt"}],"src_url":"/static/jssources/hex-rgb/index.js"},{"id":"js-year-calendar/dist/js-year-calendar.js","licenses":[{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0","copy_url":"/static/jssources/js-year-calendar/LICENSE.txt"}],"src_url":"/static/jssources/js-year-calendar/dist/js-year-calendar.js"},{"id":"regenerator-runtime/runtime.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/regenerator-runtime/LICENSE.txt"}],"src_url":"/static/jssources/regenerator-runtime/runtime.js"}],"/static/js/revision.52cc3dd3b75a01c492af.js":[{"id":"@babel/runtime/helpers/esm/asyncToGenerator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/helpers/esm/asyncToGenerator.js"},{"id":"@babel/runtime/regenerator/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/regenerator/index.js"},{"id":"assets/src/bundles/revision/diff-panel.ejs","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/revision/diff-panel.ejs"},{"id":"assets/src/bundles/revision/diff-utils.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/revision/diff-utils.js"},{"id":"assets/src/bundles/revision/index.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/revision/index.js"},{"id":"assets/src/bundles/revision/log-utils.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/revision/log-utils.js"},{"id":"assets/src/utils/constants.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/constants.js"},{"id":"assets/src/utils/functions.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/functions.js"},{"id":"js-cookie/dist/js.cookie.mjs","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/js-cookie/LICENSE.txt"}],"src_url":"/static/jssources/js-cookie/dist/js.cookie.mjs"},{"id":"regenerator-runtime/runtime.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/regenerator-runtime/LICENSE.txt"}],"src_url":"/static/jssources/regenerator-runtime/runtime.js"},{"id":"waypoints/lib/jquery.waypoints.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/waypoints/licenses.txt.txt"}],"src_url":"/static/jssources/waypoints/lib/jquery.waypoints.js"}],"/static/js/save.9fc62242a6cdffdaad2c.js":[{"id":"@babel/runtime/helpers/esm/asyncToGenerator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/helpers/esm/asyncToGenerator.js"},{"id":"@babel/runtime/helpers/esm/inherits.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/helpers/esm/inherits.js"},{"id":"@babel/runtime/helpers/esm/setPrototypeOf.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/helpers/esm/setPrototypeOf.js"},{"id":"@babel/runtime/regenerator/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/regenerator/index.js"},{"id":"assets/src/bundles/save/artifact-form-row.ejs","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/save/artifact-form-row.ejs"},{"id":"assets/src/bundles/save/index.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/save/index.js"},{"id":"assets/src/utils/constants.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/constants.js"},{"id":"assets/src/utils/functions.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/functions.js"},{"id":"assets/src/utils/requests-filter-checkbox.ejs","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/requests-filter-checkbox.ejs"},{"id":"js-cookie/dist/js.cookie.mjs","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/js-cookie/LICENSE.txt"}],"src_url":"/static/jssources/js-cookie/dist/js.cookie.mjs"},{"id":"regenerator-runtime/runtime.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/regenerator-runtime/LICENSE.txt"}],"src_url":"/static/jssources/regenerator-runtime/runtime.js"}],"/static/js/vault.e2e8f042b9c742390872.js":[{"id":"@babel/runtime/helpers/esm/asyncToGenerator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/helpers/esm/asyncToGenerator.js"},{"id":"@babel/runtime/regenerator/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/regenerator/index.js"},{"id":"assets/src/bundles/vault/index.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/vault/index.js"},{"id":"assets/src/bundles/vault/vault-create-tasks.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/vault/vault-create-tasks.js"},{"id":"assets/src/bundles/vault/vault-table-row.ejs","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/vault/vault-table-row.ejs"},{"id":"assets/src/bundles/vault/vault-ui.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/vault/vault-ui.js"},{"id":"assets/src/utils/functions.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/functions.js"},{"id":"email-validator/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/email-validator/LICENSE.txt"}],"src_url":"/static/jssources/email-validator/index.js"},{"id":"js-cookie/dist/js.cookie.mjs","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/js-cookie/LICENSE.txt"}],"src_url":"/static/jssources/js-cookie/dist/js.cookie.mjs"},{"id":"regenerator-runtime/runtime.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/regenerator-runtime/LICENSE.txt"}],"src_url":"/static/jssources/regenerator-runtime/runtime.js"}],"/static/js/vendors.d43ce19d06b487934799.js":[{"id":"admin-lte/dist/js/adminlte.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/admin-lte/LICENSE.txt"}],"src_url":"/static/jssources/admin-lte/dist/js/adminlte.js"},{"id":"assets/src/bundles/vendors/elementsfrompoint-polyfill.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/vendors/elementsfrompoint-polyfill.js"},{"id":"assets/src/bundles/vendors/index.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/vendors/index.js"},{"id":"bootstrap/js/dist/alert.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/bootstrap/LICENSE.txt"}],"src_url":"/static/jssources/bootstrap/js/dist/alert.js"},{"id":"bootstrap/js/dist/button.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/bootstrap/LICENSE.txt"}],"src_url":"/static/jssources/bootstrap/js/dist/button.js"},{"id":"bootstrap/js/dist/carousel.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/bootstrap/LICENSE.txt"}],"src_url":"/static/jssources/bootstrap/js/dist/carousel.js"},{"id":"bootstrap/js/dist/collapse.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/bootstrap/LICENSE.txt"}],"src_url":"/static/jssources/bootstrap/js/dist/collapse.js"},{"id":"bootstrap/js/dist/dropdown.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/bootstrap/LICENSE.txt"}],"src_url":"/static/jssources/bootstrap/js/dist/dropdown.js"},{"id":"bootstrap/js/dist/modal.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/bootstrap/LICENSE.txt"}],"src_url":"/static/jssources/bootstrap/js/dist/modal.js"},{"id":"bootstrap/js/dist/popover.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/bootstrap/LICENSE.txt"}],"src_url":"/static/jssources/bootstrap/js/dist/popover.js"},{"id":"bootstrap/js/dist/scrollspy.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/bootstrap/LICENSE.txt"}],"src_url":"/static/jssources/bootstrap/js/dist/scrollspy.js"},{"id":"bootstrap/js/dist/tab.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/bootstrap/LICENSE.txt"}],"src_url":"/static/jssources/bootstrap/js/dist/tab.js"},{"id":"bootstrap/js/dist/tooltip.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/bootstrap/LICENSE.txt"}],"src_url":"/static/jssources/bootstrap/js/dist/tooltip.js"},{"id":"bootstrap/js/dist/util.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/bootstrap/LICENSE.txt"}],"src_url":"/static/jssources/bootstrap/js/dist/util.js"},{"id":"chosen-js/chosen.jquery.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/chosen-js/LICENSE.md"}],"src_url":"/static/jssources/chosen-js/chosen.jquery.js"},{"id":"core-js/internals/a-callable.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/a-callable.js"},{"id":"core-js/internals/a-constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/a-constructor.js"},{"id":"core-js/internals/a-possible-prototype.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/a-possible-prototype.js"},{"id":"core-js/internals/add-to-unscopables.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/add-to-unscopables.js"},{"id":"core-js/internals/advance-string-index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/advance-string-index.js"},{"id":"core-js/internals/an-instance.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/an-instance.js"},{"id":"core-js/internals/an-object.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/an-object.js"},{"id":"core-js/internals/array-buffer-native.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-buffer-native.js"},{"id":"core-js/internals/array-buffer-non-extensible.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-buffer-non-extensible.js"},{"id":"core-js/internals/array-buffer-view-core.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-buffer-view-core.js"},{"id":"core-js/internals/array-buffer.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-buffer.js"},{"id":"core-js/internals/array-copy-within.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-copy-within.js"},{"id":"core-js/internals/array-fill.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-fill.js"},{"id":"core-js/internals/array-for-each.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-for-each.js"},{"id":"core-js/internals/array-from-constructor-and-list.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-from-constructor-and-list.js"},{"id":"core-js/internals/array-from.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-from.js"},{"id":"core-js/internals/array-includes.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-includes.js"},{"id":"core-js/internals/array-iteration.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-iteration.js"},{"id":"core-js/internals/array-last-index-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-last-index-of.js"},{"id":"core-js/internals/array-method-has-species-support.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-method-has-species-support.js"},{"id":"core-js/internals/array-method-is-strict.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-method-is-strict.js"},{"id":"core-js/internals/array-reduce.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-reduce.js"},{"id":"core-js/internals/array-slice-simple.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-slice-simple.js"},{"id":"core-js/internals/array-slice.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-slice.js"},{"id":"core-js/internals/array-sort.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-sort.js"},{"id":"core-js/internals/array-species-constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-species-constructor.js"},{"id":"core-js/internals/array-species-create.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-species-create.js"},{"id":"core-js/internals/base64-map.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/base64-map.js"},{"id":"core-js/internals/call-with-safe-iteration-closing.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/call-with-safe-iteration-closing.js"},{"id":"core-js/internals/check-correctness-of-iteration.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/check-correctness-of-iteration.js"},{"id":"core-js/internals/classof-raw.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/classof-raw.js"},{"id":"core-js/internals/classof.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/classof.js"},{"id":"core-js/internals/clear-error-stack.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/clear-error-stack.js"},{"id":"core-js/internals/collection-strong.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/collection-strong.js"},{"id":"core-js/internals/collection-weak.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/collection-weak.js"},{"id":"core-js/internals/collection.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/collection.js"},{"id":"core-js/internals/copy-constructor-properties.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/copy-constructor-properties.js"},{"id":"core-js/internals/correct-is-regexp-logic.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/correct-is-regexp-logic.js"},{"id":"core-js/internals/correct-prototype-getter.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/correct-prototype-getter.js"},{"id":"core-js/internals/create-html.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/create-html.js"},{"id":"core-js/internals/create-iterator-constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/create-iterator-constructor.js"},{"id":"core-js/internals/create-non-enumerable-property.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/create-non-enumerable-property.js"},{"id":"core-js/internals/create-property-descriptor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/create-property-descriptor.js"},{"id":"core-js/internals/create-property.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/create-property.js"},{"id":"core-js/internals/date-to-iso-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/date-to-iso-string.js"},{"id":"core-js/internals/date-to-primitive.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/date-to-primitive.js"},{"id":"core-js/internals/define-built-in-accessor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/define-built-in-accessor.js"},{"id":"core-js/internals/define-built-in.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/define-built-in.js"},{"id":"core-js/internals/define-built-ins.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/define-built-ins.js"},{"id":"core-js/internals/define-iterator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/define-iterator.js"},{"id":"core-js/internals/define-well-known-symbol.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/define-well-known-symbol.js"},{"id":"core-js/internals/descriptors.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/descriptors.js"},{"id":"core-js/internals/document-create-element.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/document-create-element.js"},{"id":"core-js/internals/dom-exception-constants.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/dom-exception-constants.js"},{"id":"core-js/internals/dom-iterables.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/dom-iterables.js"},{"id":"core-js/internals/dom-token-list-prototype.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/dom-token-list-prototype.js"},{"id":"core-js/internals/engine-ff-version.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/engine-ff-version.js"},{"id":"core-js/internals/engine-is-browser.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/engine-is-browser.js"},{"id":"core-js/internals/engine-is-ie-or-edge.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/engine-is-ie-or-edge.js"},{"id":"core-js/internals/engine-is-ios-pebble.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/engine-is-ios-pebble.js"},{"id":"core-js/internals/engine-is-ios.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/engine-is-ios.js"},{"id":"core-js/internals/engine-is-node.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/engine-is-node.js"},{"id":"core-js/internals/engine-is-webos-webkit.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/engine-is-webos-webkit.js"},{"id":"core-js/internals/engine-user-agent.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/engine-user-agent.js"},{"id":"core-js/internals/engine-v8-version.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/engine-v8-version.js"},{"id":"core-js/internals/engine-webkit-version.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/engine-webkit-version.js"},{"id":"core-js/internals/enum-bug-keys.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/enum-bug-keys.js"},{"id":"core-js/internals/error-stack-installable.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/error-stack-installable.js"},{"id":"core-js/internals/error-to-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/error-to-string.js"},{"id":"core-js/internals/export.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/export.js"},{"id":"core-js/internals/fails.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/fails.js"},{"id":"core-js/internals/fix-regexp-well-known-symbol-logic.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/fix-regexp-well-known-symbol-logic.js"},{"id":"core-js/internals/flatten-into-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/flatten-into-array.js"},{"id":"core-js/internals/freezing.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/freezing.js"},{"id":"core-js/internals/function-apply.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/function-apply.js"},{"id":"core-js/internals/function-bind-context.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/function-bind-context.js"},{"id":"core-js/internals/function-bind-native.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/function-bind-native.js"},{"id":"core-js/internals/function-bind.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/function-bind.js"},{"id":"core-js/internals/function-call.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/function-call.js"},{"id":"core-js/internals/function-name.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/function-name.js"},{"id":"core-js/internals/function-uncurry-this.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/function-uncurry-this.js"},{"id":"core-js/internals/get-built-in.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/get-built-in.js"},{"id":"core-js/internals/get-iterator-method.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/get-iterator-method.js"},{"id":"core-js/internals/get-iterator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/get-iterator.js"},{"id":"core-js/internals/get-method.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/get-method.js"},{"id":"core-js/internals/get-substitution.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/get-substitution.js"},{"id":"core-js/internals/global.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/global.js"},{"id":"core-js/internals/has-own-property.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/has-own-property.js"},{"id":"core-js/internals/hidden-keys.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/hidden-keys.js"},{"id":"core-js/internals/host-report-errors.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/host-report-errors.js"},{"id":"core-js/internals/html.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/html.js"},{"id":"core-js/internals/ie8-dom-define.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/ie8-dom-define.js"},{"id":"core-js/internals/ieee754.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/ieee754.js"},{"id":"core-js/internals/indexed-object.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/indexed-object.js"},{"id":"core-js/internals/inherit-if-required.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/inherit-if-required.js"},{"id":"core-js/internals/inspect-source.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/inspect-source.js"},{"id":"core-js/internals/install-error-cause.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/install-error-cause.js"},{"id":"core-js/internals/internal-metadata.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/internal-metadata.js"},{"id":"core-js/internals/internal-state.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/internal-state.js"},{"id":"core-js/internals/is-array-iterator-method.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/is-array-iterator-method.js"},{"id":"core-js/internals/is-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/is-array.js"},{"id":"core-js/internals/is-callable.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/is-callable.js"},{"id":"core-js/internals/is-constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/is-constructor.js"},{"id":"core-js/internals/is-data-descriptor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/is-data-descriptor.js"},{"id":"core-js/internals/is-forced.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/is-forced.js"},{"id":"core-js/internals/is-integral-number.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/is-integral-number.js"},{"id":"core-js/internals/is-object.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/is-object.js"},{"id":"core-js/internals/is-pure.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/is-pure.js"},{"id":"core-js/internals/is-regexp.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/is-regexp.js"},{"id":"core-js/internals/is-symbol.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/is-symbol.js"},{"id":"core-js/internals/iterate.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/iterate.js"},{"id":"core-js/internals/iterator-close.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/iterator-close.js"},{"id":"core-js/internals/iterators-core.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/iterators-core.js"},{"id":"core-js/internals/iterators.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/iterators.js"},{"id":"core-js/internals/length-of-array-like.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/length-of-array-like.js"},{"id":"core-js/internals/make-built-in.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/make-built-in.js"},{"id":"core-js/internals/math-expm1.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/math-expm1.js"},{"id":"core-js/internals/math-fround.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/math-fround.js"},{"id":"core-js/internals/math-log10.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/math-log10.js"},{"id":"core-js/internals/math-log1p.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/math-log1p.js"},{"id":"core-js/internals/math-sign.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/math-sign.js"},{"id":"core-js/internals/microtask.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/microtask.js"},{"id":"core-js/internals/native-symbol-registry.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/native-symbol-registry.js"},{"id":"core-js/internals/native-symbol.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/native-symbol.js"},{"id":"core-js/internals/native-url.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/native-url.js"},{"id":"core-js/internals/native-weak-map.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/native-weak-map.js"},{"id":"core-js/internals/new-promise-capability.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/new-promise-capability.js"},{"id":"core-js/internals/normalize-string-argument.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/normalize-string-argument.js"},{"id":"core-js/internals/not-a-regexp.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/not-a-regexp.js"},{"id":"core-js/internals/number-is-finite.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/number-is-finite.js"},{"id":"core-js/internals/number-parse-float.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/number-parse-float.js"},{"id":"core-js/internals/number-parse-int.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/number-parse-int.js"},{"id":"core-js/internals/object-assign.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-assign.js"},{"id":"core-js/internals/object-create.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-create.js"},{"id":"core-js/internals/object-define-properties.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-define-properties.js"},{"id":"core-js/internals/object-define-property.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-define-property.js"},{"id":"core-js/internals/object-get-own-property-descriptor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-get-own-property-descriptor.js"},{"id":"core-js/internals/object-get-own-property-names-external.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-get-own-property-names-external.js"},{"id":"core-js/internals/object-get-own-property-names.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-get-own-property-names.js"},{"id":"core-js/internals/object-get-own-property-symbols.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-get-own-property-symbols.js"},{"id":"core-js/internals/object-get-prototype-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-get-prototype-of.js"},{"id":"core-js/internals/object-is-extensible.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-is-extensible.js"},{"id":"core-js/internals/object-is-prototype-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-is-prototype-of.js"},{"id":"core-js/internals/object-keys-internal.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-keys-internal.js"},{"id":"core-js/internals/object-keys.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-keys.js"},{"id":"core-js/internals/object-property-is-enumerable.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-property-is-enumerable.js"},{"id":"core-js/internals/object-prototype-accessors-forced.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-prototype-accessors-forced.js"},{"id":"core-js/internals/object-set-prototype-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-set-prototype-of.js"},{"id":"core-js/internals/object-to-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-to-array.js"},{"id":"core-js/internals/object-to-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-to-string.js"},{"id":"core-js/internals/ordinary-to-primitive.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/ordinary-to-primitive.js"},{"id":"core-js/internals/own-keys.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/own-keys.js"},{"id":"core-js/internals/path.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/path.js"},{"id":"core-js/internals/perform.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/perform.js"},{"id":"core-js/internals/promise-constructor-detection.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/promise-constructor-detection.js"},{"id":"core-js/internals/promise-native-constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/promise-native-constructor.js"},{"id":"core-js/internals/promise-resolve.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/promise-resolve.js"},{"id":"core-js/internals/promise-statics-incorrect-iteration.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/promise-statics-incorrect-iteration.js"},{"id":"core-js/internals/proxy-accessor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/proxy-accessor.js"},{"id":"core-js/internals/queue.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/queue.js"},{"id":"core-js/internals/regexp-exec-abstract.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/regexp-exec-abstract.js"},{"id":"core-js/internals/regexp-exec.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/regexp-exec.js"},{"id":"core-js/internals/regexp-flags.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/regexp-flags.js"},{"id":"core-js/internals/regexp-get-flags.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/regexp-get-flags.js"},{"id":"core-js/internals/regexp-sticky-helpers.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/regexp-sticky-helpers.js"},{"id":"core-js/internals/regexp-unsupported-dot-all.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/regexp-unsupported-dot-all.js"},{"id":"core-js/internals/regexp-unsupported-ncg.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/regexp-unsupported-ncg.js"},{"id":"core-js/internals/require-object-coercible.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/require-object-coercible.js"},{"id":"core-js/internals/same-value.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/same-value.js"},{"id":"core-js/internals/schedulers-fix.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/schedulers-fix.js"},{"id":"core-js/internals/set-global.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/set-global.js"},{"id":"core-js/internals/set-species.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/set-species.js"},{"id":"core-js/internals/set-to-string-tag.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/set-to-string-tag.js"},{"id":"core-js/internals/shared-key.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/shared-key.js"},{"id":"core-js/internals/shared-store.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/shared-store.js"},{"id":"core-js/internals/shared.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/shared.js"},{"id":"core-js/internals/species-constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/species-constructor.js"},{"id":"core-js/internals/string-html-forced.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/string-html-forced.js"},{"id":"core-js/internals/string-multibyte.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/string-multibyte.js"},{"id":"core-js/internals/string-pad-webkit-bug.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/string-pad-webkit-bug.js"},{"id":"core-js/internals/string-pad.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/string-pad.js"},{"id":"core-js/internals/string-punycode-to-ascii.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/string-punycode-to-ascii.js"},{"id":"core-js/internals/string-repeat.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/string-repeat.js"},{"id":"core-js/internals/string-trim-end.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/string-trim-end.js"},{"id":"core-js/internals/string-trim-forced.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/string-trim-forced.js"},{"id":"core-js/internals/string-trim-start.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/string-trim-start.js"},{"id":"core-js/internals/string-trim.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/string-trim.js"},{"id":"core-js/internals/symbol-define-to-primitive.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/symbol-define-to-primitive.js"},{"id":"core-js/internals/task.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/task.js"},{"id":"core-js/internals/this-number-value.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/this-number-value.js"},{"id":"core-js/internals/to-absolute-index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-absolute-index.js"},{"id":"core-js/internals/to-index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-index.js"},{"id":"core-js/internals/to-indexed-object.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-indexed-object.js"},{"id":"core-js/internals/to-integer-or-infinity.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-integer-or-infinity.js"},{"id":"core-js/internals/to-length.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-length.js"},{"id":"core-js/internals/to-object.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-object.js"},{"id":"core-js/internals/to-offset.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-offset.js"},{"id":"core-js/internals/to-positive-integer.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-positive-integer.js"},{"id":"core-js/internals/to-primitive.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-primitive.js"},{"id":"core-js/internals/to-property-key.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-property-key.js"},{"id":"core-js/internals/to-string-tag-support.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-string-tag-support.js"},{"id":"core-js/internals/to-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-string.js"},{"id":"core-js/internals/try-node-require.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/try-node-require.js"},{"id":"core-js/internals/try-to-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/try-to-string.js"},{"id":"core-js/internals/typed-array-constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/typed-array-constructor.js"},{"id":"core-js/internals/typed-array-constructors-require-wrappers.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/typed-array-constructors-require-wrappers.js"},{"id":"core-js/internals/typed-array-from-species-and-list.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/typed-array-from-species-and-list.js"},{"id":"core-js/internals/typed-array-from.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/typed-array-from.js"},{"id":"core-js/internals/typed-array-species-constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/typed-array-species-constructor.js"},{"id":"core-js/internals/uid.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/uid.js"},{"id":"core-js/internals/use-symbol-as-uid.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/use-symbol-as-uid.js"},{"id":"core-js/internals/v8-prototype-define-bug.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/v8-prototype-define-bug.js"},{"id":"core-js/internals/validate-arguments-length.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/validate-arguments-length.js"},{"id":"core-js/internals/well-known-symbol-wrapped.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/well-known-symbol-wrapped.js"},{"id":"core-js/internals/well-known-symbol.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/well-known-symbol.js"},{"id":"core-js/internals/whitespaces.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/whitespaces.js"},{"id":"core-js/internals/wrap-error-constructor-with-cause.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/wrap-error-constructor-with-cause.js"},{"id":"core-js/modules/es.aggregate-error.cause.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.aggregate-error.cause.js"},{"id":"core-js/modules/es.aggregate-error.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.aggregate-error.constructor.js"},{"id":"core-js/modules/es.aggregate-error.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.aggregate-error.js"},{"id":"core-js/modules/es.array-buffer.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array-buffer.constructor.js"},{"id":"core-js/modules/es.array-buffer.is-view.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array-buffer.is-view.js"},{"id":"core-js/modules/es.array-buffer.slice.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array-buffer.slice.js"},{"id":"core-js/modules/es.array.at.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.at.js"},{"id":"core-js/modules/es.array.concat.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.concat.js"},{"id":"core-js/modules/es.array.copy-within.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.copy-within.js"},{"id":"core-js/modules/es.array.every.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.every.js"},{"id":"core-js/modules/es.array.fill.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.fill.js"},{"id":"core-js/modules/es.array.filter.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.filter.js"},{"id":"core-js/modules/es.array.find-index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.find-index.js"},{"id":"core-js/modules/es.array.find.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.find.js"},{"id":"core-js/modules/es.array.flat-map.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.flat-map.js"},{"id":"core-js/modules/es.array.flat.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.flat.js"},{"id":"core-js/modules/es.array.for-each.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.for-each.js"},{"id":"core-js/modules/es.array.from.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.from.js"},{"id":"core-js/modules/es.array.includes.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.includes.js"},{"id":"core-js/modules/es.array.index-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.index-of.js"},{"id":"core-js/modules/es.array.is-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.is-array.js"},{"id":"core-js/modules/es.array.iterator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.iterator.js"},{"id":"core-js/modules/es.array.join.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.join.js"},{"id":"core-js/modules/es.array.last-index-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.last-index-of.js"},{"id":"core-js/modules/es.array.map.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.map.js"},{"id":"core-js/modules/es.array.of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.of.js"},{"id":"core-js/modules/es.array.reduce-right.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.reduce-right.js"},{"id":"core-js/modules/es.array.reduce.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.reduce.js"},{"id":"core-js/modules/es.array.reverse.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.reverse.js"},{"id":"core-js/modules/es.array.slice.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.slice.js"},{"id":"core-js/modules/es.array.some.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.some.js"},{"id":"core-js/modules/es.array.sort.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.sort.js"},{"id":"core-js/modules/es.array.species.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.species.js"},{"id":"core-js/modules/es.array.splice.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.splice.js"},{"id":"core-js/modules/es.array.unscopables.flat-map.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.unscopables.flat-map.js"},{"id":"core-js/modules/es.array.unscopables.flat.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.unscopables.flat.js"},{"id":"core-js/modules/es.data-view.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.data-view.constructor.js"},{"id":"core-js/modules/es.data-view.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.data-view.js"},{"id":"core-js/modules/es.date.get-year.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.date.get-year.js"},{"id":"core-js/modules/es.date.now.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.date.now.js"},{"id":"core-js/modules/es.date.set-year.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.date.set-year.js"},{"id":"core-js/modules/es.date.to-gmt-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.date.to-gmt-string.js"},{"id":"core-js/modules/es.date.to-iso-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.date.to-iso-string.js"},{"id":"core-js/modules/es.date.to-json.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.date.to-json.js"},{"id":"core-js/modules/es.date.to-primitive.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.date.to-primitive.js"},{"id":"core-js/modules/es.date.to-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.date.to-string.js"},{"id":"core-js/modules/es.error.cause.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.error.cause.js"},{"id":"core-js/modules/es.error.to-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.error.to-string.js"},{"id":"core-js/modules/es.escape.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.escape.js"},{"id":"core-js/modules/es.function.bind.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.function.bind.js"},{"id":"core-js/modules/es.function.has-instance.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.function.has-instance.js"},{"id":"core-js/modules/es.function.name.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.function.name.js"},{"id":"core-js/modules/es.global-this.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.global-this.js"},{"id":"core-js/modules/es.json.stringify.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.json.stringify.js"},{"id":"core-js/modules/es.json.to-string-tag.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.json.to-string-tag.js"},{"id":"core-js/modules/es.map.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.map.constructor.js"},{"id":"core-js/modules/es.map.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.map.js"},{"id":"core-js/modules/es.math.acosh.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.acosh.js"},{"id":"core-js/modules/es.math.asinh.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.asinh.js"},{"id":"core-js/modules/es.math.atanh.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.atanh.js"},{"id":"core-js/modules/es.math.cbrt.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.cbrt.js"},{"id":"core-js/modules/es.math.clz32.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.clz32.js"},{"id":"core-js/modules/es.math.cosh.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.cosh.js"},{"id":"core-js/modules/es.math.expm1.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.expm1.js"},{"id":"core-js/modules/es.math.fround.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.fround.js"},{"id":"core-js/modules/es.math.hypot.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.hypot.js"},{"id":"core-js/modules/es.math.imul.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.imul.js"},{"id":"core-js/modules/es.math.log10.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.log10.js"},{"id":"core-js/modules/es.math.log1p.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.log1p.js"},{"id":"core-js/modules/es.math.log2.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.log2.js"},{"id":"core-js/modules/es.math.sign.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.sign.js"},{"id":"core-js/modules/es.math.sinh.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.sinh.js"},{"id":"core-js/modules/es.math.tanh.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.tanh.js"},{"id":"core-js/modules/es.math.to-string-tag.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.to-string-tag.js"},{"id":"core-js/modules/es.math.trunc.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.trunc.js"},{"id":"core-js/modules/es.number.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.constructor.js"},{"id":"core-js/modules/es.number.epsilon.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.epsilon.js"},{"id":"core-js/modules/es.number.is-finite.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.is-finite.js"},{"id":"core-js/modules/es.number.is-integer.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.is-integer.js"},{"id":"core-js/modules/es.number.is-nan.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.is-nan.js"},{"id":"core-js/modules/es.number.is-safe-integer.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.is-safe-integer.js"},{"id":"core-js/modules/es.number.max-safe-integer.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.max-safe-integer.js"},{"id":"core-js/modules/es.number.min-safe-integer.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.min-safe-integer.js"},{"id":"core-js/modules/es.number.parse-float.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.parse-float.js"},{"id":"core-js/modules/es.number.parse-int.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.parse-int.js"},{"id":"core-js/modules/es.number.to-exponential.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.to-exponential.js"},{"id":"core-js/modules/es.number.to-fixed.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.to-fixed.js"},{"id":"core-js/modules/es.number.to-precision.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.to-precision.js"},{"id":"core-js/modules/es.object.assign.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.assign.js"},{"id":"core-js/modules/es.object.create.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.create.js"},{"id":"core-js/modules/es.object.define-getter.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.define-getter.js"},{"id":"core-js/modules/es.object.define-properties.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.define-properties.js"},{"id":"core-js/modules/es.object.define-property.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.define-property.js"},{"id":"core-js/modules/es.object.define-setter.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.define-setter.js"},{"id":"core-js/modules/es.object.entries.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.entries.js"},{"id":"core-js/modules/es.object.freeze.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.freeze.js"},{"id":"core-js/modules/es.object.from-entries.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.from-entries.js"},{"id":"core-js/modules/es.object.get-own-property-descriptor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.get-own-property-descriptor.js"},{"id":"core-js/modules/es.object.get-own-property-descriptors.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.get-own-property-descriptors.js"},{"id":"core-js/modules/es.object.get-own-property-names.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.get-own-property-names.js"},{"id":"core-js/modules/es.object.get-own-property-symbols.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.get-own-property-symbols.js"},{"id":"core-js/modules/es.object.get-prototype-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.get-prototype-of.js"},{"id":"core-js/modules/es.object.has-own.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.has-own.js"},{"id":"core-js/modules/es.object.is-extensible.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.is-extensible.js"},{"id":"core-js/modules/es.object.is-frozen.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.is-frozen.js"},{"id":"core-js/modules/es.object.is-sealed.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.is-sealed.js"},{"id":"core-js/modules/es.object.is.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.is.js"},{"id":"core-js/modules/es.object.keys.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.keys.js"},{"id":"core-js/modules/es.object.lookup-getter.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.lookup-getter.js"},{"id":"core-js/modules/es.object.lookup-setter.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.lookup-setter.js"},{"id":"core-js/modules/es.object.prevent-extensions.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.prevent-extensions.js"},{"id":"core-js/modules/es.object.seal.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.seal.js"},{"id":"core-js/modules/es.object.set-prototype-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.set-prototype-of.js"},{"id":"core-js/modules/es.object.to-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.to-string.js"},{"id":"core-js/modules/es.object.values.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.values.js"},{"id":"core-js/modules/es.parse-float.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.parse-float.js"},{"id":"core-js/modules/es.parse-int.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.parse-int.js"},{"id":"core-js/modules/es.promise.all-settled.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.promise.all-settled.js"},{"id":"core-js/modules/es.promise.all.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.promise.all.js"},{"id":"core-js/modules/es.promise.any.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.promise.any.js"},{"id":"core-js/modules/es.promise.catch.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.promise.catch.js"},{"id":"core-js/modules/es.promise.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.promise.constructor.js"},{"id":"core-js/modules/es.promise.finally.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.promise.finally.js"},{"id":"core-js/modules/es.promise.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.promise.js"},{"id":"core-js/modules/es.promise.race.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.promise.race.js"},{"id":"core-js/modules/es.promise.reject.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.promise.reject.js"},{"id":"core-js/modules/es.promise.resolve.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.promise.resolve.js"},{"id":"core-js/modules/es.reflect.apply.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.apply.js"},{"id":"core-js/modules/es.reflect.construct.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.construct.js"},{"id":"core-js/modules/es.reflect.define-property.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.define-property.js"},{"id":"core-js/modules/es.reflect.delete-property.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.delete-property.js"},{"id":"core-js/modules/es.reflect.get-own-property-descriptor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.get-own-property-descriptor.js"},{"id":"core-js/modules/es.reflect.get-prototype-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.get-prototype-of.js"},{"id":"core-js/modules/es.reflect.get.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.get.js"},{"id":"core-js/modules/es.reflect.has.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.has.js"},{"id":"core-js/modules/es.reflect.is-extensible.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.is-extensible.js"},{"id":"core-js/modules/es.reflect.own-keys.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.own-keys.js"},{"id":"core-js/modules/es.reflect.prevent-extensions.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.prevent-extensions.js"},{"id":"core-js/modules/es.reflect.set-prototype-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.set-prototype-of.js"},{"id":"core-js/modules/es.reflect.set.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.set.js"},{"id":"core-js/modules/es.reflect.to-string-tag.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.to-string-tag.js"},{"id":"core-js/modules/es.regexp.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.regexp.constructor.js"},{"id":"core-js/modules/es.regexp.dot-all.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.regexp.dot-all.js"},{"id":"core-js/modules/es.regexp.exec.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.regexp.exec.js"},{"id":"core-js/modules/es.regexp.flags.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.regexp.flags.js"},{"id":"core-js/modules/es.regexp.sticky.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.regexp.sticky.js"},{"id":"core-js/modules/es.regexp.test.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.regexp.test.js"},{"id":"core-js/modules/es.regexp.to-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.regexp.to-string.js"},{"id":"core-js/modules/es.set.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.set.constructor.js"},{"id":"core-js/modules/es.set.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.set.js"},{"id":"core-js/modules/es.string.anchor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.anchor.js"},{"id":"core-js/modules/es.string.at-alternative.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.at-alternative.js"},{"id":"core-js/modules/es.string.big.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.big.js"},{"id":"core-js/modules/es.string.blink.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.blink.js"},{"id":"core-js/modules/es.string.bold.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.bold.js"},{"id":"core-js/modules/es.string.code-point-at.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.code-point-at.js"},{"id":"core-js/modules/es.string.ends-with.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.ends-with.js"},{"id":"core-js/modules/es.string.fixed.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.fixed.js"},{"id":"core-js/modules/es.string.fontcolor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.fontcolor.js"},{"id":"core-js/modules/es.string.fontsize.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.fontsize.js"},{"id":"core-js/modules/es.string.from-code-point.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.from-code-point.js"},{"id":"core-js/modules/es.string.includes.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.includes.js"},{"id":"core-js/modules/es.string.italics.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.italics.js"},{"id":"core-js/modules/es.string.iterator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.iterator.js"},{"id":"core-js/modules/es.string.link.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.link.js"},{"id":"core-js/modules/es.string.match-all.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.match-all.js"},{"id":"core-js/modules/es.string.match.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.match.js"},{"id":"core-js/modules/es.string.pad-end.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.pad-end.js"},{"id":"core-js/modules/es.string.pad-start.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.pad-start.js"},{"id":"core-js/modules/es.string.raw.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.raw.js"},{"id":"core-js/modules/es.string.repeat.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.repeat.js"},{"id":"core-js/modules/es.string.replace-all.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.replace-all.js"},{"id":"core-js/modules/es.string.replace.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.replace.js"},{"id":"core-js/modules/es.string.search.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.search.js"},{"id":"core-js/modules/es.string.small.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.small.js"},{"id":"core-js/modules/es.string.split.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.split.js"},{"id":"core-js/modules/es.string.starts-with.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.starts-with.js"},{"id":"core-js/modules/es.string.strike.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.strike.js"},{"id":"core-js/modules/es.string.sub.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.sub.js"},{"id":"core-js/modules/es.string.substr.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.substr.js"},{"id":"core-js/modules/es.string.sup.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.sup.js"},{"id":"core-js/modules/es.string.trim-end.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.trim-end.js"},{"id":"core-js/modules/es.string.trim-left.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.trim-left.js"},{"id":"core-js/modules/es.string.trim-right.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.trim-right.js"},{"id":"core-js/modules/es.string.trim-start.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.trim-start.js"},{"id":"core-js/modules/es.string.trim.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.trim.js"},{"id":"core-js/modules/es.symbol.async-iterator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.async-iterator.js"},{"id":"core-js/modules/es.symbol.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.constructor.js"},{"id":"core-js/modules/es.symbol.description.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.description.js"},{"id":"core-js/modules/es.symbol.for.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.for.js"},{"id":"core-js/modules/es.symbol.has-instance.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.has-instance.js"},{"id":"core-js/modules/es.symbol.is-concat-spreadable.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.is-concat-spreadable.js"},{"id":"core-js/modules/es.symbol.iterator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.iterator.js"},{"id":"core-js/modules/es.symbol.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.js"},{"id":"core-js/modules/es.symbol.key-for.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.key-for.js"},{"id":"core-js/modules/es.symbol.match-all.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.match-all.js"},{"id":"core-js/modules/es.symbol.match.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.match.js"},{"id":"core-js/modules/es.symbol.replace.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.replace.js"},{"id":"core-js/modules/es.symbol.search.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.search.js"},{"id":"core-js/modules/es.symbol.species.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.species.js"},{"id":"core-js/modules/es.symbol.split.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.split.js"},{"id":"core-js/modules/es.symbol.to-primitive.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.to-primitive.js"},{"id":"core-js/modules/es.symbol.to-string-tag.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.to-string-tag.js"},{"id":"core-js/modules/es.symbol.unscopables.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.unscopables.js"},{"id":"core-js/modules/es.typed-array.at.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.at.js"},{"id":"core-js/modules/es.typed-array.copy-within.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.copy-within.js"},{"id":"core-js/modules/es.typed-array.every.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.every.js"},{"id":"core-js/modules/es.typed-array.fill.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.fill.js"},{"id":"core-js/modules/es.typed-array.filter.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.filter.js"},{"id":"core-js/modules/es.typed-array.find-index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.find-index.js"},{"id":"core-js/modules/es.typed-array.find.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.find.js"},{"id":"core-js/modules/es.typed-array.float32-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.float32-array.js"},{"id":"core-js/modules/es.typed-array.float64-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.float64-array.js"},{"id":"core-js/modules/es.typed-array.for-each.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.for-each.js"},{"id":"core-js/modules/es.typed-array.from.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.from.js"},{"id":"core-js/modules/es.typed-array.includes.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.includes.js"},{"id":"core-js/modules/es.typed-array.index-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.index-of.js"},{"id":"core-js/modules/es.typed-array.int16-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.int16-array.js"},{"id":"core-js/modules/es.typed-array.int32-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.int32-array.js"},{"id":"core-js/modules/es.typed-array.int8-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.int8-array.js"},{"id":"core-js/modules/es.typed-array.iterator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.iterator.js"},{"id":"core-js/modules/es.typed-array.join.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.join.js"},{"id":"core-js/modules/es.typed-array.last-index-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.last-index-of.js"},{"id":"core-js/modules/es.typed-array.map.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.map.js"},{"id":"core-js/modules/es.typed-array.of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.of.js"},{"id":"core-js/modules/es.typed-array.reduce-right.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.reduce-right.js"},{"id":"core-js/modules/es.typed-array.reduce.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.reduce.js"},{"id":"core-js/modules/es.typed-array.reverse.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.reverse.js"},{"id":"core-js/modules/es.typed-array.set.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.set.js"},{"id":"core-js/modules/es.typed-array.slice.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.slice.js"},{"id":"core-js/modules/es.typed-array.some.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.some.js"},{"id":"core-js/modules/es.typed-array.sort.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.sort.js"},{"id":"core-js/modules/es.typed-array.subarray.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.subarray.js"},{"id":"core-js/modules/es.typed-array.to-locale-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.to-locale-string.js"},{"id":"core-js/modules/es.typed-array.to-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.to-string.js"},{"id":"core-js/modules/es.typed-array.uint16-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.uint16-array.js"},{"id":"core-js/modules/es.typed-array.uint32-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.uint32-array.js"},{"id":"core-js/modules/es.typed-array.uint8-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.uint8-array.js"},{"id":"core-js/modules/es.typed-array.uint8-clamped-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.uint8-clamped-array.js"},{"id":"core-js/modules/es.unescape.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.unescape.js"},{"id":"core-js/modules/es.weak-map.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.weak-map.constructor.js"},{"id":"core-js/modules/es.weak-map.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.weak-map.js"},{"id":"core-js/modules/es.weak-set.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.weak-set.constructor.js"},{"id":"core-js/modules/es.weak-set.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.weak-set.js"},{"id":"core-js/modules/web.atob.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.atob.js"},{"id":"core-js/modules/web.btoa.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.btoa.js"},{"id":"core-js/modules/web.clear-immediate.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.clear-immediate.js"},{"id":"core-js/modules/web.dom-collections.for-each.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.dom-collections.for-each.js"},{"id":"core-js/modules/web.dom-collections.iterator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.dom-collections.iterator.js"},{"id":"core-js/modules/web.dom-exception.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.dom-exception.constructor.js"},{"id":"core-js/modules/web.dom-exception.stack.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.dom-exception.stack.js"},{"id":"core-js/modules/web.dom-exception.to-string-tag.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.dom-exception.to-string-tag.js"},{"id":"core-js/modules/web.immediate.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.immediate.js"},{"id":"core-js/modules/web.queue-microtask.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.queue-microtask.js"},{"id":"core-js/modules/web.set-immediate.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.set-immediate.js"},{"id":"core-js/modules/web.set-interval.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.set-interval.js"},{"id":"core-js/modules/web.set-timeout.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.set-timeout.js"},{"id":"core-js/modules/web.structured-clone.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.structured-clone.js"},{"id":"core-js/modules/web.timers.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.timers.js"},{"id":"core-js/modules/web.url-search-params.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.url-search-params.constructor.js"},{"id":"core-js/modules/web.url-search-params.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.url-search-params.js"},{"id":"core-js/modules/web.url.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.url.constructor.js"},{"id":"core-js/modules/web.url.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.url.js"},{"id":"core-js/modules/web.url.to-json.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.url.to-json.js"},{"id":"core-js/stable/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/stable/index.js"},{"id":"datatables.net-bs4/js/dataTables.bootstrap4.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/datatables.net-bs4/License.txt"}],"src_url":"/static/jssources/datatables.net-bs4/js/dataTables.bootstrap4.js"},{"id":"datatables.net/js/jquery.dataTables.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/datatables.net/License.txt"}],"src_url":"/static/jssources/datatables.net/js/jquery.dataTables.js"},{"id":"expose-loader/dist/runtime/getGlobalThis.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/expose-loader/LICENSE.txt"}],"src_url":"/static/jssources/expose-loader/dist/runtime/getGlobalThis.js"},{"id":"iframe-resizer/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/iframe-resizer/LICENSE.txt"}],"src_url":"/static/jssources/iframe-resizer/index.js"},{"id":"iframe-resizer/js/iframeResizer.contentWindow.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/iframe-resizer/LICENSE.txt"}],"src_url":"/static/jssources/iframe-resizer/js/iframeResizer.contentWindow.js"},{"id":"iframe-resizer/js/iframeResizer.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/iframe-resizer/LICENSE.txt"}],"src_url":"/static/jssources/iframe-resizer/js/iframeResizer.js"},{"id":"iframe-resizer/js/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/iframe-resizer/LICENSE.txt"}],"src_url":"/static/jssources/iframe-resizer/js/index.js"},{"id":"jquery/dist/jquery-exposed.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/jquery/LICENSE.txt"}],"src_url":"/static/jssources/jquery/dist/jquery-exposed.js"},{"id":"jquery/dist/jquery.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/jquery/LICENSE.txt"}],"src_url":"/static/jssources/jquery/dist/jquery.js"},{"id":"js-cookie/dist/js.cookie.mjs","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/js-cookie/LICENSE.txt"}],"src_url":"/static/jssources/js-cookie/dist/js.cookie.mjs"},{"id":"popper.js/dist/esm/popper.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":""}],"src_url":"/static/jssources/popper.js/dist/esm/popper.js"},{"id":"regenerator-runtime/runtime.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/regenerator-runtime/LICENSE.txt"}],"src_url":"/static/jssources/regenerator-runtime/runtime.js"},{"id":"whatwg-fetch/dist/fetch.umd.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/whatwg-fetch/LICENSE.txt"}],"src_url":"/static/jssources/whatwg-fetch/dist/fetch.umd.js"}],"/static/js/webapp.90df29dadbec1b5bf1f7.js":[{"id":"@babel/runtime/helpers/esm/asyncToGenerator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/helpers/esm/asyncToGenerator.js"},{"id":"@babel/runtime/regenerator/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/regenerator/index.js"},{"id":"@sentry/browser/esm/backend.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/backend.js"},{"id":"@sentry/browser/esm/client.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/client.js"},{"id":"@sentry/browser/esm/eventbuilder.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/eventbuilder.js"},{"id":"@sentry/browser/esm/flags.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/flags.js"},{"id":"@sentry/browser/esm/helpers.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/helpers.js"},{"id":"@sentry/browser/esm/integrations/breadcrumbs.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/integrations/breadcrumbs.js"},{"id":"@sentry/browser/esm/integrations/dedupe.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/integrations/dedupe.js"},{"id":"@sentry/browser/esm/integrations/globalhandlers.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/integrations/globalhandlers.js"},{"id":"@sentry/browser/esm/integrations/linkederrors.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/integrations/linkederrors.js"},{"id":"@sentry/browser/esm/integrations/trycatch.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/integrations/trycatch.js"},{"id":"@sentry/browser/esm/integrations/useragent.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/integrations/useragent.js"},{"id":"@sentry/browser/esm/sdk.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/sdk.js"},{"id":"@sentry/browser/esm/stack-parsers.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/stack-parsers.js"},{"id":"@sentry/browser/esm/transports/base.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/transports/base.js"},{"id":"@sentry/browser/esm/transports/fetch.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/transports/fetch.js"},{"id":"@sentry/browser/esm/transports/new-fetch.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/transports/new-fetch.js"},{"id":"@sentry/browser/esm/transports/new-xhr.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/transports/new-xhr.js"},{"id":"@sentry/browser/esm/transports/utils.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/transports/utils.js"},{"id":"@sentry/browser/esm/transports/xhr.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/transports/xhr.js"},{"id":"@sentry/core/esm/api.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/api.js"},{"id":"@sentry/core/esm/basebackend.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/basebackend.js"},{"id":"@sentry/core/esm/baseclient.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/baseclient.js"},{"id":"@sentry/core/esm/flags.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/flags.js"},{"id":"@sentry/core/esm/integration.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/integration.js"},{"id":"@sentry/core/esm/integrations/functiontostring.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/integrations/functiontostring.js"},{"id":"@sentry/core/esm/integrations/inboundfilters.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/integrations/inboundfilters.js"},{"id":"@sentry/core/esm/request.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/request.js"},{"id":"@sentry/core/esm/sdk.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/sdk.js"},{"id":"@sentry/core/esm/transports/base.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/transports/base.js"},{"id":"@sentry/core/esm/transports/noop.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/transports/noop.js"},{"id":"@sentry/core/esm/version.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/version.js"},{"id":"@sentry/hub/esm/flags.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/hub/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/hub/esm/flags.js"},{"id":"@sentry/hub/esm/hub.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/hub/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/hub/esm/hub.js"},{"id":"@sentry/hub/esm/scope.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/hub/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/hub/esm/scope.js"},{"id":"@sentry/hub/esm/session.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/hub/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/hub/esm/session.js"},{"id":"@sentry/minimal/esm/index.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/minimal/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/minimal/esm/index.js"},{"id":"@sentry/types/esm/severity.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/types/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/types/esm/severity.js"},{"id":"@sentry/utils/esm/async.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/async.js"},{"id":"@sentry/utils/esm/browser.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/browser.js"},{"id":"@sentry/utils/esm/clientreport.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/clientreport.js"},{"id":"@sentry/utils/esm/dsn.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/dsn.js"},{"id":"@sentry/utils/esm/enums.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/enums.js"},{"id":"@sentry/utils/esm/env.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/env.js"},{"id":"@sentry/utils/esm/envelope.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/envelope.js"},{"id":"@sentry/utils/esm/error.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/error.js"},{"id":"@sentry/utils/esm/flags.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/flags.js"},{"id":"@sentry/utils/esm/global.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/global.js"},{"id":"@sentry/utils/esm/instrument.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/instrument.js"},{"id":"@sentry/utils/esm/is.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/is.js"},{"id":"@sentry/utils/esm/logger.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/logger.js"},{"id":"@sentry/utils/esm/memo.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/memo.js"},{"id":"@sentry/utils/esm/misc.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/misc.js"},{"id":"@sentry/utils/esm/node.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/node.js"},{"id":"@sentry/utils/esm/normalize.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/normalize.js"},{"id":"@sentry/utils/esm/object.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/object.js"},{"id":"@sentry/utils/esm/polyfill.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/polyfill.js"},{"id":"@sentry/utils/esm/promisebuffer.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/promisebuffer.js"},{"id":"@sentry/utils/esm/ratelimit.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/ratelimit.js"},{"id":"@sentry/utils/esm/severity.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/severity.js"},{"id":"@sentry/utils/esm/stacktrace.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/stacktrace.js"},{"id":"@sentry/utils/esm/status.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/status.js"},{"id":"@sentry/utils/esm/string.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/string.js"},{"id":"@sentry/utils/esm/supports.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/supports.js"},{"id":"@sentry/utils/esm/syncpromise.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/syncpromise.js"},{"id":"@sentry/utils/esm/time.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/time.js"},{"id":"ansi_up/ansi_up.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/ansi_up/LICENSE.txt"}],"src_url":"/static/jssources/ansi_up/ansi_up.js"},{"id":"assets/src/bundles/webapp/badges.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/badges.js"},{"id":"assets/src/bundles/webapp/code-highlighting.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/code-highlighting.js"},{"id":"assets/src/bundles/webapp/history-counters.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/history-counters.js"},{"id":"assets/src/bundles/webapp/iframes.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/iframes.js"},{"id":"assets/src/bundles/webapp/index.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/index.js"},{"id":"assets/src/bundles/webapp/math-typesetting.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/math-typesetting.js"},{"id":"assets/src/bundles/webapp/notebook-rendering.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/notebook-rendering.js"},{"id":"assets/src/bundles/webapp/pdf-rendering.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/pdf-rendering.js"},{"id":"assets/src/bundles/webapp/readme-rendering.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/readme-rendering.js"},{"id":"assets/src/bundles/webapp/sentry.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/sentry.js"},{"id":"assets/src/bundles/webapp/status-widget.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/status-widget.js"},{"id":"assets/src/bundles/webapp/webapp-utils.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/webapp-utils.js"},{"id":"assets/src/bundles/webapp/xss-filtering.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/xss-filtering.js"},{"id":"assets/src/utils/constants.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/constants.js"},{"id":"assets/src/utils/functions.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/functions.js"},{"id":"dompurify/dist/purify.js","licenses":[{"name":"Mozilla Public License 2.0","url":"http://www.mozilla.org/MPL/2.0","copy_url":"/static/jssources/dompurify/LICENSE.txt"},{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0","copy_url":"/static/jssources/dompurify/LICENSE.txt"}],"src_url":"/static/jssources/dompurify/dist/purify.js"},{"id":"he/he.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/he/LICENSE-MIT.txt.txt"}],"src_url":"/static/jssources/he/he.js"},{"id":"html-encoder-decoder/lib/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/html-encoder-decoder/LICENSE.txt"}],"src_url":"/static/jssources/html-encoder-decoder/lib/index.js"},{"id":"iterate-object/lib/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/iterate-object/LICENSE.txt"}],"src_url":"/static/jssources/iterate-object/lib/index.js"},{"id":"js-cookie/dist/js.cookie.mjs","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/js-cookie/LICENSE.txt"}],"src_url":"/static/jssources/js-cookie/dist/js.cookie.mjs"},{"id":"notebookjs/notebook.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/notebookjs/LICENSE.txt"}],"src_url":"/static/jssources/notebookjs/notebook.js"},{"id":"object-fit-images/dist/ofi.common-js.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/object-fit-images/license.txt"}],"src_url":"/static/jssources/object-fit-images/dist/ofi.common-js.js"},{"id":"regenerator-runtime/runtime.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/regenerator-runtime/LICENSE.txt"}],"src_url":"/static/jssources/regenerator-runtime/runtime.js"},{"id":"regex-escape/lib/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/regex-escape/LICENSE.txt"}],"src_url":"/static/jssources/regex-escape/lib/index.js"},{"id":"script-loader/addScript.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/script-loader/LICENSE.txt"}],"src_url":"/static/jssources/script-loader/addScript.js"},{"id":"tslib/tslib.es6.js","licenses":[{"name":"0BSD","url":"","copy_url":"/static/jssources/tslib/LICENSE.txt"}],"src_url":"/static/jssources/tslib/tslib.es6.js"}],"/static/js/d3.f989183a810fb9dbb086.js":[{"id":"assets/src/utils/d3.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/d3.js"},{"id":"d3-array/src/array.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/array.js"},{"id":"d3-array/src/ascending.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/ascending.js"},{"id":"d3-array/src/bin.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/bin.js"},{"id":"d3-array/src/bisect.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/bisect.js"},{"id":"d3-array/src/bisector.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/bisector.js"},{"id":"d3-array/src/constant.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/constant.js"},{"id":"d3-array/src/count.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/count.js"},{"id":"d3-array/src/cross.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/cross.js"},{"id":"d3-array/src/cumsum.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/cumsum.js"},{"id":"d3-array/src/descending.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/descending.js"},{"id":"d3-array/src/deviation.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/deviation.js"},{"id":"d3-array/src/difference.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/difference.js"},{"id":"d3-array/src/disjoint.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/disjoint.js"},{"id":"d3-array/src/every.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/every.js"},{"id":"d3-array/src/extent.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/extent.js"},{"id":"d3-array/src/filter.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/filter.js"},{"id":"d3-array/src/fsum.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/fsum.js"},{"id":"d3-array/src/greatest.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/greatest.js"},{"id":"d3-array/src/greatestIndex.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/greatestIndex.js"},{"id":"d3-array/src/group.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/group.js"},{"id":"d3-array/src/groupSort.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/groupSort.js"},{"id":"d3-array/src/identity.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/identity.js"},{"id":"d3-array/src/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/index.js"},{"id":"d3-array/src/intersection.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/intersection.js"},{"id":"d3-array/src/least.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/least.js"},{"id":"d3-array/src/leastIndex.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/leastIndex.js"},{"id":"d3-array/src/map.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/map.js"},{"id":"d3-array/src/max.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/max.js"},{"id":"d3-array/src/maxIndex.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/maxIndex.js"},{"id":"d3-array/src/mean.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/mean.js"},{"id":"d3-array/src/median.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/median.js"},{"id":"d3-array/src/merge.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/merge.js"},{"id":"d3-array/src/min.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/min.js"},{"id":"d3-array/src/minIndex.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/minIndex.js"},{"id":"d3-array/src/mode.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/mode.js"},{"id":"d3-array/src/nice.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/nice.js"},{"id":"d3-array/src/number.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/number.js"},{"id":"d3-array/src/pairs.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/pairs.js"},{"id":"d3-array/src/permute.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/permute.js"},{"id":"d3-array/src/quantile.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/quantile.js"},{"id":"d3-array/src/quickselect.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/quickselect.js"},{"id":"d3-array/src/range.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/range.js"},{"id":"d3-array/src/reduce.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/reduce.js"},{"id":"d3-array/src/reverse.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/reverse.js"},{"id":"d3-array/src/scan.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/scan.js"},{"id":"d3-array/src/set.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/set.js"},{"id":"d3-array/src/shuffle.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/shuffle.js"},{"id":"d3-array/src/some.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/some.js"},{"id":"d3-array/src/sort.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/sort.js"},{"id":"d3-array/src/subset.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/subset.js"},{"id":"d3-array/src/sum.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/sum.js"},{"id":"d3-array/src/superset.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/superset.js"},{"id":"d3-array/src/threshold/freedmanDiaconis.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/threshold/freedmanDiaconis.js"},{"id":"d3-array/src/threshold/scott.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/threshold/scott.js"},{"id":"d3-array/src/threshold/sturges.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/threshold/sturges.js"},{"id":"d3-array/src/ticks.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/ticks.js"},{"id":"d3-array/src/transpose.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/transpose.js"},{"id":"d3-array/src/union.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/union.js"},{"id":"d3-array/src/variance.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/variance.js"},{"id":"d3-array/src/zip.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/zip.js"},{"id":"d3-axis/src/axis.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-axis/LICENSE.txt"}],"src_url":"/static/jssources/d3-axis/src/axis.js"},{"id":"d3-axis/src/identity.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-axis/LICENSE.txt"}],"src_url":"/static/jssources/d3-axis/src/identity.js"},{"id":"d3-axis/src/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-axis/LICENSE.txt"}],"src_url":"/static/jssources/d3-axis/src/index.js"},{"id":"d3-color/src/color.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-color/LICENSE.txt"}],"src_url":"/static/jssources/d3-color/src/color.js"},{"id":"d3-color/src/define.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-color/LICENSE.txt"}],"src_url":"/static/jssources/d3-color/src/define.js"},{"id":"d3-dispatch/src/dispatch.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-dispatch/LICENSE.txt"}],"src_url":"/static/jssources/d3-dispatch/src/dispatch.js"},{"id":"d3-ease/src/cubic.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/d3-ease/LICENSE.txt"}],"src_url":"/static/jssources/d3-ease/src/cubic.js"},{"id":"d3-format/src/defaultLocale.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/defaultLocale.js"},{"id":"d3-format/src/exponent.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/exponent.js"},{"id":"d3-format/src/formatDecimal.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/formatDecimal.js"},{"id":"d3-format/src/formatGroup.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/formatGroup.js"},{"id":"d3-format/src/formatNumerals.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/formatNumerals.js"},{"id":"d3-format/src/formatPrefixAuto.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/formatPrefixAuto.js"},{"id":"d3-format/src/formatRounded.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/formatRounded.js"},{"id":"d3-format/src/formatSpecifier.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/formatSpecifier.js"},{"id":"d3-format/src/formatTrim.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/formatTrim.js"},{"id":"d3-format/src/formatTypes.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/formatTypes.js"},{"id":"d3-format/src/identity.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/identity.js"},{"id":"d3-format/src/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/index.js"},{"id":"d3-format/src/locale.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/locale.js"},{"id":"d3-format/src/precisionFixed.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/precisionFixed.js"},{"id":"d3-format/src/precisionPrefix.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/precisionPrefix.js"},{"id":"d3-format/src/precisionRound.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/precisionRound.js"},{"id":"d3-interpolate/src/array.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/array.js"},{"id":"d3-interpolate/src/basis.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/basis.js"},{"id":"d3-interpolate/src/basisClosed.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/basisClosed.js"},{"id":"d3-interpolate/src/color.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/color.js"},{"id":"d3-interpolate/src/constant.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/constant.js"},{"id":"d3-interpolate/src/date.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/date.js"},{"id":"d3-interpolate/src/number.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/number.js"},{"id":"d3-interpolate/src/numberArray.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/numberArray.js"},{"id":"d3-interpolate/src/object.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/object.js"},{"id":"d3-interpolate/src/piecewise.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/piecewise.js"},{"id":"d3-interpolate/src/rgb.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/rgb.js"},{"id":"d3-interpolate/src/round.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/round.js"},{"id":"d3-interpolate/src/string.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/string.js"},{"id":"d3-interpolate/src/transform/decompose.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/transform/decompose.js"},{"id":"d3-interpolate/src/transform/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/transform/index.js"},{"id":"d3-interpolate/src/transform/parse.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/transform/parse.js"},{"id":"d3-interpolate/src/value.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/value.js"},{"id":"d3-path/src/path.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-path/LICENSE.txt"}],"src_url":"/static/jssources/d3-path/src/path.js"},{"id":"d3-scale/src/band.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/band.js"},{"id":"d3-scale/src/constant.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/constant.js"},{"id":"d3-scale/src/continuous.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/continuous.js"},{"id":"d3-scale/src/diverging.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/diverging.js"},{"id":"d3-scale/src/identity.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/identity.js"},{"id":"d3-scale/src/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/index.js"},{"id":"d3-scale/src/init.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/init.js"},{"id":"d3-scale/src/linear.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/linear.js"},{"id":"d3-scale/src/log.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/log.js"},{"id":"d3-scale/src/nice.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/nice.js"},{"id":"d3-scale/src/number.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/number.js"},{"id":"d3-scale/src/ordinal.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/ordinal.js"},{"id":"d3-scale/src/pow.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/pow.js"},{"id":"d3-scale/src/quantile.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/quantile.js"},{"id":"d3-scale/src/quantize.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/quantize.js"},{"id":"d3-scale/src/radial.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/radial.js"},{"id":"d3-scale/src/sequential.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/sequential.js"},{"id":"d3-scale/src/sequentialQuantile.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/sequentialQuantile.js"},{"id":"d3-scale/src/symlog.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/symlog.js"},{"id":"d3-scale/src/threshold.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/threshold.js"},{"id":"d3-scale/src/tickFormat.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/tickFormat.js"},{"id":"d3-scale/src/time.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/time.js"},{"id":"d3-scale/src/utcTime.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/utcTime.js"},{"id":"d3-selection/src/array.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/array.js"},{"id":"d3-selection/src/constant.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/constant.js"},{"id":"d3-selection/src/create.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/create.js"},{"id":"d3-selection/src/creator.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/creator.js"},{"id":"d3-selection/src/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/index.js"},{"id":"d3-selection/src/local.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/local.js"},{"id":"d3-selection/src/matcher.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/matcher.js"},{"id":"d3-selection/src/namespace.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/namespace.js"},{"id":"d3-selection/src/namespaces.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/namespaces.js"},{"id":"d3-selection/src/pointer.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/pointer.js"},{"id":"d3-selection/src/pointers.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/pointers.js"},{"id":"d3-selection/src/select.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/select.js"},{"id":"d3-selection/src/selectAll.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selectAll.js"},{"id":"d3-selection/src/selection/append.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/append.js"},{"id":"d3-selection/src/selection/attr.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/attr.js"},{"id":"d3-selection/src/selection/call.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/call.js"},{"id":"d3-selection/src/selection/classed.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/classed.js"},{"id":"d3-selection/src/selection/clone.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/clone.js"},{"id":"d3-selection/src/selection/data.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/data.js"},{"id":"d3-selection/src/selection/datum.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/datum.js"},{"id":"d3-selection/src/selection/dispatch.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/dispatch.js"},{"id":"d3-selection/src/selection/each.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/each.js"},{"id":"d3-selection/src/selection/empty.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/empty.js"},{"id":"d3-selection/src/selection/enter.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/enter.js"},{"id":"d3-selection/src/selection/exit.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/exit.js"},{"id":"d3-selection/src/selection/filter.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/filter.js"},{"id":"d3-selection/src/selection/html.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/html.js"},{"id":"d3-selection/src/selection/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/index.js"},{"id":"d3-selection/src/selection/insert.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/insert.js"},{"id":"d3-selection/src/selection/iterator.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/iterator.js"},{"id":"d3-selection/src/selection/join.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/join.js"},{"id":"d3-selection/src/selection/lower.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/lower.js"},{"id":"d3-selection/src/selection/merge.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/merge.js"},{"id":"d3-selection/src/selection/node.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/node.js"},{"id":"d3-selection/src/selection/nodes.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/nodes.js"},{"id":"d3-selection/src/selection/on.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/on.js"},{"id":"d3-selection/src/selection/order.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/order.js"},{"id":"d3-selection/src/selection/property.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/property.js"},{"id":"d3-selection/src/selection/raise.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/raise.js"},{"id":"d3-selection/src/selection/remove.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/remove.js"},{"id":"d3-selection/src/selection/select.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/select.js"},{"id":"d3-selection/src/selection/selectAll.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/selectAll.js"},{"id":"d3-selection/src/selection/selectChild.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/selectChild.js"},{"id":"d3-selection/src/selection/selectChildren.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/selectChildren.js"},{"id":"d3-selection/src/selection/size.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/size.js"},{"id":"d3-selection/src/selection/sort.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/sort.js"},{"id":"d3-selection/src/selection/sparse.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/sparse.js"},{"id":"d3-selection/src/selection/style.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/style.js"},{"id":"d3-selection/src/selection/text.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/text.js"},{"id":"d3-selection/src/selector.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selector.js"},{"id":"d3-selection/src/selectorAll.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selectorAll.js"},{"id":"d3-selection/src/sourceEvent.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/sourceEvent.js"},{"id":"d3-selection/src/window.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/window.js"},{"id":"d3-shape/src/arc.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/arc.js"},{"id":"d3-shape/src/area.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/area.js"},{"id":"d3-shape/src/areaRadial.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/areaRadial.js"},{"id":"d3-shape/src/array.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/array.js"},{"id":"d3-shape/src/constant.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/constant.js"},{"id":"d3-shape/src/curve/basis.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/basis.js"},{"id":"d3-shape/src/curve/basisClosed.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/basisClosed.js"},{"id":"d3-shape/src/curve/basisOpen.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/basisOpen.js"},{"id":"d3-shape/src/curve/bump.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/bump.js"},{"id":"d3-shape/src/curve/bundle.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/bundle.js"},{"id":"d3-shape/src/curve/cardinal.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/cardinal.js"},{"id":"d3-shape/src/curve/cardinalClosed.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/cardinalClosed.js"},{"id":"d3-shape/src/curve/cardinalOpen.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/cardinalOpen.js"},{"id":"d3-shape/src/curve/catmullRom.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/catmullRom.js"},{"id":"d3-shape/src/curve/catmullRomClosed.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/catmullRomClosed.js"},{"id":"d3-shape/src/curve/catmullRomOpen.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/catmullRomOpen.js"},{"id":"d3-shape/src/curve/linear.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/linear.js"},{"id":"d3-shape/src/curve/linearClosed.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/linearClosed.js"},{"id":"d3-shape/src/curve/monotone.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/monotone.js"},{"id":"d3-shape/src/curve/natural.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/natural.js"},{"id":"d3-shape/src/curve/radial.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/radial.js"},{"id":"d3-shape/src/curve/step.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/step.js"},{"id":"d3-shape/src/descending.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/descending.js"},{"id":"d3-shape/src/identity.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/identity.js"},{"id":"d3-shape/src/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/index.js"},{"id":"d3-shape/src/line.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/line.js"},{"id":"d3-shape/src/lineRadial.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/lineRadial.js"},{"id":"d3-shape/src/link/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/link/index.js"},{"id":"d3-shape/src/math.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/math.js"},{"id":"d3-shape/src/noop.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/noop.js"},{"id":"d3-shape/src/offset/diverging.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/offset/diverging.js"},{"id":"d3-shape/src/offset/expand.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/offset/expand.js"},{"id":"d3-shape/src/offset/none.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/offset/none.js"},{"id":"d3-shape/src/offset/silhouette.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/offset/silhouette.js"},{"id":"d3-shape/src/offset/wiggle.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/offset/wiggle.js"},{"id":"d3-shape/src/order/appearance.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/order/appearance.js"},{"id":"d3-shape/src/order/ascending.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/order/ascending.js"},{"id":"d3-shape/src/order/descending.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/order/descending.js"},{"id":"d3-shape/src/order/insideOut.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/order/insideOut.js"},{"id":"d3-shape/src/order/none.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/order/none.js"},{"id":"d3-shape/src/order/reverse.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/order/reverse.js"},{"id":"d3-shape/src/pie.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/pie.js"},{"id":"d3-shape/src/point.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/point.js"},{"id":"d3-shape/src/pointRadial.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/pointRadial.js"},{"id":"d3-shape/src/stack.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/stack.js"},{"id":"d3-shape/src/symbol.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/symbol.js"},{"id":"d3-shape/src/symbol/circle.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/symbol/circle.js"},{"id":"d3-shape/src/symbol/cross.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/symbol/cross.js"},{"id":"d3-shape/src/symbol/diamond.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/symbol/diamond.js"},{"id":"d3-shape/src/symbol/square.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/symbol/square.js"},{"id":"d3-shape/src/symbol/star.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/symbol/star.js"},{"id":"d3-shape/src/symbol/triangle.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/symbol/triangle.js"},{"id":"d3-shape/src/symbol/wye.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/symbol/wye.js"},{"id":"d3-time-format/src/defaultLocale.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-time-format/src/defaultLocale.js"},{"id":"d3-time-format/src/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-time-format/src/index.js"},{"id":"d3-time-format/src/isoFormat.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-time-format/src/isoFormat.js"},{"id":"d3-time-format/src/isoParse.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-time-format/src/isoParse.js"},{"id":"d3-time-format/src/locale.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-time-format/src/locale.js"},{"id":"d3-time/src/day.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/day.js"},{"id":"d3-time/src/duration.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/duration.js"},{"id":"d3-time/src/hour.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/hour.js"},{"id":"d3-time/src/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/index.js"},{"id":"d3-time/src/interval.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/interval.js"},{"id":"d3-time/src/millisecond.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/millisecond.js"},{"id":"d3-time/src/minute.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/minute.js"},{"id":"d3-time/src/month.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/month.js"},{"id":"d3-time/src/second.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/second.js"},{"id":"d3-time/src/ticks.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/ticks.js"},{"id":"d3-time/src/utcDay.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/utcDay.js"},{"id":"d3-time/src/utcHour.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/utcHour.js"},{"id":"d3-time/src/utcMinute.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/utcMinute.js"},{"id":"d3-time/src/utcMonth.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/utcMonth.js"},{"id":"d3-time/src/utcWeek.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/utcWeek.js"},{"id":"d3-time/src/utcYear.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/utcYear.js"},{"id":"d3-time/src/week.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/week.js"},{"id":"d3-time/src/year.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/year.js"},{"id":"d3-timer/src/timeout.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-timer/LICENSE.txt"}],"src_url":"/static/jssources/d3-timer/src/timeout.js"},{"id":"d3-timer/src/timer.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-timer/LICENSE.txt"}],"src_url":"/static/jssources/d3-timer/src/timer.js"},{"id":"d3-transition/src/active.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/active.js"},{"id":"d3-transition/src/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/index.js"},{"id":"d3-transition/src/interrupt.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/interrupt.js"},{"id":"d3-transition/src/selection/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/selection/index.js"},{"id":"d3-transition/src/selection/interrupt.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/selection/interrupt.js"},{"id":"d3-transition/src/selection/transition.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/selection/transition.js"},{"id":"d3-transition/src/transition/attr.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/attr.js"},{"id":"d3-transition/src/transition/attrTween.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/attrTween.js"},{"id":"d3-transition/src/transition/delay.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/delay.js"},{"id":"d3-transition/src/transition/duration.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/duration.js"},{"id":"d3-transition/src/transition/ease.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/ease.js"},{"id":"d3-transition/src/transition/easeVarying.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/easeVarying.js"},{"id":"d3-transition/src/transition/end.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/end.js"},{"id":"d3-transition/src/transition/filter.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/filter.js"},{"id":"d3-transition/src/transition/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/index.js"},{"id":"d3-transition/src/transition/interpolate.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/interpolate.js"},{"id":"d3-transition/src/transition/merge.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/merge.js"},{"id":"d3-transition/src/transition/on.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/on.js"},{"id":"d3-transition/src/transition/remove.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/remove.js"},{"id":"d3-transition/src/transition/schedule.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/schedule.js"},{"id":"d3-transition/src/transition/select.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/select.js"},{"id":"d3-transition/src/transition/selectAll.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/selectAll.js"},{"id":"d3-transition/src/transition/selection.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/selection.js"},{"id":"d3-transition/src/transition/style.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/style.js"},{"id":"d3-transition/src/transition/styleTween.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/styleTween.js"},{"id":"d3-transition/src/transition/text.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/text.js"},{"id":"d3-transition/src/transition/textTween.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/textTween.js"},{"id":"d3-transition/src/transition/transition.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/transition.js"},{"id":"d3-transition/src/transition/tween.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/tween.js"},{"id":"internmap/src/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/internmap/LICENSE.txt"}],"src_url":"/static/jssources/internmap/src/index.js"}],"/static/js/highlightjs.5fd270288fca1f2de6c3.js":[{"id":"assets/src/utils/highlightjs.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/highlightjs.js"},{"id":"expose-loader/dist/runtime/getGlobalThis.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/expose-loader/LICENSE.txt"}],"src_url":"/static/jssources/expose-loader/dist/runtime/getGlobalThis.js"},{"id":"highlight.js/es/index.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/es/index.js"},{"id":"highlight.js/lib/core.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/core.js"},{"id":"highlight.js/lib/index-exposed.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/index-exposed.js"},{"id":"highlight.js/lib/index.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/index.js"},{"id":"highlight.js/lib/languages/1c.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/1c.js"},{"id":"highlight.js/lib/languages/abnf.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/abnf.js"},{"id":"highlight.js/lib/languages/accesslog.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/accesslog.js"},{"id":"highlight.js/lib/languages/actionscript.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/actionscript.js"},{"id":"highlight.js/lib/languages/ada.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/ada.js"},{"id":"highlight.js/lib/languages/angelscript.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/angelscript.js"},{"id":"highlight.js/lib/languages/apache.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/apache.js"},{"id":"highlight.js/lib/languages/applescript.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/applescript.js"},{"id":"highlight.js/lib/languages/arcade.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/arcade.js"},{"id":"highlight.js/lib/languages/arduino.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/arduino.js"},{"id":"highlight.js/lib/languages/armasm.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/armasm.js"},{"id":"highlight.js/lib/languages/asciidoc.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/asciidoc.js"},{"id":"highlight.js/lib/languages/aspectj.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/aspectj.js"},{"id":"highlight.js/lib/languages/autohotkey.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/autohotkey.js"},{"id":"highlight.js/lib/languages/autoit.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/autoit.js"},{"id":"highlight.js/lib/languages/avrasm.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/avrasm.js"},{"id":"highlight.js/lib/languages/awk.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/awk.js"},{"id":"highlight.js/lib/languages/axapta.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/axapta.js"},{"id":"highlight.js/lib/languages/bash.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/bash.js"},{"id":"highlight.js/lib/languages/basic.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/basic.js"},{"id":"highlight.js/lib/languages/bnf.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/bnf.js"},{"id":"highlight.js/lib/languages/brainfuck.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/brainfuck.js"},{"id":"highlight.js/lib/languages/c.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/c.js"},{"id":"highlight.js/lib/languages/cal.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/cal.js"},{"id":"highlight.js/lib/languages/capnproto.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/capnproto.js"},{"id":"highlight.js/lib/languages/ceylon.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/ceylon.js"},{"id":"highlight.js/lib/languages/clean.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/clean.js"},{"id":"highlight.js/lib/languages/clojure-repl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/clojure-repl.js"},{"id":"highlight.js/lib/languages/clojure.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/clojure.js"},{"id":"highlight.js/lib/languages/cmake.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/cmake.js"},{"id":"highlight.js/lib/languages/coffeescript.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/coffeescript.js"},{"id":"highlight.js/lib/languages/coq.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/coq.js"},{"id":"highlight.js/lib/languages/cos.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/cos.js"},{"id":"highlight.js/lib/languages/cpp.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/cpp.js"},{"id":"highlight.js/lib/languages/crmsh.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/crmsh.js"},{"id":"highlight.js/lib/languages/crystal.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/crystal.js"},{"id":"highlight.js/lib/languages/csharp.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/csharp.js"},{"id":"highlight.js/lib/languages/csp.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/csp.js"},{"id":"highlight.js/lib/languages/css.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/css.js"},{"id":"highlight.js/lib/languages/d.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/d.js"},{"id":"highlight.js/lib/languages/dart.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/dart.js"},{"id":"highlight.js/lib/languages/delphi.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/delphi.js"},{"id":"highlight.js/lib/languages/diff.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/diff.js"},{"id":"highlight.js/lib/languages/django.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/django.js"},{"id":"highlight.js/lib/languages/dns.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/dns.js"},{"id":"highlight.js/lib/languages/dockerfile.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/dockerfile.js"},{"id":"highlight.js/lib/languages/dos.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/dos.js"},{"id":"highlight.js/lib/languages/dsconfig.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/dsconfig.js"},{"id":"highlight.js/lib/languages/dts.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/dts.js"},{"id":"highlight.js/lib/languages/dust.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/dust.js"},{"id":"highlight.js/lib/languages/ebnf.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/ebnf.js"},{"id":"highlight.js/lib/languages/elixir.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/elixir.js"},{"id":"highlight.js/lib/languages/elm.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/elm.js"},{"id":"highlight.js/lib/languages/erb.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/erb.js"},{"id":"highlight.js/lib/languages/erlang-repl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/erlang-repl.js"},{"id":"highlight.js/lib/languages/erlang.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/erlang.js"},{"id":"highlight.js/lib/languages/excel.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/excel.js"},{"id":"highlight.js/lib/languages/fix.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/fix.js"},{"id":"highlight.js/lib/languages/flix.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/flix.js"},{"id":"highlight.js/lib/languages/fortran.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/fortran.js"},{"id":"highlight.js/lib/languages/fsharp.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/fsharp.js"},{"id":"highlight.js/lib/languages/gams.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/gams.js"},{"id":"highlight.js/lib/languages/gauss.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/gauss.js"},{"id":"highlight.js/lib/languages/gcode.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/gcode.js"},{"id":"highlight.js/lib/languages/gherkin.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/gherkin.js"},{"id":"highlight.js/lib/languages/glsl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/glsl.js"},{"id":"highlight.js/lib/languages/gml.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/gml.js"},{"id":"highlight.js/lib/languages/go.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/go.js"},{"id":"highlight.js/lib/languages/golo.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/golo.js"},{"id":"highlight.js/lib/languages/gradle.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/gradle.js"},{"id":"highlight.js/lib/languages/graphql.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/graphql.js"},{"id":"highlight.js/lib/languages/groovy.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/groovy.js"},{"id":"highlight.js/lib/languages/haml.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/haml.js"},{"id":"highlight.js/lib/languages/handlebars.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/handlebars.js"},{"id":"highlight.js/lib/languages/haskell.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/haskell.js"},{"id":"highlight.js/lib/languages/haxe.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/haxe.js"},{"id":"highlight.js/lib/languages/hsp.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/hsp.js"},{"id":"highlight.js/lib/languages/http.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/http.js"},{"id":"highlight.js/lib/languages/hy.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/hy.js"},{"id":"highlight.js/lib/languages/inform7.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/inform7.js"},{"id":"highlight.js/lib/languages/ini.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/ini.js"},{"id":"highlight.js/lib/languages/irpf90.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/irpf90.js"},{"id":"highlight.js/lib/languages/isbl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/isbl.js"},{"id":"highlight.js/lib/languages/java.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/java.js"},{"id":"highlight.js/lib/languages/javascript.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/javascript.js"},{"id":"highlight.js/lib/languages/jboss-cli.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/jboss-cli.js"},{"id":"highlight.js/lib/languages/json.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/json.js"},{"id":"highlight.js/lib/languages/julia-repl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/julia-repl.js"},{"id":"highlight.js/lib/languages/julia.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/julia.js"},{"id":"highlight.js/lib/languages/kotlin.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/kotlin.js"},{"id":"highlight.js/lib/languages/lasso.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/lasso.js"},{"id":"highlight.js/lib/languages/latex.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/latex.js"},{"id":"highlight.js/lib/languages/ldif.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/ldif.js"},{"id":"highlight.js/lib/languages/leaf.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/leaf.js"},{"id":"highlight.js/lib/languages/less.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/less.js"},{"id":"highlight.js/lib/languages/lisp.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/lisp.js"},{"id":"highlight.js/lib/languages/livecodeserver.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/livecodeserver.js"},{"id":"highlight.js/lib/languages/livescript.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/livescript.js"},{"id":"highlight.js/lib/languages/llvm.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/llvm.js"},{"id":"highlight.js/lib/languages/lsl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/lsl.js"},{"id":"highlight.js/lib/languages/lua.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/lua.js"},{"id":"highlight.js/lib/languages/makefile.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/makefile.js"},{"id":"highlight.js/lib/languages/markdown.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/markdown.js"},{"id":"highlight.js/lib/languages/mathematica.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/mathematica.js"},{"id":"highlight.js/lib/languages/matlab.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/matlab.js"},{"id":"highlight.js/lib/languages/maxima.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/maxima.js"},{"id":"highlight.js/lib/languages/mel.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/mel.js"},{"id":"highlight.js/lib/languages/mercury.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/mercury.js"},{"id":"highlight.js/lib/languages/mipsasm.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/mipsasm.js"},{"id":"highlight.js/lib/languages/mizar.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/mizar.js"},{"id":"highlight.js/lib/languages/mojolicious.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/mojolicious.js"},{"id":"highlight.js/lib/languages/monkey.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/monkey.js"},{"id":"highlight.js/lib/languages/moonscript.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/moonscript.js"},{"id":"highlight.js/lib/languages/n1ql.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/n1ql.js"},{"id":"highlight.js/lib/languages/nestedtext.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/nestedtext.js"},{"id":"highlight.js/lib/languages/nginx.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/nginx.js"},{"id":"highlight.js/lib/languages/nim.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/nim.js"},{"id":"highlight.js/lib/languages/nix.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/nix.js"},{"id":"highlight.js/lib/languages/node-repl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/node-repl.js"},{"id":"highlight.js/lib/languages/nsis.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/nsis.js"},{"id":"highlight.js/lib/languages/objectivec.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/objectivec.js"},{"id":"highlight.js/lib/languages/ocaml.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/ocaml.js"},{"id":"highlight.js/lib/languages/openscad.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/openscad.js"},{"id":"highlight.js/lib/languages/oxygene.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/oxygene.js"},{"id":"highlight.js/lib/languages/parser3.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/parser3.js"},{"id":"highlight.js/lib/languages/perl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/perl.js"},{"id":"highlight.js/lib/languages/pf.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/pf.js"},{"id":"highlight.js/lib/languages/pgsql.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/pgsql.js"},{"id":"highlight.js/lib/languages/php-template.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/php-template.js"},{"id":"highlight.js/lib/languages/php.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/php.js"},{"id":"highlight.js/lib/languages/plaintext.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/plaintext.js"},{"id":"highlight.js/lib/languages/pony.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/pony.js"},{"id":"highlight.js/lib/languages/powershell.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/powershell.js"},{"id":"highlight.js/lib/languages/processing.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/processing.js"},{"id":"highlight.js/lib/languages/profile.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/profile.js"},{"id":"highlight.js/lib/languages/prolog.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/prolog.js"},{"id":"highlight.js/lib/languages/properties.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/properties.js"},{"id":"highlight.js/lib/languages/protobuf.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/protobuf.js"},{"id":"highlight.js/lib/languages/puppet.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/puppet.js"},{"id":"highlight.js/lib/languages/purebasic.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/purebasic.js"},{"id":"highlight.js/lib/languages/python-repl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/python-repl.js"},{"id":"highlight.js/lib/languages/python.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/python.js"},{"id":"highlight.js/lib/languages/q.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/q.js"},{"id":"highlight.js/lib/languages/qml.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/qml.js"},{"id":"highlight.js/lib/languages/r.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/r.js"},{"id":"highlight.js/lib/languages/reasonml.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/reasonml.js"},{"id":"highlight.js/lib/languages/rib.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/rib.js"},{"id":"highlight.js/lib/languages/roboconf.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/roboconf.js"},{"id":"highlight.js/lib/languages/routeros.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/routeros.js"},{"id":"highlight.js/lib/languages/rsl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/rsl.js"},{"id":"highlight.js/lib/languages/ruby.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/ruby.js"},{"id":"highlight.js/lib/languages/ruleslanguage.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/ruleslanguage.js"},{"id":"highlight.js/lib/languages/rust.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/rust.js"},{"id":"highlight.js/lib/languages/sas.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/sas.js"},{"id":"highlight.js/lib/languages/scala.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/scala.js"},{"id":"highlight.js/lib/languages/scheme.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/scheme.js"},{"id":"highlight.js/lib/languages/scilab.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/scilab.js"},{"id":"highlight.js/lib/languages/scss.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/scss.js"},{"id":"highlight.js/lib/languages/shell.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/shell.js"},{"id":"highlight.js/lib/languages/smali.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/smali.js"},{"id":"highlight.js/lib/languages/smalltalk.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/smalltalk.js"},{"id":"highlight.js/lib/languages/sml.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/sml.js"},{"id":"highlight.js/lib/languages/sqf.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/sqf.js"},{"id":"highlight.js/lib/languages/sql.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/sql.js"},{"id":"highlight.js/lib/languages/stan.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/stan.js"},{"id":"highlight.js/lib/languages/stata.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/stata.js"},{"id":"highlight.js/lib/languages/step21.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/step21.js"},{"id":"highlight.js/lib/languages/stylus.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/stylus.js"},{"id":"highlight.js/lib/languages/subunit.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/subunit.js"},{"id":"highlight.js/lib/languages/swift.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/swift.js"},{"id":"highlight.js/lib/languages/taggerscript.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/taggerscript.js"},{"id":"highlight.js/lib/languages/tap.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/tap.js"},{"id":"highlight.js/lib/languages/tcl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/tcl.js"},{"id":"highlight.js/lib/languages/thrift.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/thrift.js"},{"id":"highlight.js/lib/languages/tp.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/tp.js"},{"id":"highlight.js/lib/languages/twig.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/twig.js"},{"id":"highlight.js/lib/languages/typescript.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/typescript.js"},{"id":"highlight.js/lib/languages/vala.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/vala.js"},{"id":"highlight.js/lib/languages/vbnet.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/vbnet.js"},{"id":"highlight.js/lib/languages/vbscript-html.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/vbscript-html.js"},{"id":"highlight.js/lib/languages/vbscript.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/vbscript.js"},{"id":"highlight.js/lib/languages/verilog.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/verilog.js"},{"id":"highlight.js/lib/languages/vhdl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/vhdl.js"},{"id":"highlight.js/lib/languages/vim.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/vim.js"},{"id":"highlight.js/lib/languages/wasm.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/wasm.js"},{"id":"highlight.js/lib/languages/wren.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/wren.js"},{"id":"highlight.js/lib/languages/x86asm.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/x86asm.js"},{"id":"highlight.js/lib/languages/xl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/xl.js"},{"id":"highlight.js/lib/languages/xml.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/xml.js"},{"id":"highlight.js/lib/languages/xquery.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/xquery.js"},{"id":"highlight.js/lib/languages/yaml.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/yaml.js"},{"id":"highlight.js/lib/languages/zephir.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/zephir.js"},{"id":"highlightjs-4d/dist/4d.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-4d/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-4d/dist/4d.min.js"},{"id":"highlightjs-alan/dist/alan.min.js","licenses":[{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0","copy_url":"/static/jssources/highlightjs-alan/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-alan/dist/alan.min.js"},{"id":"highlightjs-blade/dist/blade.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-blade/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-blade/dist/blade.min.js"},{"id":"highlightjs-chaos/dist/chaos.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-chaos/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-chaos/dist/chaos.min.js"},{"id":"highlightjs-chapel/dist/chapel.min.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlightjs-chapel/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-chapel/dist/chapel.min.js"},{"id":"highlightjs-cpcdos/dist/cpc-highlight.min.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlightjs-cpcdos/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-cpcdos/dist/cpc-highlight.min.js"},{"id":"highlightjs-cshtml-razor/dist/cshtml-razor.min.js","licenses":[{"name":"Creative Commons CC0 1.0 Universal","url":"http://creativecommons.org/publicdomain/zero/1.0/legalcode","copy_url":"/static/jssources/highlightjs-cshtml-razor/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-cshtml-razor/dist/cshtml-razor.min.js"},{"id":"highlightjs-cypher/dist/cypher.min.js","licenses":[{"name":"Creative Commons CC0 1.0 Universal","url":"http://creativecommons.org/publicdomain/zero/1.0/legalcode","copy_url":"/static/jssources/highlightjs-cypher/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-cypher/dist/cypher.min.js"},{"id":"highlightjs-dafny/dist/dafny.min.js","licenses":[{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0","copy_url":"/static/jssources/highlightjs-dafny/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-dafny/dist/dafny.min.js"},{"id":"highlightjs-dylan/dist/dylan.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-dylan/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-dylan/dist/dylan.min.js"},{"id":"highlightjs-eta/dist/eta.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":""}],"src_url":"/static/jssources/highlightjs-eta/dist/eta.min.js"},{"id":"highlightjs-extempore/dist/extempore.min.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlightjs-extempore/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-extempore/dist/extempore.min.js"},{"id":"highlightjs-gdscript/dist/gdscript.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-gdscript/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-gdscript/dist/gdscript.min.js"},{"id":"highlightjs-gf/dist/gf.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-gf/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-gf/dist/gf.min.js"},{"id":"highlightjs-gsql/dist/gsql.min.js","licenses":[{"name":"Creative Commons CC0 1.0 Universal","url":"http://creativecommons.org/publicdomain/zero/1.0/legalcode","copy_url":""}],"src_url":"/static/jssources/highlightjs-gsql/dist/gsql.min.js"},{"id":"highlightjs-hlsl/dist/hlsl.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-hlsl/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-hlsl/dist/hlsl.min.js"},{"id":"highlightjs-jolie/dist/jolie.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-jolie/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-jolie/dist/jolie.min.js"},{"id":"highlightjs-lean/src/lean.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlightjs-lean/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-lean/src/lean.js"},{"id":"highlightjs-line-numbers.js/src/highlightjs-line-numbers.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-line-numbers.js/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-line-numbers.js/src/highlightjs-line-numbers.js"},{"id":"highlightjs-lox/dist/es/lox.mjs","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-lox/LICENSE.md"}],"src_url":"/static/jssources/highlightjs-lox/dist/es/lox.mjs"},{"id":"highlightjs-mirc/mirc.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-mirc/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-mirc/mirc.js"},{"id":"highlightjs-modelica/modelica.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-modelica/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-modelica/modelica.js"},{"id":"highlightjs-never/dist/never.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-never/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-never/dist/never.min.js"},{"id":"highlightjs-octave/dist/highlightjs-octave.cjs.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlightjs-octave/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-octave/dist/highlightjs-octave.cjs.js"},{"id":"highlightjs-oz/dist/oz.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-oz/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-oz/dist/oz.min.js"},{"id":"highlightjs-qsharp/dist/qsharp.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":""}],"src_url":"/static/jssources/highlightjs-qsharp/dist/qsharp.min.js"},{"id":"highlightjs-redbol/dist/redbol.min.js","licenses":[{"name":"Creative Commons CC0 1.0 Universal","url":"http://creativecommons.org/publicdomain/zero/1.0/legalcode","copy_url":"/static/jssources/highlightjs-redbol/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-redbol/dist/redbol.min.js"},{"id":"highlightjs-robot/robot.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-robot/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-robot/robot.js"},{"id":"highlightjs-robots-txt/dist/robots-txt.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-robots-txt/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-robots-txt/dist/robots-txt.min.js"},{"id":"highlightjs-rpm-specfile/rpm-specfile.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlightjs-rpm-specfile/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-rpm-specfile/rpm-specfile.js"},{"id":"highlightjs-sap-abap/dist/abap.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-sap-abap/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-sap-abap/dist/abap.min.js"},{"id":"highlightjs-solidity/dist/solidity.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-solidity/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-solidity/dist/solidity.min.js"},{"id":"highlightjs-svelte/dist/svelte.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-svelte/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-svelte/dist/svelte.min.js"},{"id":"highlightjs-terraform/terraform.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-terraform/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-terraform/terraform.js"},{"id":"highlightjs-xsharp/dist/xsharp.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-xsharp/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-xsharp/dist/xsharp.min.js"},{"id":"highlightjs-zenscript/dist/zenscript.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-zenscript/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-zenscript/dist/zenscript.min.js"},{"id":"highlightjs-zig/dist/zig.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-zig/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-zig/dist/zig.min.js"},{"id":"hightlightjs-papyrus/dist/papyrus.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/hightlightjs-papyrus/LICENSE.txt"}],"src_url":"/static/jssources/hightlightjs-papyrus/dist/papyrus.min.js"},{"id":"script-loader/addScript.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/script-loader/LICENSE.txt"}],"src_url":"/static/jssources/script-loader/addScript.js"}],"/static/js/showdown.b448e42a34c43d6a7de5.js":[{"id":"assets/src/utils/showdown.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/showdown.js"},{"id":"showdown/dist/showdown.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/showdown/LICENSE.txt"}],"src_url":"/static/jssources/showdown/dist/showdown.js"}],"/static/js/org.9adc9a39a210c2fb4be0.js":[{"id":"assets/src/utils/org.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/org.js"},{"id":"org/lib/org.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/org/LICENSE.txt"}],"src_url":"/static/jssources/org/lib/org.js"},{"id":"org/lib/org/converter/converter.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/org/LICENSE.txt"}],"src_url":"/static/jssources/org/lib/org/converter/converter.js"},{"id":"org/lib/org/converter/html.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/org/LICENSE.txt"}],"src_url":"/static/jssources/org/lib/org/converter/html.js"},{"id":"org/lib/org/lexer.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/org/LICENSE.txt"}],"src_url":"/static/jssources/org/lib/org/lexer.js"},{"id":"org/lib/org/node.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/org/LICENSE.txt"}],"src_url":"/static/jssources/org/lib/org/node.js"},{"id":"org/lib/org/parser.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/org/LICENSE.txt"}],"src_url":"/static/jssources/org/lib/org/parser.js"},{"id":"org/lib/org/stream.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/org/LICENSE.txt"}],"src_url":"/static/jssources/org/lib/org/stream.js"}],"/static/js/pdfjs.7fa499e22fea56527058.js":[{"id":"pdfjs-dist/build/pdf.js","licenses":[{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0","copy_url":"/static/jssources/pdfjs-dist/LICENSE.txt"}],"src_url":"/static/jssources/pdfjs-dist/build/pdf.js"}],"/static/js/mathjax.a0046af7afe82fd10728.js":[{"id":"assets/src/utils/mathjax.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/mathjax.js"},{"id":"mathjax/es5/tex-mml-chtml.js","licenses":[{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0","copy_url":"/static/jssources/mathjax/LICENSE.txt"}],"src_url":"/static/jssources/mathjax/es5/tex-mml-chtml.js"}],"/static/js/pdf.worker.min.js":[{"id":"pdfjs-dist/build/pdf.worker.js","licenses":[{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0","copy_url":"/static/jssources/pdfjs-dist/LICENSE.txt"}],"src_url":"/static/jssources/pdfjs-dist/build/pdf.worker.js"}],"/jsreverse/":[{"id":"jsreverse","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/jsreverse/"}],"https://piwik.inria.fr/matomo.js":[{"id":"matomo.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"https://github.com/matomo-org/matomo/blob/master/js/LICENSE.txt"}],"src_url":"https://github.com/matomo-org/matomo/blob/master/js/piwik.js"}]} \ No newline at end of file +{"/static/js/add_forge.b03ba291e43a6431bc44.js":[{"id":"@babel/runtime/helpers/esm/asyncToGenerator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/helpers/esm/asyncToGenerator.js"},{"id":"@babel/runtime/regenerator/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/regenerator/index.js"},{"id":"assets/src/bundles/add_forge/add-request-history-item.ejs","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/add_forge/add-request-history-item.ejs"},{"id":"assets/src/bundles/add_forge/create-request.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/add_forge/create-request.js"},{"id":"assets/src/bundles/add_forge/forge-admin-email.ejs","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/add_forge/forge-admin-email.ejs"},{"id":"assets/src/bundles/add_forge/index.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/add_forge/index.js"},{"id":"assets/src/bundles/add_forge/moderation-dashboard.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/add_forge/moderation-dashboard.js"},{"id":"assets/src/bundles/add_forge/request-dashboard.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/add_forge/request-dashboard.js"},{"id":"assets/src/utils/constants.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/constants.js"},{"id":"assets/src/utils/functions.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/functions.js"},{"id":"assets/src/utils/requests-filter-checkbox.ejs","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/requests-filter-checkbox.ejs"},{"id":"js-cookie/dist/js.cookie.mjs","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/js-cookie/LICENSE.txt"}],"src_url":"/static/jssources/js-cookie/dist/js.cookie.mjs"},{"id":"regenerator-runtime/runtime.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/regenerator-runtime/LICENSE.txt"}],"src_url":"/static/jssources/regenerator-runtime/runtime.js"}],"/static/js/admin.cb05f9f1ab8e1adcdbfb.js":[{"id":"@babel/runtime/helpers/esm/asyncToGenerator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/helpers/esm/asyncToGenerator.js"},{"id":"@babel/runtime/regenerator/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/regenerator/index.js"},{"id":"assets/src/bundles/admin/deposit.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/admin/deposit.js"},{"id":"assets/src/bundles/admin/index.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/admin/index.js"},{"id":"assets/src/bundles/admin/mailmap-form.ejs","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/admin/mailmap-form.ejs"},{"id":"assets/src/bundles/admin/mailmap.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/admin/mailmap.js"},{"id":"assets/src/bundles/admin/origin-save.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/admin/origin-save.js"},{"id":"assets/src/utils/constants.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/constants.js"},{"id":"assets/src/utils/functions.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/functions.js"},{"id":"js-cookie/dist/js.cookie.mjs","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/js-cookie/LICENSE.txt"}],"src_url":"/static/jssources/js-cookie/dist/js.cookie.mjs"},{"id":"regenerator-runtime/runtime.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/regenerator-runtime/LICENSE.txt"}],"src_url":"/static/jssources/regenerator-runtime/runtime.js"}],"/static/js/auth.7a6ba4612115126f9b59.js":[{"id":"@babel/runtime/helpers/esm/asyncToGenerator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/helpers/esm/asyncToGenerator.js"},{"id":"@babel/runtime/regenerator/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/regenerator/index.js"},{"id":"assets/src/bundles/auth/index.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/auth/index.js"},{"id":"assets/src/utils/functions.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/functions.js"},{"id":"js-cookie/dist/js.cookie.mjs","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/js-cookie/LICENSE.txt"}],"src_url":"/static/jssources/js-cookie/dist/js.cookie.mjs"},{"id":"regenerator-runtime/runtime.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/regenerator-runtime/LICENSE.txt"}],"src_url":"/static/jssources/regenerator-runtime/runtime.js"}],"/static/js/browse.dd1b3cff11e141a4fbbc.js":[{"id":"@babel/runtime/helpers/esm/asyncToGenerator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/helpers/esm/asyncToGenerator.js"},{"id":"@babel/runtime/regenerator/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/regenerator/index.js"},{"id":"assets/src/bundles/browse/browse-utils.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/browse/browse-utils.js"},{"id":"assets/src/bundles/browse/index.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/browse/index.js"},{"id":"assets/src/bundles/browse/origin-search.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/browse/origin-search.js"},{"id":"assets/src/bundles/browse/snapshot-navigation.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/browse/snapshot-navigation.js"},{"id":"assets/src/bundles/browse/swhid-utils.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/browse/swhid-utils.js"},{"id":"assets/src/thirdparty/jquery.tabSlideOut/jquery.tabSlideOut.js","licenses":[{"name":"GNU General Public License (GPL) version 3","url":"http://www.gnu.org/licenses/gpl-3.0.html","copy_url":"/static/jssources/assets/src/thirdparty/jquery.tabSlideOut/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/thirdparty/jquery.tabSlideOut/jquery.tabSlideOut.js"},{"id":"assets/src/utils/constants.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/constants.js"},{"id":"assets/src/utils/functions.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/functions.js"},{"id":"clipboard/dist/clipboard.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/clipboard/LICENSE.txt"}],"src_url":"/static/jssources/clipboard/dist/clipboard.js"},{"id":"js-cookie/dist/js.cookie.mjs","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/js-cookie/LICENSE.txt"}],"src_url":"/static/jssources/js-cookie/dist/js.cookie.mjs"},{"id":"regenerator-runtime/runtime.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/regenerator-runtime/LICENSE.txt"}],"src_url":"/static/jssources/regenerator-runtime/runtime.js"}],"/static/js/guided_tour.6fdb762b8416936b3c84.js":[{"id":"assets/src/bundles/guided_tour/index.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/guided_tour/index.js"},{"id":"assets/src/utils/scrolling.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/scrolling.js"},{"id":"intro.js/intro.module.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/intro.js/license.md"}],"src_url":"/static/jssources/intro.js/intro.module.js"}],"/static/js/origin.278a63bfc40cb4173975.js":[{"id":"@babel/runtime/helpers/esm/asyncToGenerator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/helpers/esm/asyncToGenerator.js"},{"id":"@babel/runtime/regenerator/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/regenerator/index.js"},{"id":"assets/src/bundles/origin/index.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/origin/index.js"},{"id":"assets/src/bundles/origin/utils.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/origin/utils.js"},{"id":"assets/src/bundles/origin/visits-calendar.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/origin/visits-calendar.js"},{"id":"assets/src/bundles/origin/visits-histogram.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/origin/visits-histogram.js"},{"id":"assets/src/bundles/origin/visits-reporting.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/origin/visits-reporting.js"},{"id":"hex-rgb/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/hex-rgb/license.txt"}],"src_url":"/static/jssources/hex-rgb/index.js"},{"id":"js-year-calendar/dist/js-year-calendar.js","licenses":[{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0","copy_url":"/static/jssources/js-year-calendar/LICENSE.txt"}],"src_url":"/static/jssources/js-year-calendar/dist/js-year-calendar.js"},{"id":"regenerator-runtime/runtime.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/regenerator-runtime/LICENSE.txt"}],"src_url":"/static/jssources/regenerator-runtime/runtime.js"}],"/static/js/revision.52cc3dd3b75a01c492af.js":[{"id":"@babel/runtime/helpers/esm/asyncToGenerator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/helpers/esm/asyncToGenerator.js"},{"id":"@babel/runtime/regenerator/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/regenerator/index.js"},{"id":"assets/src/bundles/revision/diff-panel.ejs","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/revision/diff-panel.ejs"},{"id":"assets/src/bundles/revision/diff-utils.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/revision/diff-utils.js"},{"id":"assets/src/bundles/revision/index.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/revision/index.js"},{"id":"assets/src/bundles/revision/log-utils.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/revision/log-utils.js"},{"id":"assets/src/utils/constants.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/constants.js"},{"id":"assets/src/utils/functions.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/functions.js"},{"id":"js-cookie/dist/js.cookie.mjs","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/js-cookie/LICENSE.txt"}],"src_url":"/static/jssources/js-cookie/dist/js.cookie.mjs"},{"id":"regenerator-runtime/runtime.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/regenerator-runtime/LICENSE.txt"}],"src_url":"/static/jssources/regenerator-runtime/runtime.js"},{"id":"waypoints/lib/jquery.waypoints.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/waypoints/licenses.txt.txt"}],"src_url":"/static/jssources/waypoints/lib/jquery.waypoints.js"}],"/static/js/save.9fc62242a6cdffdaad2c.js":[{"id":"@babel/runtime/helpers/esm/asyncToGenerator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/helpers/esm/asyncToGenerator.js"},{"id":"@babel/runtime/helpers/esm/inherits.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/helpers/esm/inherits.js"},{"id":"@babel/runtime/helpers/esm/setPrototypeOf.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/helpers/esm/setPrototypeOf.js"},{"id":"@babel/runtime/regenerator/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/regenerator/index.js"},{"id":"assets/src/bundles/save/artifact-form-row.ejs","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/save/artifact-form-row.ejs"},{"id":"assets/src/bundles/save/index.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/save/index.js"},{"id":"assets/src/utils/constants.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/constants.js"},{"id":"assets/src/utils/functions.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/functions.js"},{"id":"assets/src/utils/requests-filter-checkbox.ejs","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/requests-filter-checkbox.ejs"},{"id":"js-cookie/dist/js.cookie.mjs","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/js-cookie/LICENSE.txt"}],"src_url":"/static/jssources/js-cookie/dist/js.cookie.mjs"},{"id":"regenerator-runtime/runtime.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/regenerator-runtime/LICENSE.txt"}],"src_url":"/static/jssources/regenerator-runtime/runtime.js"}],"/static/js/vault.e2e8f042b9c742390872.js":[{"id":"@babel/runtime/helpers/esm/asyncToGenerator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/helpers/esm/asyncToGenerator.js"},{"id":"@babel/runtime/regenerator/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/regenerator/index.js"},{"id":"assets/src/bundles/vault/index.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/vault/index.js"},{"id":"assets/src/bundles/vault/vault-create-tasks.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/vault/vault-create-tasks.js"},{"id":"assets/src/bundles/vault/vault-table-row.ejs","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/vault/vault-table-row.ejs"},{"id":"assets/src/bundles/vault/vault-ui.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/vault/vault-ui.js"},{"id":"assets/src/utils/functions.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/functions.js"},{"id":"email-validator/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/email-validator/LICENSE.txt"}],"src_url":"/static/jssources/email-validator/index.js"},{"id":"js-cookie/dist/js.cookie.mjs","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/js-cookie/LICENSE.txt"}],"src_url":"/static/jssources/js-cookie/dist/js.cookie.mjs"},{"id":"regenerator-runtime/runtime.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/regenerator-runtime/LICENSE.txt"}],"src_url":"/static/jssources/regenerator-runtime/runtime.js"}],"/static/js/vendors.d43ce19d06b487934799.js":[{"id":"admin-lte/dist/js/adminlte.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/admin-lte/LICENSE.txt"}],"src_url":"/static/jssources/admin-lte/dist/js/adminlte.js"},{"id":"assets/src/bundles/vendors/elementsfrompoint-polyfill.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/vendors/elementsfrompoint-polyfill.js"},{"id":"assets/src/bundles/vendors/index.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/vendors/index.js"},{"id":"bootstrap/js/dist/alert.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/bootstrap/LICENSE.txt"}],"src_url":"/static/jssources/bootstrap/js/dist/alert.js"},{"id":"bootstrap/js/dist/button.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/bootstrap/LICENSE.txt"}],"src_url":"/static/jssources/bootstrap/js/dist/button.js"},{"id":"bootstrap/js/dist/carousel.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/bootstrap/LICENSE.txt"}],"src_url":"/static/jssources/bootstrap/js/dist/carousel.js"},{"id":"bootstrap/js/dist/collapse.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/bootstrap/LICENSE.txt"}],"src_url":"/static/jssources/bootstrap/js/dist/collapse.js"},{"id":"bootstrap/js/dist/dropdown.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/bootstrap/LICENSE.txt"}],"src_url":"/static/jssources/bootstrap/js/dist/dropdown.js"},{"id":"bootstrap/js/dist/modal.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/bootstrap/LICENSE.txt"}],"src_url":"/static/jssources/bootstrap/js/dist/modal.js"},{"id":"bootstrap/js/dist/popover.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/bootstrap/LICENSE.txt"}],"src_url":"/static/jssources/bootstrap/js/dist/popover.js"},{"id":"bootstrap/js/dist/scrollspy.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/bootstrap/LICENSE.txt"}],"src_url":"/static/jssources/bootstrap/js/dist/scrollspy.js"},{"id":"bootstrap/js/dist/tab.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/bootstrap/LICENSE.txt"}],"src_url":"/static/jssources/bootstrap/js/dist/tab.js"},{"id":"bootstrap/js/dist/tooltip.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/bootstrap/LICENSE.txt"}],"src_url":"/static/jssources/bootstrap/js/dist/tooltip.js"},{"id":"bootstrap/js/dist/util.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/bootstrap/LICENSE.txt"}],"src_url":"/static/jssources/bootstrap/js/dist/util.js"},{"id":"chosen-js/chosen.jquery.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/chosen-js/LICENSE.md"}],"src_url":"/static/jssources/chosen-js/chosen.jquery.js"},{"id":"core-js/internals/a-callable.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/a-callable.js"},{"id":"core-js/internals/a-constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/a-constructor.js"},{"id":"core-js/internals/a-possible-prototype.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/a-possible-prototype.js"},{"id":"core-js/internals/add-to-unscopables.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/add-to-unscopables.js"},{"id":"core-js/internals/advance-string-index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/advance-string-index.js"},{"id":"core-js/internals/an-instance.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/an-instance.js"},{"id":"core-js/internals/an-object.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/an-object.js"},{"id":"core-js/internals/array-buffer-native.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-buffer-native.js"},{"id":"core-js/internals/array-buffer-non-extensible.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-buffer-non-extensible.js"},{"id":"core-js/internals/array-buffer-view-core.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-buffer-view-core.js"},{"id":"core-js/internals/array-buffer.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-buffer.js"},{"id":"core-js/internals/array-copy-within.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-copy-within.js"},{"id":"core-js/internals/array-fill.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-fill.js"},{"id":"core-js/internals/array-for-each.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-for-each.js"},{"id":"core-js/internals/array-from-constructor-and-list.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-from-constructor-and-list.js"},{"id":"core-js/internals/array-from.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-from.js"},{"id":"core-js/internals/array-includes.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-includes.js"},{"id":"core-js/internals/array-iteration.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-iteration.js"},{"id":"core-js/internals/array-last-index-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-last-index-of.js"},{"id":"core-js/internals/array-method-has-species-support.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-method-has-species-support.js"},{"id":"core-js/internals/array-method-is-strict.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-method-is-strict.js"},{"id":"core-js/internals/array-reduce.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-reduce.js"},{"id":"core-js/internals/array-slice-simple.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-slice-simple.js"},{"id":"core-js/internals/array-slice.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-slice.js"},{"id":"core-js/internals/array-sort.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-sort.js"},{"id":"core-js/internals/array-species-constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-species-constructor.js"},{"id":"core-js/internals/array-species-create.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/array-species-create.js"},{"id":"core-js/internals/base64-map.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/base64-map.js"},{"id":"core-js/internals/call-with-safe-iteration-closing.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/call-with-safe-iteration-closing.js"},{"id":"core-js/internals/check-correctness-of-iteration.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/check-correctness-of-iteration.js"},{"id":"core-js/internals/classof-raw.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/classof-raw.js"},{"id":"core-js/internals/classof.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/classof.js"},{"id":"core-js/internals/clear-error-stack.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/clear-error-stack.js"},{"id":"core-js/internals/collection-strong.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/collection-strong.js"},{"id":"core-js/internals/collection-weak.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/collection-weak.js"},{"id":"core-js/internals/collection.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/collection.js"},{"id":"core-js/internals/copy-constructor-properties.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/copy-constructor-properties.js"},{"id":"core-js/internals/correct-is-regexp-logic.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/correct-is-regexp-logic.js"},{"id":"core-js/internals/correct-prototype-getter.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/correct-prototype-getter.js"},{"id":"core-js/internals/create-html.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/create-html.js"},{"id":"core-js/internals/create-iterator-constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/create-iterator-constructor.js"},{"id":"core-js/internals/create-non-enumerable-property.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/create-non-enumerable-property.js"},{"id":"core-js/internals/create-property-descriptor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/create-property-descriptor.js"},{"id":"core-js/internals/create-property.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/create-property.js"},{"id":"core-js/internals/date-to-iso-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/date-to-iso-string.js"},{"id":"core-js/internals/date-to-primitive.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/date-to-primitive.js"},{"id":"core-js/internals/define-built-in-accessor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/define-built-in-accessor.js"},{"id":"core-js/internals/define-built-in.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/define-built-in.js"},{"id":"core-js/internals/define-built-ins.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/define-built-ins.js"},{"id":"core-js/internals/define-iterator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/define-iterator.js"},{"id":"core-js/internals/define-well-known-symbol.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/define-well-known-symbol.js"},{"id":"core-js/internals/descriptors.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/descriptors.js"},{"id":"core-js/internals/document-create-element.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/document-create-element.js"},{"id":"core-js/internals/dom-exception-constants.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/dom-exception-constants.js"},{"id":"core-js/internals/dom-iterables.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/dom-iterables.js"},{"id":"core-js/internals/dom-token-list-prototype.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/dom-token-list-prototype.js"},{"id":"core-js/internals/engine-ff-version.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/engine-ff-version.js"},{"id":"core-js/internals/engine-is-browser.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/engine-is-browser.js"},{"id":"core-js/internals/engine-is-ie-or-edge.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/engine-is-ie-or-edge.js"},{"id":"core-js/internals/engine-is-ios-pebble.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/engine-is-ios-pebble.js"},{"id":"core-js/internals/engine-is-ios.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/engine-is-ios.js"},{"id":"core-js/internals/engine-is-node.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/engine-is-node.js"},{"id":"core-js/internals/engine-is-webos-webkit.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/engine-is-webos-webkit.js"},{"id":"core-js/internals/engine-user-agent.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/engine-user-agent.js"},{"id":"core-js/internals/engine-v8-version.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/engine-v8-version.js"},{"id":"core-js/internals/engine-webkit-version.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/engine-webkit-version.js"},{"id":"core-js/internals/enum-bug-keys.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/enum-bug-keys.js"},{"id":"core-js/internals/error-stack-installable.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/error-stack-installable.js"},{"id":"core-js/internals/error-to-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/error-to-string.js"},{"id":"core-js/internals/export.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/export.js"},{"id":"core-js/internals/fails.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/fails.js"},{"id":"core-js/internals/fix-regexp-well-known-symbol-logic.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/fix-regexp-well-known-symbol-logic.js"},{"id":"core-js/internals/flatten-into-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/flatten-into-array.js"},{"id":"core-js/internals/freezing.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/freezing.js"},{"id":"core-js/internals/function-apply.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/function-apply.js"},{"id":"core-js/internals/function-bind-context.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/function-bind-context.js"},{"id":"core-js/internals/function-bind-native.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/function-bind-native.js"},{"id":"core-js/internals/function-bind.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/function-bind.js"},{"id":"core-js/internals/function-call.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/function-call.js"},{"id":"core-js/internals/function-name.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/function-name.js"},{"id":"core-js/internals/function-uncurry-this.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/function-uncurry-this.js"},{"id":"core-js/internals/get-built-in.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/get-built-in.js"},{"id":"core-js/internals/get-iterator-method.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/get-iterator-method.js"},{"id":"core-js/internals/get-iterator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/get-iterator.js"},{"id":"core-js/internals/get-method.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/get-method.js"},{"id":"core-js/internals/get-substitution.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/get-substitution.js"},{"id":"core-js/internals/global.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/global.js"},{"id":"core-js/internals/has-own-property.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/has-own-property.js"},{"id":"core-js/internals/hidden-keys.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/hidden-keys.js"},{"id":"core-js/internals/host-report-errors.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/host-report-errors.js"},{"id":"core-js/internals/html.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/html.js"},{"id":"core-js/internals/ie8-dom-define.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/ie8-dom-define.js"},{"id":"core-js/internals/ieee754.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/ieee754.js"},{"id":"core-js/internals/indexed-object.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/indexed-object.js"},{"id":"core-js/internals/inherit-if-required.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/inherit-if-required.js"},{"id":"core-js/internals/inspect-source.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/inspect-source.js"},{"id":"core-js/internals/install-error-cause.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/install-error-cause.js"},{"id":"core-js/internals/internal-metadata.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/internal-metadata.js"},{"id":"core-js/internals/internal-state.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/internal-state.js"},{"id":"core-js/internals/is-array-iterator-method.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/is-array-iterator-method.js"},{"id":"core-js/internals/is-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/is-array.js"},{"id":"core-js/internals/is-callable.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/is-callable.js"},{"id":"core-js/internals/is-constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/is-constructor.js"},{"id":"core-js/internals/is-data-descriptor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/is-data-descriptor.js"},{"id":"core-js/internals/is-forced.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/is-forced.js"},{"id":"core-js/internals/is-integral-number.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/is-integral-number.js"},{"id":"core-js/internals/is-object.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/is-object.js"},{"id":"core-js/internals/is-pure.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/is-pure.js"},{"id":"core-js/internals/is-regexp.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/is-regexp.js"},{"id":"core-js/internals/is-symbol.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/is-symbol.js"},{"id":"core-js/internals/iterate.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/iterate.js"},{"id":"core-js/internals/iterator-close.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/iterator-close.js"},{"id":"core-js/internals/iterators-core.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/iterators-core.js"},{"id":"core-js/internals/iterators.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/iterators.js"},{"id":"core-js/internals/length-of-array-like.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/length-of-array-like.js"},{"id":"core-js/internals/make-built-in.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/make-built-in.js"},{"id":"core-js/internals/math-expm1.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/math-expm1.js"},{"id":"core-js/internals/math-fround.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/math-fround.js"},{"id":"core-js/internals/math-log10.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/math-log10.js"},{"id":"core-js/internals/math-log1p.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/math-log1p.js"},{"id":"core-js/internals/math-sign.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/math-sign.js"},{"id":"core-js/internals/microtask.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/microtask.js"},{"id":"core-js/internals/native-symbol-registry.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/native-symbol-registry.js"},{"id":"core-js/internals/native-symbol.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/native-symbol.js"},{"id":"core-js/internals/native-url.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/native-url.js"},{"id":"core-js/internals/native-weak-map.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/native-weak-map.js"},{"id":"core-js/internals/new-promise-capability.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/new-promise-capability.js"},{"id":"core-js/internals/normalize-string-argument.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/normalize-string-argument.js"},{"id":"core-js/internals/not-a-regexp.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/not-a-regexp.js"},{"id":"core-js/internals/number-is-finite.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/number-is-finite.js"},{"id":"core-js/internals/number-parse-float.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/number-parse-float.js"},{"id":"core-js/internals/number-parse-int.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/number-parse-int.js"},{"id":"core-js/internals/object-assign.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-assign.js"},{"id":"core-js/internals/object-create.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-create.js"},{"id":"core-js/internals/object-define-properties.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-define-properties.js"},{"id":"core-js/internals/object-define-property.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-define-property.js"},{"id":"core-js/internals/object-get-own-property-descriptor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-get-own-property-descriptor.js"},{"id":"core-js/internals/object-get-own-property-names-external.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-get-own-property-names-external.js"},{"id":"core-js/internals/object-get-own-property-names.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-get-own-property-names.js"},{"id":"core-js/internals/object-get-own-property-symbols.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-get-own-property-symbols.js"},{"id":"core-js/internals/object-get-prototype-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-get-prototype-of.js"},{"id":"core-js/internals/object-is-extensible.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-is-extensible.js"},{"id":"core-js/internals/object-is-prototype-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-is-prototype-of.js"},{"id":"core-js/internals/object-keys-internal.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-keys-internal.js"},{"id":"core-js/internals/object-keys.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-keys.js"},{"id":"core-js/internals/object-property-is-enumerable.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-property-is-enumerable.js"},{"id":"core-js/internals/object-prototype-accessors-forced.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-prototype-accessors-forced.js"},{"id":"core-js/internals/object-set-prototype-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-set-prototype-of.js"},{"id":"core-js/internals/object-to-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-to-array.js"},{"id":"core-js/internals/object-to-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/object-to-string.js"},{"id":"core-js/internals/ordinary-to-primitive.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/ordinary-to-primitive.js"},{"id":"core-js/internals/own-keys.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/own-keys.js"},{"id":"core-js/internals/path.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/path.js"},{"id":"core-js/internals/perform.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/perform.js"},{"id":"core-js/internals/promise-constructor-detection.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/promise-constructor-detection.js"},{"id":"core-js/internals/promise-native-constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/promise-native-constructor.js"},{"id":"core-js/internals/promise-resolve.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/promise-resolve.js"},{"id":"core-js/internals/promise-statics-incorrect-iteration.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/promise-statics-incorrect-iteration.js"},{"id":"core-js/internals/proxy-accessor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/proxy-accessor.js"},{"id":"core-js/internals/queue.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/queue.js"},{"id":"core-js/internals/regexp-exec-abstract.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/regexp-exec-abstract.js"},{"id":"core-js/internals/regexp-exec.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/regexp-exec.js"},{"id":"core-js/internals/regexp-flags.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/regexp-flags.js"},{"id":"core-js/internals/regexp-get-flags.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/regexp-get-flags.js"},{"id":"core-js/internals/regexp-sticky-helpers.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/regexp-sticky-helpers.js"},{"id":"core-js/internals/regexp-unsupported-dot-all.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/regexp-unsupported-dot-all.js"},{"id":"core-js/internals/regexp-unsupported-ncg.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/regexp-unsupported-ncg.js"},{"id":"core-js/internals/require-object-coercible.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/require-object-coercible.js"},{"id":"core-js/internals/same-value.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/same-value.js"},{"id":"core-js/internals/schedulers-fix.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/schedulers-fix.js"},{"id":"core-js/internals/set-global.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/set-global.js"},{"id":"core-js/internals/set-species.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/set-species.js"},{"id":"core-js/internals/set-to-string-tag.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/set-to-string-tag.js"},{"id":"core-js/internals/shared-key.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/shared-key.js"},{"id":"core-js/internals/shared-store.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/shared-store.js"},{"id":"core-js/internals/shared.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/shared.js"},{"id":"core-js/internals/species-constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/species-constructor.js"},{"id":"core-js/internals/string-html-forced.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/string-html-forced.js"},{"id":"core-js/internals/string-multibyte.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/string-multibyte.js"},{"id":"core-js/internals/string-pad-webkit-bug.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/string-pad-webkit-bug.js"},{"id":"core-js/internals/string-pad.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/string-pad.js"},{"id":"core-js/internals/string-punycode-to-ascii.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/string-punycode-to-ascii.js"},{"id":"core-js/internals/string-repeat.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/string-repeat.js"},{"id":"core-js/internals/string-trim-end.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/string-trim-end.js"},{"id":"core-js/internals/string-trim-forced.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/string-trim-forced.js"},{"id":"core-js/internals/string-trim-start.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/string-trim-start.js"},{"id":"core-js/internals/string-trim.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/string-trim.js"},{"id":"core-js/internals/symbol-define-to-primitive.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/symbol-define-to-primitive.js"},{"id":"core-js/internals/task.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/task.js"},{"id":"core-js/internals/this-number-value.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/this-number-value.js"},{"id":"core-js/internals/to-absolute-index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-absolute-index.js"},{"id":"core-js/internals/to-index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-index.js"},{"id":"core-js/internals/to-indexed-object.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-indexed-object.js"},{"id":"core-js/internals/to-integer-or-infinity.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-integer-or-infinity.js"},{"id":"core-js/internals/to-length.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-length.js"},{"id":"core-js/internals/to-object.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-object.js"},{"id":"core-js/internals/to-offset.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-offset.js"},{"id":"core-js/internals/to-positive-integer.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-positive-integer.js"},{"id":"core-js/internals/to-primitive.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-primitive.js"},{"id":"core-js/internals/to-property-key.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-property-key.js"},{"id":"core-js/internals/to-string-tag-support.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-string-tag-support.js"},{"id":"core-js/internals/to-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/to-string.js"},{"id":"core-js/internals/try-node-require.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/try-node-require.js"},{"id":"core-js/internals/try-to-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/try-to-string.js"},{"id":"core-js/internals/typed-array-constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/typed-array-constructor.js"},{"id":"core-js/internals/typed-array-constructors-require-wrappers.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/typed-array-constructors-require-wrappers.js"},{"id":"core-js/internals/typed-array-from-species-and-list.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/typed-array-from-species-and-list.js"},{"id":"core-js/internals/typed-array-from.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/typed-array-from.js"},{"id":"core-js/internals/typed-array-species-constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/typed-array-species-constructor.js"},{"id":"core-js/internals/uid.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/uid.js"},{"id":"core-js/internals/use-symbol-as-uid.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/use-symbol-as-uid.js"},{"id":"core-js/internals/v8-prototype-define-bug.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/v8-prototype-define-bug.js"},{"id":"core-js/internals/validate-arguments-length.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/validate-arguments-length.js"},{"id":"core-js/internals/well-known-symbol-wrapped.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/well-known-symbol-wrapped.js"},{"id":"core-js/internals/well-known-symbol.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/well-known-symbol.js"},{"id":"core-js/internals/whitespaces.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/whitespaces.js"},{"id":"core-js/internals/wrap-error-constructor-with-cause.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/internals/wrap-error-constructor-with-cause.js"},{"id":"core-js/modules/es.aggregate-error.cause.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.aggregate-error.cause.js"},{"id":"core-js/modules/es.aggregate-error.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.aggregate-error.constructor.js"},{"id":"core-js/modules/es.aggregate-error.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.aggregate-error.js"},{"id":"core-js/modules/es.array-buffer.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array-buffer.constructor.js"},{"id":"core-js/modules/es.array-buffer.is-view.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array-buffer.is-view.js"},{"id":"core-js/modules/es.array-buffer.slice.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array-buffer.slice.js"},{"id":"core-js/modules/es.array.at.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.at.js"},{"id":"core-js/modules/es.array.concat.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.concat.js"},{"id":"core-js/modules/es.array.copy-within.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.copy-within.js"},{"id":"core-js/modules/es.array.every.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.every.js"},{"id":"core-js/modules/es.array.fill.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.fill.js"},{"id":"core-js/modules/es.array.filter.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.filter.js"},{"id":"core-js/modules/es.array.find-index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.find-index.js"},{"id":"core-js/modules/es.array.find.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.find.js"},{"id":"core-js/modules/es.array.flat-map.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.flat-map.js"},{"id":"core-js/modules/es.array.flat.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.flat.js"},{"id":"core-js/modules/es.array.for-each.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.for-each.js"},{"id":"core-js/modules/es.array.from.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.from.js"},{"id":"core-js/modules/es.array.includes.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.includes.js"},{"id":"core-js/modules/es.array.index-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.index-of.js"},{"id":"core-js/modules/es.array.is-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.is-array.js"},{"id":"core-js/modules/es.array.iterator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.iterator.js"},{"id":"core-js/modules/es.array.join.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.join.js"},{"id":"core-js/modules/es.array.last-index-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.last-index-of.js"},{"id":"core-js/modules/es.array.map.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.map.js"},{"id":"core-js/modules/es.array.of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.of.js"},{"id":"core-js/modules/es.array.reduce-right.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.reduce-right.js"},{"id":"core-js/modules/es.array.reduce.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.reduce.js"},{"id":"core-js/modules/es.array.reverse.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.reverse.js"},{"id":"core-js/modules/es.array.slice.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.slice.js"},{"id":"core-js/modules/es.array.some.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.some.js"},{"id":"core-js/modules/es.array.sort.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.sort.js"},{"id":"core-js/modules/es.array.species.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.species.js"},{"id":"core-js/modules/es.array.splice.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.splice.js"},{"id":"core-js/modules/es.array.unscopables.flat-map.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.unscopables.flat-map.js"},{"id":"core-js/modules/es.array.unscopables.flat.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.array.unscopables.flat.js"},{"id":"core-js/modules/es.data-view.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.data-view.constructor.js"},{"id":"core-js/modules/es.data-view.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.data-view.js"},{"id":"core-js/modules/es.date.get-year.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.date.get-year.js"},{"id":"core-js/modules/es.date.now.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.date.now.js"},{"id":"core-js/modules/es.date.set-year.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.date.set-year.js"},{"id":"core-js/modules/es.date.to-gmt-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.date.to-gmt-string.js"},{"id":"core-js/modules/es.date.to-iso-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.date.to-iso-string.js"},{"id":"core-js/modules/es.date.to-json.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.date.to-json.js"},{"id":"core-js/modules/es.date.to-primitive.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.date.to-primitive.js"},{"id":"core-js/modules/es.date.to-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.date.to-string.js"},{"id":"core-js/modules/es.error.cause.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.error.cause.js"},{"id":"core-js/modules/es.error.to-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.error.to-string.js"},{"id":"core-js/modules/es.escape.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.escape.js"},{"id":"core-js/modules/es.function.bind.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.function.bind.js"},{"id":"core-js/modules/es.function.has-instance.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.function.has-instance.js"},{"id":"core-js/modules/es.function.name.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.function.name.js"},{"id":"core-js/modules/es.global-this.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.global-this.js"},{"id":"core-js/modules/es.json.stringify.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.json.stringify.js"},{"id":"core-js/modules/es.json.to-string-tag.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.json.to-string-tag.js"},{"id":"core-js/modules/es.map.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.map.constructor.js"},{"id":"core-js/modules/es.map.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.map.js"},{"id":"core-js/modules/es.math.acosh.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.acosh.js"},{"id":"core-js/modules/es.math.asinh.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.asinh.js"},{"id":"core-js/modules/es.math.atanh.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.atanh.js"},{"id":"core-js/modules/es.math.cbrt.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.cbrt.js"},{"id":"core-js/modules/es.math.clz32.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.clz32.js"},{"id":"core-js/modules/es.math.cosh.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.cosh.js"},{"id":"core-js/modules/es.math.expm1.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.expm1.js"},{"id":"core-js/modules/es.math.fround.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.fround.js"},{"id":"core-js/modules/es.math.hypot.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.hypot.js"},{"id":"core-js/modules/es.math.imul.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.imul.js"},{"id":"core-js/modules/es.math.log10.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.log10.js"},{"id":"core-js/modules/es.math.log1p.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.log1p.js"},{"id":"core-js/modules/es.math.log2.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.log2.js"},{"id":"core-js/modules/es.math.sign.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.sign.js"},{"id":"core-js/modules/es.math.sinh.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.sinh.js"},{"id":"core-js/modules/es.math.tanh.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.tanh.js"},{"id":"core-js/modules/es.math.to-string-tag.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.to-string-tag.js"},{"id":"core-js/modules/es.math.trunc.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.math.trunc.js"},{"id":"core-js/modules/es.number.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.constructor.js"},{"id":"core-js/modules/es.number.epsilon.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.epsilon.js"},{"id":"core-js/modules/es.number.is-finite.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.is-finite.js"},{"id":"core-js/modules/es.number.is-integer.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.is-integer.js"},{"id":"core-js/modules/es.number.is-nan.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.is-nan.js"},{"id":"core-js/modules/es.number.is-safe-integer.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.is-safe-integer.js"},{"id":"core-js/modules/es.number.max-safe-integer.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.max-safe-integer.js"},{"id":"core-js/modules/es.number.min-safe-integer.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.min-safe-integer.js"},{"id":"core-js/modules/es.number.parse-float.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.parse-float.js"},{"id":"core-js/modules/es.number.parse-int.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.parse-int.js"},{"id":"core-js/modules/es.number.to-exponential.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.to-exponential.js"},{"id":"core-js/modules/es.number.to-fixed.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.to-fixed.js"},{"id":"core-js/modules/es.number.to-precision.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.number.to-precision.js"},{"id":"core-js/modules/es.object.assign.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.assign.js"},{"id":"core-js/modules/es.object.create.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.create.js"},{"id":"core-js/modules/es.object.define-getter.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.define-getter.js"},{"id":"core-js/modules/es.object.define-properties.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.define-properties.js"},{"id":"core-js/modules/es.object.define-property.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.define-property.js"},{"id":"core-js/modules/es.object.define-setter.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.define-setter.js"},{"id":"core-js/modules/es.object.entries.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.entries.js"},{"id":"core-js/modules/es.object.freeze.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.freeze.js"},{"id":"core-js/modules/es.object.from-entries.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.from-entries.js"},{"id":"core-js/modules/es.object.get-own-property-descriptor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.get-own-property-descriptor.js"},{"id":"core-js/modules/es.object.get-own-property-descriptors.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.get-own-property-descriptors.js"},{"id":"core-js/modules/es.object.get-own-property-names.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.get-own-property-names.js"},{"id":"core-js/modules/es.object.get-own-property-symbols.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.get-own-property-symbols.js"},{"id":"core-js/modules/es.object.get-prototype-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.get-prototype-of.js"},{"id":"core-js/modules/es.object.has-own.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.has-own.js"},{"id":"core-js/modules/es.object.is-extensible.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.is-extensible.js"},{"id":"core-js/modules/es.object.is-frozen.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.is-frozen.js"},{"id":"core-js/modules/es.object.is-sealed.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.is-sealed.js"},{"id":"core-js/modules/es.object.is.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.is.js"},{"id":"core-js/modules/es.object.keys.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.keys.js"},{"id":"core-js/modules/es.object.lookup-getter.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.lookup-getter.js"},{"id":"core-js/modules/es.object.lookup-setter.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.lookup-setter.js"},{"id":"core-js/modules/es.object.prevent-extensions.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.prevent-extensions.js"},{"id":"core-js/modules/es.object.seal.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.seal.js"},{"id":"core-js/modules/es.object.set-prototype-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.set-prototype-of.js"},{"id":"core-js/modules/es.object.to-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.to-string.js"},{"id":"core-js/modules/es.object.values.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.object.values.js"},{"id":"core-js/modules/es.parse-float.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.parse-float.js"},{"id":"core-js/modules/es.parse-int.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.parse-int.js"},{"id":"core-js/modules/es.promise.all-settled.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.promise.all-settled.js"},{"id":"core-js/modules/es.promise.all.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.promise.all.js"},{"id":"core-js/modules/es.promise.any.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.promise.any.js"},{"id":"core-js/modules/es.promise.catch.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.promise.catch.js"},{"id":"core-js/modules/es.promise.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.promise.constructor.js"},{"id":"core-js/modules/es.promise.finally.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.promise.finally.js"},{"id":"core-js/modules/es.promise.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.promise.js"},{"id":"core-js/modules/es.promise.race.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.promise.race.js"},{"id":"core-js/modules/es.promise.reject.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.promise.reject.js"},{"id":"core-js/modules/es.promise.resolve.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.promise.resolve.js"},{"id":"core-js/modules/es.reflect.apply.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.apply.js"},{"id":"core-js/modules/es.reflect.construct.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.construct.js"},{"id":"core-js/modules/es.reflect.define-property.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.define-property.js"},{"id":"core-js/modules/es.reflect.delete-property.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.delete-property.js"},{"id":"core-js/modules/es.reflect.get-own-property-descriptor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.get-own-property-descriptor.js"},{"id":"core-js/modules/es.reflect.get-prototype-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.get-prototype-of.js"},{"id":"core-js/modules/es.reflect.get.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.get.js"},{"id":"core-js/modules/es.reflect.has.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.has.js"},{"id":"core-js/modules/es.reflect.is-extensible.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.is-extensible.js"},{"id":"core-js/modules/es.reflect.own-keys.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.own-keys.js"},{"id":"core-js/modules/es.reflect.prevent-extensions.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.prevent-extensions.js"},{"id":"core-js/modules/es.reflect.set-prototype-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.set-prototype-of.js"},{"id":"core-js/modules/es.reflect.set.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.set.js"},{"id":"core-js/modules/es.reflect.to-string-tag.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.reflect.to-string-tag.js"},{"id":"core-js/modules/es.regexp.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.regexp.constructor.js"},{"id":"core-js/modules/es.regexp.dot-all.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.regexp.dot-all.js"},{"id":"core-js/modules/es.regexp.exec.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.regexp.exec.js"},{"id":"core-js/modules/es.regexp.flags.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.regexp.flags.js"},{"id":"core-js/modules/es.regexp.sticky.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.regexp.sticky.js"},{"id":"core-js/modules/es.regexp.test.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.regexp.test.js"},{"id":"core-js/modules/es.regexp.to-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.regexp.to-string.js"},{"id":"core-js/modules/es.set.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.set.constructor.js"},{"id":"core-js/modules/es.set.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.set.js"},{"id":"core-js/modules/es.string.anchor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.anchor.js"},{"id":"core-js/modules/es.string.at-alternative.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.at-alternative.js"},{"id":"core-js/modules/es.string.big.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.big.js"},{"id":"core-js/modules/es.string.blink.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.blink.js"},{"id":"core-js/modules/es.string.bold.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.bold.js"},{"id":"core-js/modules/es.string.code-point-at.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.code-point-at.js"},{"id":"core-js/modules/es.string.ends-with.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.ends-with.js"},{"id":"core-js/modules/es.string.fixed.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.fixed.js"},{"id":"core-js/modules/es.string.fontcolor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.fontcolor.js"},{"id":"core-js/modules/es.string.fontsize.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.fontsize.js"},{"id":"core-js/modules/es.string.from-code-point.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.from-code-point.js"},{"id":"core-js/modules/es.string.includes.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.includes.js"},{"id":"core-js/modules/es.string.italics.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.italics.js"},{"id":"core-js/modules/es.string.iterator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.iterator.js"},{"id":"core-js/modules/es.string.link.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.link.js"},{"id":"core-js/modules/es.string.match-all.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.match-all.js"},{"id":"core-js/modules/es.string.match.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.match.js"},{"id":"core-js/modules/es.string.pad-end.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.pad-end.js"},{"id":"core-js/modules/es.string.pad-start.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.pad-start.js"},{"id":"core-js/modules/es.string.raw.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.raw.js"},{"id":"core-js/modules/es.string.repeat.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.repeat.js"},{"id":"core-js/modules/es.string.replace-all.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.replace-all.js"},{"id":"core-js/modules/es.string.replace.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.replace.js"},{"id":"core-js/modules/es.string.search.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.search.js"},{"id":"core-js/modules/es.string.small.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.small.js"},{"id":"core-js/modules/es.string.split.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.split.js"},{"id":"core-js/modules/es.string.starts-with.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.starts-with.js"},{"id":"core-js/modules/es.string.strike.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.strike.js"},{"id":"core-js/modules/es.string.sub.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.sub.js"},{"id":"core-js/modules/es.string.substr.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.substr.js"},{"id":"core-js/modules/es.string.sup.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.sup.js"},{"id":"core-js/modules/es.string.trim-end.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.trim-end.js"},{"id":"core-js/modules/es.string.trim-left.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.trim-left.js"},{"id":"core-js/modules/es.string.trim-right.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.trim-right.js"},{"id":"core-js/modules/es.string.trim-start.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.trim-start.js"},{"id":"core-js/modules/es.string.trim.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.string.trim.js"},{"id":"core-js/modules/es.symbol.async-iterator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.async-iterator.js"},{"id":"core-js/modules/es.symbol.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.constructor.js"},{"id":"core-js/modules/es.symbol.description.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.description.js"},{"id":"core-js/modules/es.symbol.for.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.for.js"},{"id":"core-js/modules/es.symbol.has-instance.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.has-instance.js"},{"id":"core-js/modules/es.symbol.is-concat-spreadable.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.is-concat-spreadable.js"},{"id":"core-js/modules/es.symbol.iterator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.iterator.js"},{"id":"core-js/modules/es.symbol.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.js"},{"id":"core-js/modules/es.symbol.key-for.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.key-for.js"},{"id":"core-js/modules/es.symbol.match-all.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.match-all.js"},{"id":"core-js/modules/es.symbol.match.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.match.js"},{"id":"core-js/modules/es.symbol.replace.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.replace.js"},{"id":"core-js/modules/es.symbol.search.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.search.js"},{"id":"core-js/modules/es.symbol.species.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.species.js"},{"id":"core-js/modules/es.symbol.split.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.split.js"},{"id":"core-js/modules/es.symbol.to-primitive.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.to-primitive.js"},{"id":"core-js/modules/es.symbol.to-string-tag.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.to-string-tag.js"},{"id":"core-js/modules/es.symbol.unscopables.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.symbol.unscopables.js"},{"id":"core-js/modules/es.typed-array.at.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.at.js"},{"id":"core-js/modules/es.typed-array.copy-within.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.copy-within.js"},{"id":"core-js/modules/es.typed-array.every.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.every.js"},{"id":"core-js/modules/es.typed-array.fill.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.fill.js"},{"id":"core-js/modules/es.typed-array.filter.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.filter.js"},{"id":"core-js/modules/es.typed-array.find-index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.find-index.js"},{"id":"core-js/modules/es.typed-array.find.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.find.js"},{"id":"core-js/modules/es.typed-array.float32-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.float32-array.js"},{"id":"core-js/modules/es.typed-array.float64-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.float64-array.js"},{"id":"core-js/modules/es.typed-array.for-each.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.for-each.js"},{"id":"core-js/modules/es.typed-array.from.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.from.js"},{"id":"core-js/modules/es.typed-array.includes.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.includes.js"},{"id":"core-js/modules/es.typed-array.index-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.index-of.js"},{"id":"core-js/modules/es.typed-array.int16-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.int16-array.js"},{"id":"core-js/modules/es.typed-array.int32-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.int32-array.js"},{"id":"core-js/modules/es.typed-array.int8-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.int8-array.js"},{"id":"core-js/modules/es.typed-array.iterator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.iterator.js"},{"id":"core-js/modules/es.typed-array.join.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.join.js"},{"id":"core-js/modules/es.typed-array.last-index-of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.last-index-of.js"},{"id":"core-js/modules/es.typed-array.map.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.map.js"},{"id":"core-js/modules/es.typed-array.of.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.of.js"},{"id":"core-js/modules/es.typed-array.reduce-right.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.reduce-right.js"},{"id":"core-js/modules/es.typed-array.reduce.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.reduce.js"},{"id":"core-js/modules/es.typed-array.reverse.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.reverse.js"},{"id":"core-js/modules/es.typed-array.set.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.set.js"},{"id":"core-js/modules/es.typed-array.slice.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.slice.js"},{"id":"core-js/modules/es.typed-array.some.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.some.js"},{"id":"core-js/modules/es.typed-array.sort.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.sort.js"},{"id":"core-js/modules/es.typed-array.subarray.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.subarray.js"},{"id":"core-js/modules/es.typed-array.to-locale-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.to-locale-string.js"},{"id":"core-js/modules/es.typed-array.to-string.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.to-string.js"},{"id":"core-js/modules/es.typed-array.uint16-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.uint16-array.js"},{"id":"core-js/modules/es.typed-array.uint32-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.uint32-array.js"},{"id":"core-js/modules/es.typed-array.uint8-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.uint8-array.js"},{"id":"core-js/modules/es.typed-array.uint8-clamped-array.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.typed-array.uint8-clamped-array.js"},{"id":"core-js/modules/es.unescape.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.unescape.js"},{"id":"core-js/modules/es.weak-map.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.weak-map.constructor.js"},{"id":"core-js/modules/es.weak-map.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.weak-map.js"},{"id":"core-js/modules/es.weak-set.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.weak-set.constructor.js"},{"id":"core-js/modules/es.weak-set.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/es.weak-set.js"},{"id":"core-js/modules/web.atob.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.atob.js"},{"id":"core-js/modules/web.btoa.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.btoa.js"},{"id":"core-js/modules/web.clear-immediate.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.clear-immediate.js"},{"id":"core-js/modules/web.dom-collections.for-each.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.dom-collections.for-each.js"},{"id":"core-js/modules/web.dom-collections.iterator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.dom-collections.iterator.js"},{"id":"core-js/modules/web.dom-exception.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.dom-exception.constructor.js"},{"id":"core-js/modules/web.dom-exception.stack.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.dom-exception.stack.js"},{"id":"core-js/modules/web.dom-exception.to-string-tag.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.dom-exception.to-string-tag.js"},{"id":"core-js/modules/web.immediate.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.immediate.js"},{"id":"core-js/modules/web.queue-microtask.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.queue-microtask.js"},{"id":"core-js/modules/web.set-immediate.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.set-immediate.js"},{"id":"core-js/modules/web.set-interval.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.set-interval.js"},{"id":"core-js/modules/web.set-timeout.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.set-timeout.js"},{"id":"core-js/modules/web.structured-clone.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.structured-clone.js"},{"id":"core-js/modules/web.timers.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.timers.js"},{"id":"core-js/modules/web.url-search-params.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.url-search-params.constructor.js"},{"id":"core-js/modules/web.url-search-params.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.url-search-params.js"},{"id":"core-js/modules/web.url.constructor.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.url.constructor.js"},{"id":"core-js/modules/web.url.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.url.js"},{"id":"core-js/modules/web.url.to-json.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/modules/web.url.to-json.js"},{"id":"core-js/stable/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/core-js/LICENSE.txt"}],"src_url":"/static/jssources/core-js/stable/index.js"},{"id":"datatables.net-bs4/js/dataTables.bootstrap4.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/datatables.net-bs4/License.txt"}],"src_url":"/static/jssources/datatables.net-bs4/js/dataTables.bootstrap4.js"},{"id":"datatables.net/js/jquery.dataTables.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/datatables.net/License.txt"}],"src_url":"/static/jssources/datatables.net/js/jquery.dataTables.js"},{"id":"expose-loader/dist/runtime/getGlobalThis.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/expose-loader/LICENSE.txt"}],"src_url":"/static/jssources/expose-loader/dist/runtime/getGlobalThis.js"},{"id":"iframe-resizer/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/iframe-resizer/LICENSE.txt"}],"src_url":"/static/jssources/iframe-resizer/index.js"},{"id":"iframe-resizer/js/iframeResizer.contentWindow.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/iframe-resizer/LICENSE.txt"}],"src_url":"/static/jssources/iframe-resizer/js/iframeResizer.contentWindow.js"},{"id":"iframe-resizer/js/iframeResizer.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/iframe-resizer/LICENSE.txt"}],"src_url":"/static/jssources/iframe-resizer/js/iframeResizer.js"},{"id":"iframe-resizer/js/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/iframe-resizer/LICENSE.txt"}],"src_url":"/static/jssources/iframe-resizer/js/index.js"},{"id":"jquery/dist/jquery-exposed.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/jquery/LICENSE.txt"}],"src_url":"/static/jssources/jquery/dist/jquery-exposed.js"},{"id":"jquery/dist/jquery.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/jquery/LICENSE.txt"}],"src_url":"/static/jssources/jquery/dist/jquery.js"},{"id":"js-cookie/dist/js.cookie.mjs","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/js-cookie/LICENSE.txt"}],"src_url":"/static/jssources/js-cookie/dist/js.cookie.mjs"},{"id":"popper.js/dist/esm/popper.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":""}],"src_url":"/static/jssources/popper.js/dist/esm/popper.js"},{"id":"regenerator-runtime/runtime.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/regenerator-runtime/LICENSE.txt"}],"src_url":"/static/jssources/regenerator-runtime/runtime.js"},{"id":"whatwg-fetch/dist/fetch.umd.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/whatwg-fetch/LICENSE.txt"}],"src_url":"/static/jssources/whatwg-fetch/dist/fetch.umd.js"}],"/static/js/webapp.90df29dadbec1b5bf1f7.js":[{"id":"@babel/runtime/helpers/esm/asyncToGenerator.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/helpers/esm/asyncToGenerator.js"},{"id":"@babel/runtime/regenerator/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/@babel/runtime/LICENSE.txt"}],"src_url":"/static/jssources/@babel/runtime/regenerator/index.js"},{"id":"@sentry/browser/esm/backend.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/backend.js"},{"id":"@sentry/browser/esm/client.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/client.js"},{"id":"@sentry/browser/esm/eventbuilder.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/eventbuilder.js"},{"id":"@sentry/browser/esm/flags.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/flags.js"},{"id":"@sentry/browser/esm/helpers.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/helpers.js"},{"id":"@sentry/browser/esm/integrations/breadcrumbs.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/integrations/breadcrumbs.js"},{"id":"@sentry/browser/esm/integrations/dedupe.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/integrations/dedupe.js"},{"id":"@sentry/browser/esm/integrations/globalhandlers.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/integrations/globalhandlers.js"},{"id":"@sentry/browser/esm/integrations/linkederrors.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/integrations/linkederrors.js"},{"id":"@sentry/browser/esm/integrations/trycatch.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/integrations/trycatch.js"},{"id":"@sentry/browser/esm/integrations/useragent.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/integrations/useragent.js"},{"id":"@sentry/browser/esm/sdk.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/sdk.js"},{"id":"@sentry/browser/esm/stack-parsers.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/stack-parsers.js"},{"id":"@sentry/browser/esm/transports/base.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/transports/base.js"},{"id":"@sentry/browser/esm/transports/fetch.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/transports/fetch.js"},{"id":"@sentry/browser/esm/transports/new-fetch.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/transports/new-fetch.js"},{"id":"@sentry/browser/esm/transports/new-xhr.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/transports/new-xhr.js"},{"id":"@sentry/browser/esm/transports/utils.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/transports/utils.js"},{"id":"@sentry/browser/esm/transports/xhr.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/browser/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/browser/esm/transports/xhr.js"},{"id":"@sentry/core/esm/api.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/api.js"},{"id":"@sentry/core/esm/basebackend.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/basebackend.js"},{"id":"@sentry/core/esm/baseclient.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/baseclient.js"},{"id":"@sentry/core/esm/flags.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/flags.js"},{"id":"@sentry/core/esm/integration.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/integration.js"},{"id":"@sentry/core/esm/integrations/functiontostring.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/integrations/functiontostring.js"},{"id":"@sentry/core/esm/integrations/inboundfilters.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/integrations/inboundfilters.js"},{"id":"@sentry/core/esm/request.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/request.js"},{"id":"@sentry/core/esm/sdk.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/sdk.js"},{"id":"@sentry/core/esm/transports/base.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/transports/base.js"},{"id":"@sentry/core/esm/transports/noop.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/transports/noop.js"},{"id":"@sentry/core/esm/version.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/core/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/core/esm/version.js"},{"id":"@sentry/hub/esm/flags.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/hub/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/hub/esm/flags.js"},{"id":"@sentry/hub/esm/hub.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/hub/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/hub/esm/hub.js"},{"id":"@sentry/hub/esm/scope.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/hub/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/hub/esm/scope.js"},{"id":"@sentry/hub/esm/session.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/hub/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/hub/esm/session.js"},{"id":"@sentry/minimal/esm/index.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/minimal/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/minimal/esm/index.js"},{"id":"@sentry/types/esm/severity.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/types/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/types/esm/severity.js"},{"id":"@sentry/utils/esm/async.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/async.js"},{"id":"@sentry/utils/esm/browser.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/browser.js"},{"id":"@sentry/utils/esm/clientreport.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/clientreport.js"},{"id":"@sentry/utils/esm/dsn.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/dsn.js"},{"id":"@sentry/utils/esm/enums.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/enums.js"},{"id":"@sentry/utils/esm/env.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/env.js"},{"id":"@sentry/utils/esm/envelope.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/envelope.js"},{"id":"@sentry/utils/esm/error.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/error.js"},{"id":"@sentry/utils/esm/flags.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/flags.js"},{"id":"@sentry/utils/esm/global.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/global.js"},{"id":"@sentry/utils/esm/instrument.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/instrument.js"},{"id":"@sentry/utils/esm/is.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/is.js"},{"id":"@sentry/utils/esm/logger.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/logger.js"},{"id":"@sentry/utils/esm/memo.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/memo.js"},{"id":"@sentry/utils/esm/misc.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/misc.js"},{"id":"@sentry/utils/esm/node.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/node.js"},{"id":"@sentry/utils/esm/normalize.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/normalize.js"},{"id":"@sentry/utils/esm/object.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/object.js"},{"id":"@sentry/utils/esm/polyfill.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/polyfill.js"},{"id":"@sentry/utils/esm/promisebuffer.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/promisebuffer.js"},{"id":"@sentry/utils/esm/ratelimit.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/ratelimit.js"},{"id":"@sentry/utils/esm/severity.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/severity.js"},{"id":"@sentry/utils/esm/stacktrace.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/stacktrace.js"},{"id":"@sentry/utils/esm/status.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/status.js"},{"id":"@sentry/utils/esm/string.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/string.js"},{"id":"@sentry/utils/esm/supports.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/supports.js"},{"id":"@sentry/utils/esm/syncpromise.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/syncpromise.js"},{"id":"@sentry/utils/esm/time.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/@sentry/utils/LICENSE.txt"}],"src_url":"/static/jssources/@sentry/utils/esm/time.js"},{"id":"ansi_up/ansi_up.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/ansi_up/LICENSE.txt"}],"src_url":"/static/jssources/ansi_up/ansi_up.js"},{"id":"assets/src/bundles/webapp/badges.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/badges.js"},{"id":"assets/src/bundles/webapp/code-highlighting.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/code-highlighting.js"},{"id":"assets/src/bundles/webapp/history-counters.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/history-counters.js"},{"id":"assets/src/bundles/webapp/iframes.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/iframes.js"},{"id":"assets/src/bundles/webapp/index.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/index.js"},{"id":"assets/src/bundles/webapp/math-typesetting.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/math-typesetting.js"},{"id":"assets/src/bundles/webapp/notebook-rendering.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/notebook-rendering.js"},{"id":"assets/src/bundles/webapp/pdf-rendering.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/pdf-rendering.js"},{"id":"assets/src/bundles/webapp/readme-rendering.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/readme-rendering.js"},{"id":"assets/src/bundles/webapp/sentry.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/sentry.js"},{"id":"assets/src/bundles/webapp/status-widget.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/status-widget.js"},{"id":"assets/src/bundles/webapp/webapp-utils.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/webapp-utils.js"},{"id":"assets/src/bundles/webapp/xss-filtering.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/bundles/webapp/xss-filtering.js"},{"id":"assets/src/utils/constants.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/constants.js"},{"id":"assets/src/utils/functions.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/functions.js"},{"id":"dompurify/dist/purify.js","licenses":[{"name":"Mozilla Public License 2.0","url":"http://www.mozilla.org/MPL/2.0","copy_url":"/static/jssources/dompurify/LICENSE.txt"},{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0","copy_url":"/static/jssources/dompurify/LICENSE.txt"}],"src_url":"/static/jssources/dompurify/dist/purify.js"},{"id":"he/he.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/he/LICENSE-MIT.txt.txt"}],"src_url":"/static/jssources/he/he.js"},{"id":"html-encoder-decoder/lib/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/html-encoder-decoder/LICENSE.txt"}],"src_url":"/static/jssources/html-encoder-decoder/lib/index.js"},{"id":"iterate-object/lib/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/iterate-object/LICENSE.txt"}],"src_url":"/static/jssources/iterate-object/lib/index.js"},{"id":"js-cookie/dist/js.cookie.mjs","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/js-cookie/LICENSE.txt"}],"src_url":"/static/jssources/js-cookie/dist/js.cookie.mjs"},{"id":"notebookjs/notebook.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/notebookjs/LICENSE.txt"}],"src_url":"/static/jssources/notebookjs/notebook.js"},{"id":"object-fit-images/dist/ofi.common-js.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/object-fit-images/license.txt"}],"src_url":"/static/jssources/object-fit-images/dist/ofi.common-js.js"},{"id":"regenerator-runtime/runtime.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/regenerator-runtime/LICENSE.txt"}],"src_url":"/static/jssources/regenerator-runtime/runtime.js"},{"id":"regex-escape/lib/index.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/regex-escape/LICENSE.txt"}],"src_url":"/static/jssources/regex-escape/lib/index.js"},{"id":"script-loader/addScript.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/script-loader/LICENSE.txt"}],"src_url":"/static/jssources/script-loader/addScript.js"},{"id":"tslib/tslib.es6.js","licenses":[{"name":"0BSD","url":"","copy_url":"/static/jssources/tslib/LICENSE.txt"}],"src_url":"/static/jssources/tslib/tslib.es6.js"}],"/static/js/d3.f989183a810fb9dbb086.js":[{"id":"assets/src/utils/d3.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/d3.js"},{"id":"d3-array/src/array.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/array.js"},{"id":"d3-array/src/ascending.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/ascending.js"},{"id":"d3-array/src/bin.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/bin.js"},{"id":"d3-array/src/bisect.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/bisect.js"},{"id":"d3-array/src/bisector.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/bisector.js"},{"id":"d3-array/src/constant.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/constant.js"},{"id":"d3-array/src/count.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/count.js"},{"id":"d3-array/src/cross.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/cross.js"},{"id":"d3-array/src/cumsum.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/cumsum.js"},{"id":"d3-array/src/descending.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/descending.js"},{"id":"d3-array/src/deviation.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/deviation.js"},{"id":"d3-array/src/difference.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/difference.js"},{"id":"d3-array/src/disjoint.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/disjoint.js"},{"id":"d3-array/src/every.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/every.js"},{"id":"d3-array/src/extent.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/extent.js"},{"id":"d3-array/src/filter.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/filter.js"},{"id":"d3-array/src/fsum.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/fsum.js"},{"id":"d3-array/src/greatest.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/greatest.js"},{"id":"d3-array/src/greatestIndex.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/greatestIndex.js"},{"id":"d3-array/src/group.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/group.js"},{"id":"d3-array/src/groupSort.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/groupSort.js"},{"id":"d3-array/src/identity.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/identity.js"},{"id":"d3-array/src/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/index.js"},{"id":"d3-array/src/intersection.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/intersection.js"},{"id":"d3-array/src/least.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/least.js"},{"id":"d3-array/src/leastIndex.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/leastIndex.js"},{"id":"d3-array/src/map.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/map.js"},{"id":"d3-array/src/max.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/max.js"},{"id":"d3-array/src/maxIndex.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/maxIndex.js"},{"id":"d3-array/src/mean.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/mean.js"},{"id":"d3-array/src/median.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/median.js"},{"id":"d3-array/src/merge.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/merge.js"},{"id":"d3-array/src/min.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/min.js"},{"id":"d3-array/src/minIndex.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/minIndex.js"},{"id":"d3-array/src/mode.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/mode.js"},{"id":"d3-array/src/nice.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/nice.js"},{"id":"d3-array/src/number.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/number.js"},{"id":"d3-array/src/pairs.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/pairs.js"},{"id":"d3-array/src/permute.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/permute.js"},{"id":"d3-array/src/quantile.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/quantile.js"},{"id":"d3-array/src/quickselect.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/quickselect.js"},{"id":"d3-array/src/range.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/range.js"},{"id":"d3-array/src/reduce.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/reduce.js"},{"id":"d3-array/src/reverse.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/reverse.js"},{"id":"d3-array/src/scan.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/scan.js"},{"id":"d3-array/src/set.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/set.js"},{"id":"d3-array/src/shuffle.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/shuffle.js"},{"id":"d3-array/src/some.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/some.js"},{"id":"d3-array/src/sort.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/sort.js"},{"id":"d3-array/src/subset.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/subset.js"},{"id":"d3-array/src/sum.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/sum.js"},{"id":"d3-array/src/superset.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/superset.js"},{"id":"d3-array/src/threshold/freedmanDiaconis.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/threshold/freedmanDiaconis.js"},{"id":"d3-array/src/threshold/scott.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/threshold/scott.js"},{"id":"d3-array/src/threshold/sturges.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/threshold/sturges.js"},{"id":"d3-array/src/ticks.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/ticks.js"},{"id":"d3-array/src/transpose.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/transpose.js"},{"id":"d3-array/src/union.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/union.js"},{"id":"d3-array/src/variance.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/variance.js"},{"id":"d3-array/src/zip.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-array/LICENSE.txt"}],"src_url":"/static/jssources/d3-array/src/zip.js"},{"id":"d3-axis/src/axis.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-axis/LICENSE.txt"}],"src_url":"/static/jssources/d3-axis/src/axis.js"},{"id":"d3-axis/src/identity.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-axis/LICENSE.txt"}],"src_url":"/static/jssources/d3-axis/src/identity.js"},{"id":"d3-axis/src/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-axis/LICENSE.txt"}],"src_url":"/static/jssources/d3-axis/src/index.js"},{"id":"d3-color/src/color.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-color/LICENSE.txt"}],"src_url":"/static/jssources/d3-color/src/color.js"},{"id":"d3-color/src/define.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-color/LICENSE.txt"}],"src_url":"/static/jssources/d3-color/src/define.js"},{"id":"d3-dispatch/src/dispatch.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-dispatch/LICENSE.txt"}],"src_url":"/static/jssources/d3-dispatch/src/dispatch.js"},{"id":"d3-ease/src/cubic.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/d3-ease/LICENSE.txt"}],"src_url":"/static/jssources/d3-ease/src/cubic.js"},{"id":"d3-format/src/defaultLocale.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/defaultLocale.js"},{"id":"d3-format/src/exponent.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/exponent.js"},{"id":"d3-format/src/formatDecimal.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/formatDecimal.js"},{"id":"d3-format/src/formatGroup.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/formatGroup.js"},{"id":"d3-format/src/formatNumerals.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/formatNumerals.js"},{"id":"d3-format/src/formatPrefixAuto.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/formatPrefixAuto.js"},{"id":"d3-format/src/formatRounded.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/formatRounded.js"},{"id":"d3-format/src/formatSpecifier.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/formatSpecifier.js"},{"id":"d3-format/src/formatTrim.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/formatTrim.js"},{"id":"d3-format/src/formatTypes.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/formatTypes.js"},{"id":"d3-format/src/identity.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/identity.js"},{"id":"d3-format/src/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/index.js"},{"id":"d3-format/src/locale.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/locale.js"},{"id":"d3-format/src/precisionFixed.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/precisionFixed.js"},{"id":"d3-format/src/precisionPrefix.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/precisionPrefix.js"},{"id":"d3-format/src/precisionRound.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-format/src/precisionRound.js"},{"id":"d3-interpolate/src/array.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/array.js"},{"id":"d3-interpolate/src/basis.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/basis.js"},{"id":"d3-interpolate/src/basisClosed.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/basisClosed.js"},{"id":"d3-interpolate/src/color.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/color.js"},{"id":"d3-interpolate/src/constant.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/constant.js"},{"id":"d3-interpolate/src/date.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/date.js"},{"id":"d3-interpolate/src/number.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/number.js"},{"id":"d3-interpolate/src/numberArray.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/numberArray.js"},{"id":"d3-interpolate/src/object.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/object.js"},{"id":"d3-interpolate/src/piecewise.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/piecewise.js"},{"id":"d3-interpolate/src/rgb.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/rgb.js"},{"id":"d3-interpolate/src/round.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/round.js"},{"id":"d3-interpolate/src/string.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/string.js"},{"id":"d3-interpolate/src/transform/decompose.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/transform/decompose.js"},{"id":"d3-interpolate/src/transform/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/transform/index.js"},{"id":"d3-interpolate/src/transform/parse.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/transform/parse.js"},{"id":"d3-interpolate/src/value.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-interpolate/LICENSE.txt"}],"src_url":"/static/jssources/d3-interpolate/src/value.js"},{"id":"d3-path/src/path.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-path/LICENSE.txt"}],"src_url":"/static/jssources/d3-path/src/path.js"},{"id":"d3-scale/src/band.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/band.js"},{"id":"d3-scale/src/constant.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/constant.js"},{"id":"d3-scale/src/continuous.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/continuous.js"},{"id":"d3-scale/src/diverging.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/diverging.js"},{"id":"d3-scale/src/identity.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/identity.js"},{"id":"d3-scale/src/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/index.js"},{"id":"d3-scale/src/init.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/init.js"},{"id":"d3-scale/src/linear.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/linear.js"},{"id":"d3-scale/src/log.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/log.js"},{"id":"d3-scale/src/nice.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/nice.js"},{"id":"d3-scale/src/number.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/number.js"},{"id":"d3-scale/src/ordinal.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/ordinal.js"},{"id":"d3-scale/src/pow.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/pow.js"},{"id":"d3-scale/src/quantile.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/quantile.js"},{"id":"d3-scale/src/quantize.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/quantize.js"},{"id":"d3-scale/src/radial.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/radial.js"},{"id":"d3-scale/src/sequential.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/sequential.js"},{"id":"d3-scale/src/sequentialQuantile.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/sequentialQuantile.js"},{"id":"d3-scale/src/symlog.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/symlog.js"},{"id":"d3-scale/src/threshold.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/threshold.js"},{"id":"d3-scale/src/tickFormat.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/tickFormat.js"},{"id":"d3-scale/src/time.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/time.js"},{"id":"d3-scale/src/utcTime.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-scale/LICENSE.txt"}],"src_url":"/static/jssources/d3-scale/src/utcTime.js"},{"id":"d3-selection/src/array.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/array.js"},{"id":"d3-selection/src/constant.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/constant.js"},{"id":"d3-selection/src/create.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/create.js"},{"id":"d3-selection/src/creator.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/creator.js"},{"id":"d3-selection/src/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/index.js"},{"id":"d3-selection/src/local.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/local.js"},{"id":"d3-selection/src/matcher.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/matcher.js"},{"id":"d3-selection/src/namespace.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/namespace.js"},{"id":"d3-selection/src/namespaces.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/namespaces.js"},{"id":"d3-selection/src/pointer.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/pointer.js"},{"id":"d3-selection/src/pointers.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/pointers.js"},{"id":"d3-selection/src/select.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/select.js"},{"id":"d3-selection/src/selectAll.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selectAll.js"},{"id":"d3-selection/src/selection/append.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/append.js"},{"id":"d3-selection/src/selection/attr.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/attr.js"},{"id":"d3-selection/src/selection/call.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/call.js"},{"id":"d3-selection/src/selection/classed.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/classed.js"},{"id":"d3-selection/src/selection/clone.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/clone.js"},{"id":"d3-selection/src/selection/data.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/data.js"},{"id":"d3-selection/src/selection/datum.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/datum.js"},{"id":"d3-selection/src/selection/dispatch.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/dispatch.js"},{"id":"d3-selection/src/selection/each.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/each.js"},{"id":"d3-selection/src/selection/empty.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/empty.js"},{"id":"d3-selection/src/selection/enter.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/enter.js"},{"id":"d3-selection/src/selection/exit.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/exit.js"},{"id":"d3-selection/src/selection/filter.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/filter.js"},{"id":"d3-selection/src/selection/html.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/html.js"},{"id":"d3-selection/src/selection/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/index.js"},{"id":"d3-selection/src/selection/insert.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/insert.js"},{"id":"d3-selection/src/selection/iterator.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/iterator.js"},{"id":"d3-selection/src/selection/join.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/join.js"},{"id":"d3-selection/src/selection/lower.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/lower.js"},{"id":"d3-selection/src/selection/merge.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/merge.js"},{"id":"d3-selection/src/selection/node.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/node.js"},{"id":"d3-selection/src/selection/nodes.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/nodes.js"},{"id":"d3-selection/src/selection/on.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/on.js"},{"id":"d3-selection/src/selection/order.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/order.js"},{"id":"d3-selection/src/selection/property.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/property.js"},{"id":"d3-selection/src/selection/raise.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/raise.js"},{"id":"d3-selection/src/selection/remove.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/remove.js"},{"id":"d3-selection/src/selection/select.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/select.js"},{"id":"d3-selection/src/selection/selectAll.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/selectAll.js"},{"id":"d3-selection/src/selection/selectChild.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/selectChild.js"},{"id":"d3-selection/src/selection/selectChildren.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/selectChildren.js"},{"id":"d3-selection/src/selection/size.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/size.js"},{"id":"d3-selection/src/selection/sort.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/sort.js"},{"id":"d3-selection/src/selection/sparse.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/sparse.js"},{"id":"d3-selection/src/selection/style.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/style.js"},{"id":"d3-selection/src/selection/text.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selection/text.js"},{"id":"d3-selection/src/selector.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selector.js"},{"id":"d3-selection/src/selectorAll.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/selectorAll.js"},{"id":"d3-selection/src/sourceEvent.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/sourceEvent.js"},{"id":"d3-selection/src/window.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-selection/LICENSE.txt"}],"src_url":"/static/jssources/d3-selection/src/window.js"},{"id":"d3-shape/src/arc.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/arc.js"},{"id":"d3-shape/src/area.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/area.js"},{"id":"d3-shape/src/areaRadial.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/areaRadial.js"},{"id":"d3-shape/src/array.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/array.js"},{"id":"d3-shape/src/constant.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/constant.js"},{"id":"d3-shape/src/curve/basis.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/basis.js"},{"id":"d3-shape/src/curve/basisClosed.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/basisClosed.js"},{"id":"d3-shape/src/curve/basisOpen.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/basisOpen.js"},{"id":"d3-shape/src/curve/bump.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/bump.js"},{"id":"d3-shape/src/curve/bundle.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/bundle.js"},{"id":"d3-shape/src/curve/cardinal.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/cardinal.js"},{"id":"d3-shape/src/curve/cardinalClosed.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/cardinalClosed.js"},{"id":"d3-shape/src/curve/cardinalOpen.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/cardinalOpen.js"},{"id":"d3-shape/src/curve/catmullRom.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/catmullRom.js"},{"id":"d3-shape/src/curve/catmullRomClosed.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/catmullRomClosed.js"},{"id":"d3-shape/src/curve/catmullRomOpen.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/catmullRomOpen.js"},{"id":"d3-shape/src/curve/linear.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/linear.js"},{"id":"d3-shape/src/curve/linearClosed.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/linearClosed.js"},{"id":"d3-shape/src/curve/monotone.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/monotone.js"},{"id":"d3-shape/src/curve/natural.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/natural.js"},{"id":"d3-shape/src/curve/radial.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/radial.js"},{"id":"d3-shape/src/curve/step.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/curve/step.js"},{"id":"d3-shape/src/descending.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/descending.js"},{"id":"d3-shape/src/identity.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/identity.js"},{"id":"d3-shape/src/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/index.js"},{"id":"d3-shape/src/line.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/line.js"},{"id":"d3-shape/src/lineRadial.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/lineRadial.js"},{"id":"d3-shape/src/link/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/link/index.js"},{"id":"d3-shape/src/math.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/math.js"},{"id":"d3-shape/src/noop.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/noop.js"},{"id":"d3-shape/src/offset/diverging.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/offset/diverging.js"},{"id":"d3-shape/src/offset/expand.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/offset/expand.js"},{"id":"d3-shape/src/offset/none.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/offset/none.js"},{"id":"d3-shape/src/offset/silhouette.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/offset/silhouette.js"},{"id":"d3-shape/src/offset/wiggle.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/offset/wiggle.js"},{"id":"d3-shape/src/order/appearance.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/order/appearance.js"},{"id":"d3-shape/src/order/ascending.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/order/ascending.js"},{"id":"d3-shape/src/order/descending.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/order/descending.js"},{"id":"d3-shape/src/order/insideOut.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/order/insideOut.js"},{"id":"d3-shape/src/order/none.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/order/none.js"},{"id":"d3-shape/src/order/reverse.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/order/reverse.js"},{"id":"d3-shape/src/pie.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/pie.js"},{"id":"d3-shape/src/point.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/point.js"},{"id":"d3-shape/src/pointRadial.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/pointRadial.js"},{"id":"d3-shape/src/stack.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/stack.js"},{"id":"d3-shape/src/symbol.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/symbol.js"},{"id":"d3-shape/src/symbol/circle.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/symbol/circle.js"},{"id":"d3-shape/src/symbol/cross.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/symbol/cross.js"},{"id":"d3-shape/src/symbol/diamond.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/symbol/diamond.js"},{"id":"d3-shape/src/symbol/square.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/symbol/square.js"},{"id":"d3-shape/src/symbol/star.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/symbol/star.js"},{"id":"d3-shape/src/symbol/triangle.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/symbol/triangle.js"},{"id":"d3-shape/src/symbol/wye.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-shape/LICENSE.txt"}],"src_url":"/static/jssources/d3-shape/src/symbol/wye.js"},{"id":"d3-time-format/src/defaultLocale.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-time-format/src/defaultLocale.js"},{"id":"d3-time-format/src/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-time-format/src/index.js"},{"id":"d3-time-format/src/isoFormat.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-time-format/src/isoFormat.js"},{"id":"d3-time-format/src/isoParse.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-time-format/src/isoParse.js"},{"id":"d3-time-format/src/locale.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time-format/LICENSE.txt"}],"src_url":"/static/jssources/d3-time-format/src/locale.js"},{"id":"d3-time/src/day.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/day.js"},{"id":"d3-time/src/duration.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/duration.js"},{"id":"d3-time/src/hour.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/hour.js"},{"id":"d3-time/src/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/index.js"},{"id":"d3-time/src/interval.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/interval.js"},{"id":"d3-time/src/millisecond.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/millisecond.js"},{"id":"d3-time/src/minute.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/minute.js"},{"id":"d3-time/src/month.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/month.js"},{"id":"d3-time/src/second.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/second.js"},{"id":"d3-time/src/ticks.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/ticks.js"},{"id":"d3-time/src/utcDay.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/utcDay.js"},{"id":"d3-time/src/utcHour.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/utcHour.js"},{"id":"d3-time/src/utcMinute.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/utcMinute.js"},{"id":"d3-time/src/utcMonth.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/utcMonth.js"},{"id":"d3-time/src/utcWeek.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/utcWeek.js"},{"id":"d3-time/src/utcYear.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/utcYear.js"},{"id":"d3-time/src/week.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/week.js"},{"id":"d3-time/src/year.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-time/LICENSE.txt"}],"src_url":"/static/jssources/d3-time/src/year.js"},{"id":"d3-timer/src/timeout.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-timer/LICENSE.txt"}],"src_url":"/static/jssources/d3-timer/src/timeout.js"},{"id":"d3-timer/src/timer.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-timer/LICENSE.txt"}],"src_url":"/static/jssources/d3-timer/src/timer.js"},{"id":"d3-transition/src/active.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/active.js"},{"id":"d3-transition/src/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/index.js"},{"id":"d3-transition/src/interrupt.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/interrupt.js"},{"id":"d3-transition/src/selection/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/selection/index.js"},{"id":"d3-transition/src/selection/interrupt.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/selection/interrupt.js"},{"id":"d3-transition/src/selection/transition.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/selection/transition.js"},{"id":"d3-transition/src/transition/attr.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/attr.js"},{"id":"d3-transition/src/transition/attrTween.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/attrTween.js"},{"id":"d3-transition/src/transition/delay.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/delay.js"},{"id":"d3-transition/src/transition/duration.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/duration.js"},{"id":"d3-transition/src/transition/ease.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/ease.js"},{"id":"d3-transition/src/transition/easeVarying.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/easeVarying.js"},{"id":"d3-transition/src/transition/end.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/end.js"},{"id":"d3-transition/src/transition/filter.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/filter.js"},{"id":"d3-transition/src/transition/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/index.js"},{"id":"d3-transition/src/transition/interpolate.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/interpolate.js"},{"id":"d3-transition/src/transition/merge.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/merge.js"},{"id":"d3-transition/src/transition/on.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/on.js"},{"id":"d3-transition/src/transition/remove.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/remove.js"},{"id":"d3-transition/src/transition/schedule.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/schedule.js"},{"id":"d3-transition/src/transition/select.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/select.js"},{"id":"d3-transition/src/transition/selectAll.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/selectAll.js"},{"id":"d3-transition/src/transition/selection.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/selection.js"},{"id":"d3-transition/src/transition/style.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/style.js"},{"id":"d3-transition/src/transition/styleTween.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/styleTween.js"},{"id":"d3-transition/src/transition/text.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/text.js"},{"id":"d3-transition/src/transition/textTween.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/textTween.js"},{"id":"d3-transition/src/transition/transition.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/transition.js"},{"id":"d3-transition/src/transition/tween.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/d3-transition/LICENSE.txt"}],"src_url":"/static/jssources/d3-transition/src/transition/tween.js"},{"id":"internmap/src/index.js","licenses":[{"name":"The ISC License","url":"https://www.isc.org/downloads/software-support-policy/isc-license/","copy_url":"/static/jssources/internmap/LICENSE.txt"}],"src_url":"/static/jssources/internmap/src/index.js"}],"/static/js/highlightjs.5fd270288fca1f2de6c3.js":[{"id":"assets/src/utils/highlightjs.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/highlightjs.js"},{"id":"expose-loader/dist/runtime/getGlobalThis.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/expose-loader/LICENSE.txt"}],"src_url":"/static/jssources/expose-loader/dist/runtime/getGlobalThis.js"},{"id":"highlight.js/es/index.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/es/index.js"},{"id":"highlight.js/lib/core.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/core.js"},{"id":"highlight.js/lib/index-exposed.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/index-exposed.js"},{"id":"highlight.js/lib/index.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/index.js"},{"id":"highlight.js/lib/languages/1c.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/1c.js"},{"id":"highlight.js/lib/languages/abnf.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/abnf.js"},{"id":"highlight.js/lib/languages/accesslog.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/accesslog.js"},{"id":"highlight.js/lib/languages/actionscript.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/actionscript.js"},{"id":"highlight.js/lib/languages/ada.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/ada.js"},{"id":"highlight.js/lib/languages/angelscript.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/angelscript.js"},{"id":"highlight.js/lib/languages/apache.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/apache.js"},{"id":"highlight.js/lib/languages/applescript.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/applescript.js"},{"id":"highlight.js/lib/languages/arcade.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/arcade.js"},{"id":"highlight.js/lib/languages/arduino.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/arduino.js"},{"id":"highlight.js/lib/languages/armasm.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/armasm.js"},{"id":"highlight.js/lib/languages/asciidoc.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/asciidoc.js"},{"id":"highlight.js/lib/languages/aspectj.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/aspectj.js"},{"id":"highlight.js/lib/languages/autohotkey.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/autohotkey.js"},{"id":"highlight.js/lib/languages/autoit.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/autoit.js"},{"id":"highlight.js/lib/languages/avrasm.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/avrasm.js"},{"id":"highlight.js/lib/languages/awk.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/awk.js"},{"id":"highlight.js/lib/languages/axapta.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/axapta.js"},{"id":"highlight.js/lib/languages/bash.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/bash.js"},{"id":"highlight.js/lib/languages/basic.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/basic.js"},{"id":"highlight.js/lib/languages/bnf.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/bnf.js"},{"id":"highlight.js/lib/languages/brainfuck.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/brainfuck.js"},{"id":"highlight.js/lib/languages/c.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/c.js"},{"id":"highlight.js/lib/languages/cal.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/cal.js"},{"id":"highlight.js/lib/languages/capnproto.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/capnproto.js"},{"id":"highlight.js/lib/languages/ceylon.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/ceylon.js"},{"id":"highlight.js/lib/languages/clean.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/clean.js"},{"id":"highlight.js/lib/languages/clojure-repl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/clojure-repl.js"},{"id":"highlight.js/lib/languages/clojure.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/clojure.js"},{"id":"highlight.js/lib/languages/cmake.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/cmake.js"},{"id":"highlight.js/lib/languages/coffeescript.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/coffeescript.js"},{"id":"highlight.js/lib/languages/coq.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/coq.js"},{"id":"highlight.js/lib/languages/cos.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/cos.js"},{"id":"highlight.js/lib/languages/cpp.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/cpp.js"},{"id":"highlight.js/lib/languages/crmsh.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/crmsh.js"},{"id":"highlight.js/lib/languages/crystal.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/crystal.js"},{"id":"highlight.js/lib/languages/csharp.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/csharp.js"},{"id":"highlight.js/lib/languages/csp.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/csp.js"},{"id":"highlight.js/lib/languages/css.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/css.js"},{"id":"highlight.js/lib/languages/d.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/d.js"},{"id":"highlight.js/lib/languages/dart.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/dart.js"},{"id":"highlight.js/lib/languages/delphi.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/delphi.js"},{"id":"highlight.js/lib/languages/diff.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/diff.js"},{"id":"highlight.js/lib/languages/django.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/django.js"},{"id":"highlight.js/lib/languages/dns.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/dns.js"},{"id":"highlight.js/lib/languages/dockerfile.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/dockerfile.js"},{"id":"highlight.js/lib/languages/dos.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/dos.js"},{"id":"highlight.js/lib/languages/dsconfig.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/dsconfig.js"},{"id":"highlight.js/lib/languages/dts.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/dts.js"},{"id":"highlight.js/lib/languages/dust.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/dust.js"},{"id":"highlight.js/lib/languages/ebnf.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/ebnf.js"},{"id":"highlight.js/lib/languages/elixir.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/elixir.js"},{"id":"highlight.js/lib/languages/elm.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/elm.js"},{"id":"highlight.js/lib/languages/erb.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/erb.js"},{"id":"highlight.js/lib/languages/erlang-repl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/erlang-repl.js"},{"id":"highlight.js/lib/languages/erlang.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/erlang.js"},{"id":"highlight.js/lib/languages/excel.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/excel.js"},{"id":"highlight.js/lib/languages/fix.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/fix.js"},{"id":"highlight.js/lib/languages/flix.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/flix.js"},{"id":"highlight.js/lib/languages/fortran.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/fortran.js"},{"id":"highlight.js/lib/languages/fsharp.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/fsharp.js"},{"id":"highlight.js/lib/languages/gams.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/gams.js"},{"id":"highlight.js/lib/languages/gauss.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/gauss.js"},{"id":"highlight.js/lib/languages/gcode.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/gcode.js"},{"id":"highlight.js/lib/languages/gherkin.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/gherkin.js"},{"id":"highlight.js/lib/languages/glsl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/glsl.js"},{"id":"highlight.js/lib/languages/gml.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/gml.js"},{"id":"highlight.js/lib/languages/go.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/go.js"},{"id":"highlight.js/lib/languages/golo.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/golo.js"},{"id":"highlight.js/lib/languages/gradle.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/gradle.js"},{"id":"highlight.js/lib/languages/graphql.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/graphql.js"},{"id":"highlight.js/lib/languages/groovy.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/groovy.js"},{"id":"highlight.js/lib/languages/haml.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/haml.js"},{"id":"highlight.js/lib/languages/handlebars.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/handlebars.js"},{"id":"highlight.js/lib/languages/haskell.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/haskell.js"},{"id":"highlight.js/lib/languages/haxe.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/haxe.js"},{"id":"highlight.js/lib/languages/hsp.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/hsp.js"},{"id":"highlight.js/lib/languages/http.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/http.js"},{"id":"highlight.js/lib/languages/hy.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/hy.js"},{"id":"highlight.js/lib/languages/inform7.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/inform7.js"},{"id":"highlight.js/lib/languages/ini.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/ini.js"},{"id":"highlight.js/lib/languages/irpf90.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/irpf90.js"},{"id":"highlight.js/lib/languages/isbl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/isbl.js"},{"id":"highlight.js/lib/languages/java.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/java.js"},{"id":"highlight.js/lib/languages/javascript.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/javascript.js"},{"id":"highlight.js/lib/languages/jboss-cli.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/jboss-cli.js"},{"id":"highlight.js/lib/languages/json.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/json.js"},{"id":"highlight.js/lib/languages/julia-repl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/julia-repl.js"},{"id":"highlight.js/lib/languages/julia.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/julia.js"},{"id":"highlight.js/lib/languages/kotlin.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/kotlin.js"},{"id":"highlight.js/lib/languages/lasso.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/lasso.js"},{"id":"highlight.js/lib/languages/latex.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/latex.js"},{"id":"highlight.js/lib/languages/ldif.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/ldif.js"},{"id":"highlight.js/lib/languages/leaf.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/leaf.js"},{"id":"highlight.js/lib/languages/less.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/less.js"},{"id":"highlight.js/lib/languages/lisp.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/lisp.js"},{"id":"highlight.js/lib/languages/livecodeserver.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/livecodeserver.js"},{"id":"highlight.js/lib/languages/livescript.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/livescript.js"},{"id":"highlight.js/lib/languages/llvm.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/llvm.js"},{"id":"highlight.js/lib/languages/lsl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/lsl.js"},{"id":"highlight.js/lib/languages/lua.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/lua.js"},{"id":"highlight.js/lib/languages/makefile.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/makefile.js"},{"id":"highlight.js/lib/languages/markdown.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/markdown.js"},{"id":"highlight.js/lib/languages/mathematica.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/mathematica.js"},{"id":"highlight.js/lib/languages/matlab.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/matlab.js"},{"id":"highlight.js/lib/languages/maxima.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/maxima.js"},{"id":"highlight.js/lib/languages/mel.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/mel.js"},{"id":"highlight.js/lib/languages/mercury.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/mercury.js"},{"id":"highlight.js/lib/languages/mipsasm.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/mipsasm.js"},{"id":"highlight.js/lib/languages/mizar.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/mizar.js"},{"id":"highlight.js/lib/languages/mojolicious.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/mojolicious.js"},{"id":"highlight.js/lib/languages/monkey.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/monkey.js"},{"id":"highlight.js/lib/languages/moonscript.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/moonscript.js"},{"id":"highlight.js/lib/languages/n1ql.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/n1ql.js"},{"id":"highlight.js/lib/languages/nestedtext.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/nestedtext.js"},{"id":"highlight.js/lib/languages/nginx.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/nginx.js"},{"id":"highlight.js/lib/languages/nim.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/nim.js"},{"id":"highlight.js/lib/languages/nix.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/nix.js"},{"id":"highlight.js/lib/languages/node-repl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/node-repl.js"},{"id":"highlight.js/lib/languages/nsis.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/nsis.js"},{"id":"highlight.js/lib/languages/objectivec.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/objectivec.js"},{"id":"highlight.js/lib/languages/ocaml.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/ocaml.js"},{"id":"highlight.js/lib/languages/openscad.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/openscad.js"},{"id":"highlight.js/lib/languages/oxygene.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/oxygene.js"},{"id":"highlight.js/lib/languages/parser3.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/parser3.js"},{"id":"highlight.js/lib/languages/perl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/perl.js"},{"id":"highlight.js/lib/languages/pf.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/pf.js"},{"id":"highlight.js/lib/languages/pgsql.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/pgsql.js"},{"id":"highlight.js/lib/languages/php-template.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/php-template.js"},{"id":"highlight.js/lib/languages/php.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/php.js"},{"id":"highlight.js/lib/languages/plaintext.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/plaintext.js"},{"id":"highlight.js/lib/languages/pony.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/pony.js"},{"id":"highlight.js/lib/languages/powershell.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/powershell.js"},{"id":"highlight.js/lib/languages/processing.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/processing.js"},{"id":"highlight.js/lib/languages/profile.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/profile.js"},{"id":"highlight.js/lib/languages/prolog.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/prolog.js"},{"id":"highlight.js/lib/languages/properties.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/properties.js"},{"id":"highlight.js/lib/languages/protobuf.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/protobuf.js"},{"id":"highlight.js/lib/languages/puppet.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/puppet.js"},{"id":"highlight.js/lib/languages/purebasic.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/purebasic.js"},{"id":"highlight.js/lib/languages/python-repl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/python-repl.js"},{"id":"highlight.js/lib/languages/python.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/python.js"},{"id":"highlight.js/lib/languages/q.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/q.js"},{"id":"highlight.js/lib/languages/qml.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/qml.js"},{"id":"highlight.js/lib/languages/r.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/r.js"},{"id":"highlight.js/lib/languages/reasonml.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/reasonml.js"},{"id":"highlight.js/lib/languages/rib.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/rib.js"},{"id":"highlight.js/lib/languages/roboconf.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/roboconf.js"},{"id":"highlight.js/lib/languages/routeros.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/routeros.js"},{"id":"highlight.js/lib/languages/rsl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/rsl.js"},{"id":"highlight.js/lib/languages/ruby.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/ruby.js"},{"id":"highlight.js/lib/languages/ruleslanguage.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/ruleslanguage.js"},{"id":"highlight.js/lib/languages/rust.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/rust.js"},{"id":"highlight.js/lib/languages/sas.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/sas.js"},{"id":"highlight.js/lib/languages/scala.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/scala.js"},{"id":"highlight.js/lib/languages/scheme.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/scheme.js"},{"id":"highlight.js/lib/languages/scilab.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/scilab.js"},{"id":"highlight.js/lib/languages/scss.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/scss.js"},{"id":"highlight.js/lib/languages/shell.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/shell.js"},{"id":"highlight.js/lib/languages/smali.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/smali.js"},{"id":"highlight.js/lib/languages/smalltalk.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/smalltalk.js"},{"id":"highlight.js/lib/languages/sml.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/sml.js"},{"id":"highlight.js/lib/languages/sqf.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/sqf.js"},{"id":"highlight.js/lib/languages/sql.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/sql.js"},{"id":"highlight.js/lib/languages/stan.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/stan.js"},{"id":"highlight.js/lib/languages/stata.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/stata.js"},{"id":"highlight.js/lib/languages/step21.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/step21.js"},{"id":"highlight.js/lib/languages/stylus.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/stylus.js"},{"id":"highlight.js/lib/languages/subunit.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/subunit.js"},{"id":"highlight.js/lib/languages/swift.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/swift.js"},{"id":"highlight.js/lib/languages/taggerscript.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/taggerscript.js"},{"id":"highlight.js/lib/languages/tap.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/tap.js"},{"id":"highlight.js/lib/languages/tcl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/tcl.js"},{"id":"highlight.js/lib/languages/thrift.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/thrift.js"},{"id":"highlight.js/lib/languages/tp.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/tp.js"},{"id":"highlight.js/lib/languages/twig.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/twig.js"},{"id":"highlight.js/lib/languages/typescript.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/typescript.js"},{"id":"highlight.js/lib/languages/vala.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/vala.js"},{"id":"highlight.js/lib/languages/vbnet.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/vbnet.js"},{"id":"highlight.js/lib/languages/vbscript-html.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/vbscript-html.js"},{"id":"highlight.js/lib/languages/vbscript.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/vbscript.js"},{"id":"highlight.js/lib/languages/verilog.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/verilog.js"},{"id":"highlight.js/lib/languages/vhdl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/vhdl.js"},{"id":"highlight.js/lib/languages/vim.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/vim.js"},{"id":"highlight.js/lib/languages/wasm.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/wasm.js"},{"id":"highlight.js/lib/languages/wren.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/wren.js"},{"id":"highlight.js/lib/languages/x86asm.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/x86asm.js"},{"id":"highlight.js/lib/languages/xl.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/xl.js"},{"id":"highlight.js/lib/languages/xml.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/xml.js"},{"id":"highlight.js/lib/languages/xquery.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/xquery.js"},{"id":"highlight.js/lib/languages/yaml.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/yaml.js"},{"id":"highlight.js/lib/languages/zephir.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlight.js/LICENSE.txt"}],"src_url":"/static/jssources/highlight.js/lib/languages/zephir.js"},{"id":"highlightjs-4d/dist/4d.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-4d/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-4d/dist/4d.min.js"},{"id":"highlightjs-alan/dist/alan.min.js","licenses":[{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0","copy_url":"/static/jssources/highlightjs-alan/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-alan/dist/alan.min.js"},{"id":"highlightjs-blade/dist/blade.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-blade/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-blade/dist/blade.min.js"},{"id":"highlightjs-chaos/dist/chaos.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-chaos/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-chaos/dist/chaos.min.js"},{"id":"highlightjs-chapel/dist/chapel.min.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlightjs-chapel/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-chapel/dist/chapel.min.js"},{"id":"highlightjs-cpcdos/dist/cpc-highlight.min.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlightjs-cpcdos/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-cpcdos/dist/cpc-highlight.min.js"},{"id":"highlightjs-cshtml-razor/dist/cshtml-razor.min.js","licenses":[{"name":"Creative Commons CC0 1.0 Universal","url":"http://creativecommons.org/publicdomain/zero/1.0/legalcode","copy_url":"/static/jssources/highlightjs-cshtml-razor/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-cshtml-razor/dist/cshtml-razor.min.js"},{"id":"highlightjs-cypher/dist/cypher.min.js","licenses":[{"name":"Creative Commons CC0 1.0 Universal","url":"http://creativecommons.org/publicdomain/zero/1.0/legalcode","copy_url":"/static/jssources/highlightjs-cypher/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-cypher/dist/cypher.min.js"},{"id":"highlightjs-dafny/dist/dafny.min.js","licenses":[{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0","copy_url":"/static/jssources/highlightjs-dafny/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-dafny/dist/dafny.min.js"},{"id":"highlightjs-dylan/dist/dylan.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-dylan/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-dylan/dist/dylan.min.js"},{"id":"highlightjs-eta/dist/eta.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":""}],"src_url":"/static/jssources/highlightjs-eta/dist/eta.min.js"},{"id":"highlightjs-extempore/dist/extempore.min.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlightjs-extempore/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-extempore/dist/extempore.min.js"},{"id":"highlightjs-gdscript/dist/gdscript.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-gdscript/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-gdscript/dist/gdscript.min.js"},{"id":"highlightjs-gf/dist/gf.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-gf/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-gf/dist/gf.min.js"},{"id":"highlightjs-gsql/dist/gsql.min.js","licenses":[{"name":"Creative Commons CC0 1.0 Universal","url":"http://creativecommons.org/publicdomain/zero/1.0/legalcode","copy_url":""}],"src_url":"/static/jssources/highlightjs-gsql/dist/gsql.min.js"},{"id":"highlightjs-hlsl/dist/hlsl.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-hlsl/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-hlsl/dist/hlsl.min.js"},{"id":"highlightjs-jolie/dist/jolie.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-jolie/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-jolie/dist/jolie.min.js"},{"id":"highlightjs-lean/src/lean.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlightjs-lean/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-lean/src/lean.js"},{"id":"highlightjs-line-numbers.js/src/highlightjs-line-numbers.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-line-numbers.js/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-line-numbers.js/src/highlightjs-line-numbers.js"},{"id":"highlightjs-lox/dist/es/lox.mjs","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-lox/LICENSE.md"}],"src_url":"/static/jssources/highlightjs-lox/dist/es/lox.mjs"},{"id":"highlightjs-mirc/mirc.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-mirc/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-mirc/mirc.js"},{"id":"highlightjs-modelica/modelica.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-modelica/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-modelica/modelica.js"},{"id":"highlightjs-never/dist/never.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-never/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-never/dist/never.min.js"},{"id":"highlightjs-octave/dist/highlightjs-octave.cjs.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlightjs-octave/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-octave/dist/highlightjs-octave.cjs.js"},{"id":"highlightjs-oz/dist/oz.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-oz/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-oz/dist/oz.min.js"},{"id":"highlightjs-qsharp/dist/qsharp.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":""}],"src_url":"/static/jssources/highlightjs-qsharp/dist/qsharp.min.js"},{"id":"highlightjs-redbol/dist/redbol.min.js","licenses":[{"name":"Creative Commons CC0 1.0 Universal","url":"http://creativecommons.org/publicdomain/zero/1.0/legalcode","copy_url":"/static/jssources/highlightjs-redbol/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-redbol/dist/redbol.min.js"},{"id":"highlightjs-robot/robot.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-robot/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-robot/robot.js"},{"id":"highlightjs-robots-txt/dist/robots-txt.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-robots-txt/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-robots-txt/dist/robots-txt.min.js"},{"id":"highlightjs-rpm-specfile/rpm-specfile.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"/static/jssources/highlightjs-rpm-specfile/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-rpm-specfile/rpm-specfile.js"},{"id":"highlightjs-sap-abap/dist/abap.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-sap-abap/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-sap-abap/dist/abap.min.js"},{"id":"highlightjs-solidity/dist/solidity.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-solidity/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-solidity/dist/solidity.min.js"},{"id":"highlightjs-svelte/dist/svelte.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-svelte/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-svelte/dist/svelte.min.js"},{"id":"highlightjs-terraform/terraform.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-terraform/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-terraform/terraform.js"},{"id":"highlightjs-xsharp/dist/xsharp.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-xsharp/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-xsharp/dist/xsharp.min.js"},{"id":"highlightjs-zenscript/dist/zenscript.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-zenscript/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-zenscript/dist/zenscript.min.js"},{"id":"highlightjs-zig/dist/zig.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/highlightjs-zig/LICENSE.txt"}],"src_url":"/static/jssources/highlightjs-zig/dist/zig.min.js"},{"id":"hightlightjs-papyrus/dist/papyrus.min.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/hightlightjs-papyrus/LICENSE.txt"}],"src_url":"/static/jssources/hightlightjs-papyrus/dist/papyrus.min.js"},{"id":"script-loader/addScript.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/script-loader/LICENSE.txt"}],"src_url":"/static/jssources/script-loader/addScript.js"}],"/static/js/showdown.b448e42a34c43d6a7de5.js":[{"id":"assets/src/utils/showdown.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/showdown.js"},{"id":"showdown/dist/showdown.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/showdown/LICENSE.txt"}],"src_url":"/static/jssources/showdown/dist/showdown.js"}],"/static/js/org.9adc9a39a210c2fb4be0.js":[{"id":"assets/src/utils/org.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/org.js"},{"id":"org/lib/org.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/org/LICENSE.txt"}],"src_url":"/static/jssources/org/lib/org.js"},{"id":"org/lib/org/converter/converter.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/org/LICENSE.txt"}],"src_url":"/static/jssources/org/lib/org/converter/converter.js"},{"id":"org/lib/org/converter/html.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/org/LICENSE.txt"}],"src_url":"/static/jssources/org/lib/org/converter/html.js"},{"id":"org/lib/org/lexer.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/org/LICENSE.txt"}],"src_url":"/static/jssources/org/lib/org/lexer.js"},{"id":"org/lib/org/node.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/org/LICENSE.txt"}],"src_url":"/static/jssources/org/lib/org/node.js"},{"id":"org/lib/org/parser.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/org/LICENSE.txt"}],"src_url":"/static/jssources/org/lib/org/parser.js"},{"id":"org/lib/org/stream.js","licenses":[{"name":"Expat License","url":"http://www.jclark.com/xml/copying.txt","copy_url":"/static/jssources/org/LICENSE.txt"}],"src_url":"/static/jssources/org/lib/org/stream.js"}],"/static/js/pdfjs.7fa499e22fea56527058.js":[{"id":"pdfjs-dist/build/pdf.js","licenses":[{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0","copy_url":"/static/jssources/pdfjs-dist/LICENSE.txt"}],"src_url":"/static/jssources/pdfjs-dist/build/pdf.js"}],"/static/js/mathjax.a0046af7afe82fd10728.js":[{"id":"assets/src/utils/mathjax.js","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/static/jssources/assets/src/utils/mathjax.js"},{"id":"mathjax/es5/tex-mml-chtml.js","licenses":[{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0","copy_url":"/static/jssources/mathjax/LICENSE.txt"}],"src_url":"/static/jssources/mathjax/es5/tex-mml-chtml.js"}],"/static/js/pdf.worker.min.js":[{"id":"pdfjs-dist/build/pdf.worker.js","licenses":[{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0","copy_url":"/static/jssources/pdfjs-dist/LICENSE.txt"}],"src_url":"/static/jssources/pdfjs-dist/build/pdf.worker.js"}],"/jsreverse/":[{"id":"jsreverse","licenses":[{"name":"GNU Affero General Public License, version 3","url":"http://www.gnu.org/licenses/agpl-3.0.html","copy_url":"/static/jssources/LICENSE.txt"}],"src_url":"/jsreverse/"}],"https://piwik.inria.fr/matomo.js":[{"id":"matomo.js","licenses":[{"name":"BSD 3-Clause License","url":"http://opensource.org/licenses/BSD-3-Clause","copy_url":"https://github.com/matomo-org/matomo/blob/master/js/LICENSE.txt"}],"src_url":"https://github.com/matomo-org/matomo/blob/master/js/piwik.js"}]} \ No newline at end of file diff --git a/static/webpack-stats.json b/static/webpack-stats.json index c7dc96c1..19ebd9a2 100644 --- a/static/webpack-stats.json +++ b/static/webpack-stats.json @@ -1,805 +1,805 @@ { "status": "done", "assets": { - "img/thirdParty/chosen-sprite.png": { - "name": "img/thirdParty/chosen-sprite.png", - "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/img/thirdParty/chosen-sprite.png", - "publicPath": "/static/img/thirdParty/chosen-sprite.png" - }, "img/thirdParty/chosen-sprite@2x.png": { "name": "img/thirdParty/chosen-sprite@2x.png", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/img/thirdParty/chosen-sprite@2x.png", "publicPath": "/static/img/thirdParty/chosen-sprite@2x.png" }, + "img/thirdParty/chosen-sprite.png": { + "name": "img/thirdParty/chosen-sprite.png", + "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/img/thirdParty/chosen-sprite.png", + "publicPath": "/static/img/thirdParty/chosen-sprite.png" + }, "fonts/materialdesignicons-webfont.woff2?v=6.6.96": { "name": "fonts/materialdesignicons-webfont.woff2?v=6.6.96", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/materialdesignicons-webfont.woff2", "publicPath": "/static/fonts/materialdesignicons-webfont.woff2?v=6.6.96" }, "fonts/materialdesignicons-webfont.eot?v=6.6.96": { "name": "fonts/materialdesignicons-webfont.eot?v=6.6.96", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/materialdesignicons-webfont.eot", "publicPath": "/static/fonts/materialdesignicons-webfont.eot?v=6.6.96" }, "fonts/materialdesignicons-webfont.eot": { "name": "fonts/materialdesignicons-webfont.eot", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/materialdesignicons-webfont.eot", "publicPath": "/static/fonts/materialdesignicons-webfont.eot" }, "fonts/materialdesignicons-webfont.woff?v=6.6.96": { "name": "fonts/materialdesignicons-webfont.woff?v=6.6.96", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/materialdesignicons-webfont.woff", "publicPath": "/static/fonts/materialdesignicons-webfont.woff?v=6.6.96" }, "fonts/materialdesignicons-webfont.ttf?v=6.6.96": { "name": "fonts/materialdesignicons-webfont.ttf?v=6.6.96", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/materialdesignicons-webfont.ttf", "publicPath": "/static/fonts/materialdesignicons-webfont.ttf?v=6.6.96" }, "fonts/alegreya-latin-400.woff2": { "name": "fonts/alegreya-latin-400.woff2", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-400.woff2", "publicPath": "/static/fonts/alegreya-latin-400.woff2" }, "fonts/alegreya-latin-400.woff": { "name": "fonts/alegreya-latin-400.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-400.woff", "publicPath": "/static/fonts/alegreya-latin-400.woff" }, - "fonts/alegreya-latin-400italic.woff": { - "name": "fonts/alegreya-latin-400italic.woff", - "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-400italic.woff", - "publicPath": "/static/fonts/alegreya-latin-400italic.woff" - }, "fonts/alegreya-latin-400italic.woff2": { "name": "fonts/alegreya-latin-400italic.woff2", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-400italic.woff2", "publicPath": "/static/fonts/alegreya-latin-400italic.woff2" }, - "fonts/alegreya-latin-500.woff2": { - "name": "fonts/alegreya-latin-500.woff2", - "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-500.woff2", - "publicPath": "/static/fonts/alegreya-latin-500.woff2" + "fonts/alegreya-latin-400italic.woff": { + "name": "fonts/alegreya-latin-400italic.woff", + "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-400italic.woff", + "publicPath": "/static/fonts/alegreya-latin-400italic.woff" }, "fonts/alegreya-latin-500.woff": { "name": "fonts/alegreya-latin-500.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-500.woff", "publicPath": "/static/fonts/alegreya-latin-500.woff" }, "fonts/alegreya-latin-500italic.woff": { "name": "fonts/alegreya-latin-500italic.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-500italic.woff", "publicPath": "/static/fonts/alegreya-latin-500italic.woff" }, + "fonts/alegreya-latin-500.woff2": { + "name": "fonts/alegreya-latin-500.woff2", + "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-500.woff2", + "publicPath": "/static/fonts/alegreya-latin-500.woff2" + }, "fonts/alegreya-latin-500italic.woff2": { "name": "fonts/alegreya-latin-500italic.woff2", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-500italic.woff2", "publicPath": "/static/fonts/alegreya-latin-500italic.woff2" }, - "fonts/alegreya-latin-700.woff2": { - "name": "fonts/alegreya-latin-700.woff2", - "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-700.woff2", - "publicPath": "/static/fonts/alegreya-latin-700.woff2" - }, "fonts/alegreya-latin-700.woff": { "name": "fonts/alegreya-latin-700.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-700.woff", "publicPath": "/static/fonts/alegreya-latin-700.woff" }, + "fonts/alegreya-latin-700.woff2": { + "name": "fonts/alegreya-latin-700.woff2", + "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-700.woff2", + "publicPath": "/static/fonts/alegreya-latin-700.woff2" + }, "fonts/alegreya-latin-700italic.woff2": { "name": "fonts/alegreya-latin-700italic.woff2", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-700italic.woff2", "publicPath": "/static/fonts/alegreya-latin-700italic.woff2" }, - "fonts/alegreya-latin-700italic.woff": { - "name": "fonts/alegreya-latin-700italic.woff", - "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-700italic.woff", - "publicPath": "/static/fonts/alegreya-latin-700italic.woff" - }, - "fonts/alegreya-latin-800.woff2": { - "name": "fonts/alegreya-latin-800.woff2", - "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-800.woff2", - "publicPath": "/static/fonts/alegreya-latin-800.woff2" + "fonts/alegreya-latin-800italic.woff2": { + "name": "fonts/alegreya-latin-800italic.woff2", + "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-800italic.woff2", + "publicPath": "/static/fonts/alegreya-latin-800italic.woff2" }, "fonts/alegreya-latin-800.woff": { "name": "fonts/alegreya-latin-800.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-800.woff", "publicPath": "/static/fonts/alegreya-latin-800.woff" }, - "fonts/alegreya-latin-800italic.woff2": { - "name": "fonts/alegreya-latin-800italic.woff2", - "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-800italic.woff2", - "publicPath": "/static/fonts/alegreya-latin-800italic.woff2" + "fonts/alegreya-latin-700italic.woff": { + "name": "fonts/alegreya-latin-700italic.woff", + "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-700italic.woff", + "publicPath": "/static/fonts/alegreya-latin-700italic.woff" }, "fonts/alegreya-latin-800italic.woff": { "name": "fonts/alegreya-latin-800italic.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-800italic.woff", "publicPath": "/static/fonts/alegreya-latin-800italic.woff" }, + "fonts/alegreya-latin-800.woff2": { + "name": "fonts/alegreya-latin-800.woff2", + "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-800.woff2", + "publicPath": "/static/fonts/alegreya-latin-800.woff2" + }, "fonts/alegreya-latin-900.woff2": { "name": "fonts/alegreya-latin-900.woff2", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-900.woff2", "publicPath": "/static/fonts/alegreya-latin-900.woff2" }, "fonts/alegreya-latin-900.woff": { "name": "fonts/alegreya-latin-900.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-900.woff", "publicPath": "/static/fonts/alegreya-latin-900.woff" }, "fonts/alegreya-latin-900italic.woff2": { "name": "fonts/alegreya-latin-900italic.woff2", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-900italic.woff2", "publicPath": "/static/fonts/alegreya-latin-900italic.woff2" }, "fonts/alegreya-latin-900italic.woff": { "name": "fonts/alegreya-latin-900italic.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-latin-900italic.woff", "publicPath": "/static/fonts/alegreya-latin-900italic.woff" }, "fonts/alegreya-sans-latin-100.woff2": { "name": "fonts/alegreya-sans-latin-100.woff2", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-100.woff2", "publicPath": "/static/fonts/alegreya-sans-latin-100.woff2" }, "fonts/alegreya-sans-latin-100.woff": { "name": "fonts/alegreya-sans-latin-100.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-100.woff", "publicPath": "/static/fonts/alegreya-sans-latin-100.woff" }, "fonts/alegreya-sans-latin-100italic.woff2": { "name": "fonts/alegreya-sans-latin-100italic.woff2", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-100italic.woff2", "publicPath": "/static/fonts/alegreya-sans-latin-100italic.woff2" }, "fonts/alegreya-sans-latin-100italic.woff": { "name": "fonts/alegreya-sans-latin-100italic.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-100italic.woff", "publicPath": "/static/fonts/alegreya-sans-latin-100italic.woff" }, - "fonts/alegreya-sans-latin-300.woff2": { - "name": "fonts/alegreya-sans-latin-300.woff2", - "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-300.woff2", - "publicPath": "/static/fonts/alegreya-sans-latin-300.woff2" - }, "fonts/alegreya-sans-latin-300.woff": { "name": "fonts/alegreya-sans-latin-300.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-300.woff", "publicPath": "/static/fonts/alegreya-sans-latin-300.woff" }, + "fonts/alegreya-sans-latin-300.woff2": { + "name": "fonts/alegreya-sans-latin-300.woff2", + "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-300.woff2", + "publicPath": "/static/fonts/alegreya-sans-latin-300.woff2" + }, "fonts/alegreya-sans-latin-300italic.woff2": { "name": "fonts/alegreya-sans-latin-300italic.woff2", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-300italic.woff2", "publicPath": "/static/fonts/alegreya-sans-latin-300italic.woff2" }, "fonts/alegreya-sans-latin-300italic.woff": { "name": "fonts/alegreya-sans-latin-300italic.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-300italic.woff", "publicPath": "/static/fonts/alegreya-sans-latin-300italic.woff" }, "fonts/alegreya-sans-latin-400.woff2": { "name": "fonts/alegreya-sans-latin-400.woff2", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-400.woff2", "publicPath": "/static/fonts/alegreya-sans-latin-400.woff2" }, "fonts/alegreya-sans-latin-400.woff": { "name": "fonts/alegreya-sans-latin-400.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-400.woff", "publicPath": "/static/fonts/alegreya-sans-latin-400.woff" }, "fonts/alegreya-sans-latin-400italic.woff2": { "name": "fonts/alegreya-sans-latin-400italic.woff2", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-400italic.woff2", "publicPath": "/static/fonts/alegreya-sans-latin-400italic.woff2" }, "fonts/alegreya-sans-latin-400italic.woff": { "name": "fonts/alegreya-sans-latin-400italic.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-400italic.woff", "publicPath": "/static/fonts/alegreya-sans-latin-400italic.woff" }, "fonts/alegreya-sans-latin-500.woff2": { "name": "fonts/alegreya-sans-latin-500.woff2", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-500.woff2", "publicPath": "/static/fonts/alegreya-sans-latin-500.woff2" }, "fonts/alegreya-sans-latin-500.woff": { "name": "fonts/alegreya-sans-latin-500.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-500.woff", "publicPath": "/static/fonts/alegreya-sans-latin-500.woff" }, "fonts/alegreya-sans-latin-500italic.woff2": { "name": "fonts/alegreya-sans-latin-500italic.woff2", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-500italic.woff2", "publicPath": "/static/fonts/alegreya-sans-latin-500italic.woff2" }, "fonts/alegreya-sans-latin-500italic.woff": { "name": "fonts/alegreya-sans-latin-500italic.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-500italic.woff", "publicPath": "/static/fonts/alegreya-sans-latin-500italic.woff" }, "fonts/alegreya-sans-latin-700.woff2": { "name": "fonts/alegreya-sans-latin-700.woff2", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-700.woff2", "publicPath": "/static/fonts/alegreya-sans-latin-700.woff2" }, "fonts/alegreya-sans-latin-700.woff": { "name": "fonts/alegreya-sans-latin-700.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-700.woff", "publicPath": "/static/fonts/alegreya-sans-latin-700.woff" }, "fonts/alegreya-sans-latin-700italic.woff2": { "name": "fonts/alegreya-sans-latin-700italic.woff2", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-700italic.woff2", "publicPath": "/static/fonts/alegreya-sans-latin-700italic.woff2" }, "fonts/alegreya-sans-latin-700italic.woff": { "name": "fonts/alegreya-sans-latin-700italic.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-700italic.woff", "publicPath": "/static/fonts/alegreya-sans-latin-700italic.woff" }, "fonts/alegreya-sans-latin-800.woff2": { "name": "fonts/alegreya-sans-latin-800.woff2", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-800.woff2", "publicPath": "/static/fonts/alegreya-sans-latin-800.woff2" }, "fonts/alegreya-sans-latin-800.woff": { "name": "fonts/alegreya-sans-latin-800.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-800.woff", "publicPath": "/static/fonts/alegreya-sans-latin-800.woff" }, "fonts/alegreya-sans-latin-800italic.woff2": { "name": "fonts/alegreya-sans-latin-800italic.woff2", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-800italic.woff2", "publicPath": "/static/fonts/alegreya-sans-latin-800italic.woff2" }, "fonts/alegreya-sans-latin-800italic.woff": { "name": "fonts/alegreya-sans-latin-800italic.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-800italic.woff", "publicPath": "/static/fonts/alegreya-sans-latin-800italic.woff" }, "fonts/alegreya-sans-latin-900.woff2": { "name": "fonts/alegreya-sans-latin-900.woff2", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-900.woff2", "publicPath": "/static/fonts/alegreya-sans-latin-900.woff2" }, "fonts/alegreya-sans-latin-900.woff": { "name": "fonts/alegreya-sans-latin-900.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-900.woff", "publicPath": "/static/fonts/alegreya-sans-latin-900.woff" }, "fonts/alegreya-sans-latin-900italic.woff2": { "name": "fonts/alegreya-sans-latin-900italic.woff2", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-900italic.woff2", "publicPath": "/static/fonts/alegreya-sans-latin-900italic.woff2" }, "fonts/alegreya-sans-latin-900italic.woff": { "name": "fonts/alegreya-sans-latin-900italic.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/alegreya-sans-latin-900italic.woff", "publicPath": "/static/fonts/alegreya-sans-latin-900italic.woff" }, "js/pdf.worker.min.js": { "name": "js/pdf.worker.min.js", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/pdf.worker.min.js", "publicPath": "/static/js/pdf.worker.min.js" }, "fonts/MathJax_AMS-Regular.woff": { "name": "fonts/MathJax_AMS-Regular.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/MathJax_AMS-Regular.woff", "publicPath": "/static/fonts/MathJax_AMS-Regular.woff" }, "fonts/MathJax_Calligraphic-Bold.woff": { "name": "fonts/MathJax_Calligraphic-Bold.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/MathJax_Calligraphic-Bold.woff", "publicPath": "/static/fonts/MathJax_Calligraphic-Bold.woff" }, "fonts/MathJax_Calligraphic-Regular.woff": { "name": "fonts/MathJax_Calligraphic-Regular.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/MathJax_Calligraphic-Regular.woff", "publicPath": "/static/fonts/MathJax_Calligraphic-Regular.woff" }, "fonts/MathJax_Fraktur-Bold.woff": { "name": "fonts/MathJax_Fraktur-Bold.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/MathJax_Fraktur-Bold.woff", "publicPath": "/static/fonts/MathJax_Fraktur-Bold.woff" }, "fonts/MathJax_Fraktur-Regular.woff": { "name": "fonts/MathJax_Fraktur-Regular.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/MathJax_Fraktur-Regular.woff", "publicPath": "/static/fonts/MathJax_Fraktur-Regular.woff" }, "fonts/MathJax_Main-Bold.woff": { "name": "fonts/MathJax_Main-Bold.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/MathJax_Main-Bold.woff", "publicPath": "/static/fonts/MathJax_Main-Bold.woff" }, "fonts/MathJax_Main-Italic.woff": { "name": "fonts/MathJax_Main-Italic.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/MathJax_Main-Italic.woff", "publicPath": "/static/fonts/MathJax_Main-Italic.woff" }, "fonts/MathJax_Main-Regular.woff": { "name": "fonts/MathJax_Main-Regular.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/MathJax_Main-Regular.woff", "publicPath": "/static/fonts/MathJax_Main-Regular.woff" }, "fonts/MathJax_Math-BoldItalic.woff": { "name": "fonts/MathJax_Math-BoldItalic.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/MathJax_Math-BoldItalic.woff", "publicPath": "/static/fonts/MathJax_Math-BoldItalic.woff" }, "fonts/MathJax_Math-Italic.woff": { "name": "fonts/MathJax_Math-Italic.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/MathJax_Math-Italic.woff", "publicPath": "/static/fonts/MathJax_Math-Italic.woff" }, "fonts/MathJax_Math-Regular.woff": { "name": "fonts/MathJax_Math-Regular.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/MathJax_Math-Regular.woff", "publicPath": "/static/fonts/MathJax_Math-Regular.woff" }, "fonts/MathJax_SansSerif-Bold.woff": { "name": "fonts/MathJax_SansSerif-Bold.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/MathJax_SansSerif-Bold.woff", "publicPath": "/static/fonts/MathJax_SansSerif-Bold.woff" }, "fonts/MathJax_SansSerif-Italic.woff": { "name": "fonts/MathJax_SansSerif-Italic.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/MathJax_SansSerif-Italic.woff", "publicPath": "/static/fonts/MathJax_SansSerif-Italic.woff" }, "fonts/MathJax_SansSerif-Regular.woff": { "name": "fonts/MathJax_SansSerif-Regular.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/MathJax_SansSerif-Regular.woff", "publicPath": "/static/fonts/MathJax_SansSerif-Regular.woff" }, "fonts/MathJax_Script-Regular.woff": { "name": "fonts/MathJax_Script-Regular.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/MathJax_Script-Regular.woff", "publicPath": "/static/fonts/MathJax_Script-Regular.woff" }, "fonts/MathJax_Size1-Regular.woff": { "name": "fonts/MathJax_Size1-Regular.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/MathJax_Size1-Regular.woff", "publicPath": "/static/fonts/MathJax_Size1-Regular.woff" }, "fonts/MathJax_Size2-Regular.woff": { "name": "fonts/MathJax_Size2-Regular.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/MathJax_Size2-Regular.woff", "publicPath": "/static/fonts/MathJax_Size2-Regular.woff" }, "fonts/MathJax_Size3-Regular.woff": { "name": "fonts/MathJax_Size3-Regular.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/MathJax_Size3-Regular.woff", "publicPath": "/static/fonts/MathJax_Size3-Regular.woff" }, "fonts/MathJax_Size4-Regular.woff": { "name": "fonts/MathJax_Size4-Regular.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/MathJax_Size4-Regular.woff", "publicPath": "/static/fonts/MathJax_Size4-Regular.woff" }, "fonts/MathJax_Typewriter-Regular.woff": { "name": "fonts/MathJax_Typewriter-Regular.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/MathJax_Typewriter-Regular.woff", "publicPath": "/static/fonts/MathJax_Typewriter-Regular.woff" }, "fonts/MathJax_Vector-Bold.woff": { "name": "fonts/MathJax_Vector-Bold.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/MathJax_Vector-Bold.woff", "publicPath": "/static/fonts/MathJax_Vector-Bold.woff" }, "fonts/MathJax_Vector-Regular.woff": { "name": "fonts/MathJax_Vector-Regular.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/MathJax_Vector-Regular.woff", "publicPath": "/static/fonts/MathJax_Vector-Regular.woff" }, "fonts/MathJax_Zero.woff": { "name": "fonts/MathJax_Zero.woff", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/fonts/MathJax_Zero.woff", "publicPath": "/static/fonts/MathJax_Zero.woff" }, "robots.txt": { "name": "robots.txt", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/robots.txt", "publicPath": "/static/robots.txt" }, "js/pdf.worker.min.js.LICENSE.txt": { "name": "js/pdf.worker.min.js.LICENSE.txt", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/pdf.worker.min.js.LICENSE.txt", "publicPath": "/static/js/pdf.worker.min.js.LICENSE.txt" }, - "js/add_forge.6d7376990eabad2fde82.js.LICENSE.txt": { - "name": "js/add_forge.6d7376990eabad2fde82.js.LICENSE.txt", - "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/add_forge.6d7376990eabad2fde82.js.LICENSE.txt", - "publicPath": "/static/js/add_forge.6d7376990eabad2fde82.js.LICENSE.txt" + "js/add_forge.b03ba291e43a6431bc44.js.LICENSE.txt": { + "name": "js/add_forge.b03ba291e43a6431bc44.js.LICENSE.txt", + "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/add_forge.b03ba291e43a6431bc44.js.LICENSE.txt", + "publicPath": "/static/js/add_forge.b03ba291e43a6431bc44.js.LICENSE.txt" }, "js/admin.cb05f9f1ab8e1adcdbfb.js.LICENSE.txt": { "name": "js/admin.cb05f9f1ab8e1adcdbfb.js.LICENSE.txt", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/admin.cb05f9f1ab8e1adcdbfb.js.LICENSE.txt", "publicPath": "/static/js/admin.cb05f9f1ab8e1adcdbfb.js.LICENSE.txt" }, "js/auth.7a6ba4612115126f9b59.js.LICENSE.txt": { "name": "js/auth.7a6ba4612115126f9b59.js.LICENSE.txt", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/auth.7a6ba4612115126f9b59.js.LICENSE.txt", "publicPath": "/static/js/auth.7a6ba4612115126f9b59.js.LICENSE.txt" }, "js/browse.dd1b3cff11e141a4fbbc.js.LICENSE.txt": { "name": "js/browse.dd1b3cff11e141a4fbbc.js.LICENSE.txt", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/browse.dd1b3cff11e141a4fbbc.js.LICENSE.txt", "publicPath": "/static/js/browse.dd1b3cff11e141a4fbbc.js.LICENSE.txt" }, "js/guided_tour.6fdb762b8416936b3c84.js.LICENSE.txt": { "name": "js/guided_tour.6fdb762b8416936b3c84.js.LICENSE.txt", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/guided_tour.6fdb762b8416936b3c84.js.LICENSE.txt", "publicPath": "/static/js/guided_tour.6fdb762b8416936b3c84.js.LICENSE.txt" }, "js/highlightjs.5fd270288fca1f2de6c3.js.LICENSE.txt": { "name": "js/highlightjs.5fd270288fca1f2de6c3.js.LICENSE.txt", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/highlightjs.5fd270288fca1f2de6c3.js.LICENSE.txt", "publicPath": "/static/js/highlightjs.5fd270288fca1f2de6c3.js.LICENSE.txt" }, "js/revision.52cc3dd3b75a01c492af.js.LICENSE.txt": { "name": "js/revision.52cc3dd3b75a01c492af.js.LICENSE.txt", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/revision.52cc3dd3b75a01c492af.js.LICENSE.txt", "publicPath": "/static/js/revision.52cc3dd3b75a01c492af.js.LICENSE.txt" }, "js/save.9fc62242a6cdffdaad2c.js.LICENSE.txt": { "name": "js/save.9fc62242a6cdffdaad2c.js.LICENSE.txt", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/save.9fc62242a6cdffdaad2c.js.LICENSE.txt", "publicPath": "/static/js/save.9fc62242a6cdffdaad2c.js.LICENSE.txt" }, "js/showdown.b448e42a34c43d6a7de5.js.LICENSE.txt": { "name": "js/showdown.b448e42a34c43d6a7de5.js.LICENSE.txt", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/showdown.b448e42a34c43d6a7de5.js.LICENSE.txt", "publicPath": "/static/js/showdown.b448e42a34c43d6a7de5.js.LICENSE.txt" }, "js/vault.e2e8f042b9c742390872.js.LICENSE.txt": { "name": "js/vault.e2e8f042b9c742390872.js.LICENSE.txt", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/vault.e2e8f042b9c742390872.js.LICENSE.txt", "publicPath": "/static/js/vault.e2e8f042b9c742390872.js.LICENSE.txt" }, "js/vendors.d43ce19d06b487934799.js.LICENSE.txt": { "name": "js/vendors.d43ce19d06b487934799.js.LICENSE.txt", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/vendors.d43ce19d06b487934799.js.LICENSE.txt", "publicPath": "/static/js/vendors.d43ce19d06b487934799.js.LICENSE.txt" }, "js/webapp.90df29dadbec1b5bf1f7.js.LICENSE.txt": { "name": "js/webapp.90df29dadbec1b5bf1f7.js.LICENSE.txt", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/webapp.90df29dadbec1b5bf1f7.js.LICENSE.txt", "publicPath": "/static/js/webapp.90df29dadbec1b5bf1f7.js.LICENSE.txt" }, "css/add_forge.737aa359fb467b5670bc.css": { "name": "css/add_forge.737aa359fb467b5670bc.css", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/add_forge.737aa359fb467b5670bc.css", "publicPath": "/static/css/add_forge.737aa359fb467b5670bc.css" }, - "js/add_forge.6d7376990eabad2fde82.js": { - "name": "js/add_forge.6d7376990eabad2fde82.js", - "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/add_forge.6d7376990eabad2fde82.js", - "publicPath": "/static/js/add_forge.6d7376990eabad2fde82.js" + "js/add_forge.b03ba291e43a6431bc44.js": { + "name": "js/add_forge.b03ba291e43a6431bc44.js", + "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/add_forge.b03ba291e43a6431bc44.js", + "publicPath": "/static/js/add_forge.b03ba291e43a6431bc44.js" }, "js/admin.cb05f9f1ab8e1adcdbfb.js": { "name": "js/admin.cb05f9f1ab8e1adcdbfb.js", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/admin.cb05f9f1ab8e1adcdbfb.js", "publicPath": "/static/js/admin.cb05f9f1ab8e1adcdbfb.js" }, "css/auth.0336a94c2c02b4b2a4f4.css": { "name": "css/auth.0336a94c2c02b4b2a4f4.css", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/auth.0336a94c2c02b4b2a4f4.css", "publicPath": "/static/css/auth.0336a94c2c02b4b2a4f4.css" }, "js/auth.7a6ba4612115126f9b59.js": { "name": "js/auth.7a6ba4612115126f9b59.js", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/auth.7a6ba4612115126f9b59.js", "publicPath": "/static/js/auth.7a6ba4612115126f9b59.js" }, "css/browse.6315ef52ed73df532bed.css": { "name": "css/browse.6315ef52ed73df532bed.css", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/browse.6315ef52ed73df532bed.css", "publicPath": "/static/css/browse.6315ef52ed73df532bed.css" }, "js/browse.dd1b3cff11e141a4fbbc.js": { "name": "js/browse.dd1b3cff11e141a4fbbc.js", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/browse.dd1b3cff11e141a4fbbc.js", "publicPath": "/static/js/browse.dd1b3cff11e141a4fbbc.js" }, "css/guided_tour.00d493abd76b55df7e25.css": { "name": "css/guided_tour.00d493abd76b55df7e25.css", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/guided_tour.00d493abd76b55df7e25.css", "publicPath": "/static/css/guided_tour.00d493abd76b55df7e25.css" }, "js/guided_tour.6fdb762b8416936b3c84.js": { "name": "js/guided_tour.6fdb762b8416936b3c84.js", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/guided_tour.6fdb762b8416936b3c84.js", "publicPath": "/static/js/guided_tour.6fdb762b8416936b3c84.js" }, "css/origin.5b45e9e6e54fd51ee886.css": { "name": "css/origin.5b45e9e6e54fd51ee886.css", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/origin.5b45e9e6e54fd51ee886.css", "publicPath": "/static/css/origin.5b45e9e6e54fd51ee886.css" }, "js/origin.278a63bfc40cb4173975.js": { "name": "js/origin.278a63bfc40cb4173975.js", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/origin.278a63bfc40cb4173975.js", "publicPath": "/static/js/origin.278a63bfc40cb4173975.js" }, "css/revision.5ddd36d69e1760bfa29d.css": { "name": "css/revision.5ddd36d69e1760bfa29d.css", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/revision.5ddd36d69e1760bfa29d.css", "publicPath": "/static/css/revision.5ddd36d69e1760bfa29d.css" }, "js/revision.52cc3dd3b75a01c492af.js": { "name": "js/revision.52cc3dd3b75a01c492af.js", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/revision.52cc3dd3b75a01c492af.js", "publicPath": "/static/js/revision.52cc3dd3b75a01c492af.js" }, "js/save.9fc62242a6cdffdaad2c.js": { "name": "js/save.9fc62242a6cdffdaad2c.js", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/save.9fc62242a6cdffdaad2c.js", "publicPath": "/static/js/save.9fc62242a6cdffdaad2c.js" }, "css/vault.25fc5883f848b48ffa5b.css": { "name": "css/vault.25fc5883f848b48ffa5b.css", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/vault.25fc5883f848b48ffa5b.css", "publicPath": "/static/css/vault.25fc5883f848b48ffa5b.css" }, "js/vault.e2e8f042b9c742390872.js": { "name": "js/vault.e2e8f042b9c742390872.js", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/vault.e2e8f042b9c742390872.js", "publicPath": "/static/js/vault.e2e8f042b9c742390872.js" }, "css/vendors.c225243a224e4caea239.css": { "name": "css/vendors.c225243a224e4caea239.css", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/vendors.c225243a224e4caea239.css", "publicPath": "/static/css/vendors.c225243a224e4caea239.css" }, "js/vendors.d43ce19d06b487934799.js": { "name": "js/vendors.d43ce19d06b487934799.js", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/vendors.d43ce19d06b487934799.js", "publicPath": "/static/js/vendors.d43ce19d06b487934799.js" }, - "css/webapp.ac2aaf02609c198af58a.css": { - "name": "css/webapp.ac2aaf02609c198af58a.css", - "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/webapp.ac2aaf02609c198af58a.css", - "publicPath": "/static/css/webapp.ac2aaf02609c198af58a.css" + "css/webapp.06378649ab57a826c4e9.css": { + "name": "css/webapp.06378649ab57a826c4e9.css", + "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/webapp.06378649ab57a826c4e9.css", + "publicPath": "/static/css/webapp.06378649ab57a826c4e9.css" }, "js/webapp.90df29dadbec1b5bf1f7.js": { "name": "js/webapp.90df29dadbec1b5bf1f7.js", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/webapp.90df29dadbec1b5bf1f7.js", "publicPath": "/static/js/webapp.90df29dadbec1b5bf1f7.js" }, "js/d3.f989183a810fb9dbb086.js": { "name": "js/d3.f989183a810fb9dbb086.js", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/d3.f989183a810fb9dbb086.js", "publicPath": "/static/js/d3.f989183a810fb9dbb086.js" }, "css/highlightjs.ae43064ab38a65a04d81.css": { "name": "css/highlightjs.ae43064ab38a65a04d81.css", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/highlightjs.ae43064ab38a65a04d81.css", "publicPath": "/static/css/highlightjs.ae43064ab38a65a04d81.css" }, "js/highlightjs.5fd270288fca1f2de6c3.js": { "name": "js/highlightjs.5fd270288fca1f2de6c3.js", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/highlightjs.5fd270288fca1f2de6c3.js", "publicPath": "/static/js/highlightjs.5fd270288fca1f2de6c3.js" }, "css/showdown.426fbf6a7a6653fd4cbb.css": { "name": "css/showdown.426fbf6a7a6653fd4cbb.css", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/showdown.426fbf6a7a6653fd4cbb.css", "publicPath": "/static/css/showdown.426fbf6a7a6653fd4cbb.css" }, "js/showdown.b448e42a34c43d6a7de5.js": { "name": "js/showdown.b448e42a34c43d6a7de5.js", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/showdown.b448e42a34c43d6a7de5.js", "publicPath": "/static/js/showdown.b448e42a34c43d6a7de5.js" }, "css/org.6851b70c924e28f6bf51.css": { "name": "css/org.6851b70c924e28f6bf51.css", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/org.6851b70c924e28f6bf51.css", "publicPath": "/static/css/org.6851b70c924e28f6bf51.css" }, "js/org.9adc9a39a210c2fb4be0.js": { "name": "js/org.9adc9a39a210c2fb4be0.js", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/org.9adc9a39a210c2fb4be0.js", "publicPath": "/static/js/org.9adc9a39a210c2fb4be0.js" }, "js/pdfjs.7fa499e22fea56527058.js": { "name": "js/pdfjs.7fa499e22fea56527058.js", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/pdfjs.7fa499e22fea56527058.js", "publicPath": "/static/js/pdfjs.7fa499e22fea56527058.js" }, "js/mathjax.a0046af7afe82fd10728.js": { "name": "js/mathjax.a0046af7afe82fd10728.js", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/mathjax.a0046af7afe82fd10728.js", "publicPath": "/static/js/mathjax.a0046af7afe82fd10728.js" }, "css/add_forge.737aa359fb467b5670bc.css.map": { "name": "css/add_forge.737aa359fb467b5670bc.css.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/add_forge.737aa359fb467b5670bc.css.map", "publicPath": "/static/css/add_forge.737aa359fb467b5670bc.css.map" }, "css/auth.0336a94c2c02b4b2a4f4.css.map": { "name": "css/auth.0336a94c2c02b4b2a4f4.css.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/auth.0336a94c2c02b4b2a4f4.css.map", "publicPath": "/static/css/auth.0336a94c2c02b4b2a4f4.css.map" }, "css/browse.6315ef52ed73df532bed.css.map": { "name": "css/browse.6315ef52ed73df532bed.css.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/browse.6315ef52ed73df532bed.css.map", "publicPath": "/static/css/browse.6315ef52ed73df532bed.css.map" }, - "css/guided_tour.00d493abd76b55df7e25.css.map": { - "name": "css/guided_tour.00d493abd76b55df7e25.css.map", - "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/guided_tour.00d493abd76b55df7e25.css.map", - "publicPath": "/static/css/guided_tour.00d493abd76b55df7e25.css.map" - }, "css/origin.5b45e9e6e54fd51ee886.css.map": { "name": "css/origin.5b45e9e6e54fd51ee886.css.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/origin.5b45e9e6e54fd51ee886.css.map", "publicPath": "/static/css/origin.5b45e9e6e54fd51ee886.css.map" }, - "css/revision.5ddd36d69e1760bfa29d.css.map": { - "name": "css/revision.5ddd36d69e1760bfa29d.css.map", - "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/revision.5ddd36d69e1760bfa29d.css.map", - "publicPath": "/static/css/revision.5ddd36d69e1760bfa29d.css.map" + "css/guided_tour.00d493abd76b55df7e25.css.map": { + "name": "css/guided_tour.00d493abd76b55df7e25.css.map", + "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/guided_tour.00d493abd76b55df7e25.css.map", + "publicPath": "/static/css/guided_tour.00d493abd76b55df7e25.css.map" }, "css/vault.25fc5883f848b48ffa5b.css.map": { "name": "css/vault.25fc5883f848b48ffa5b.css.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/vault.25fc5883f848b48ffa5b.css.map", "publicPath": "/static/css/vault.25fc5883f848b48ffa5b.css.map" }, + "css/revision.5ddd36d69e1760bfa29d.css.map": { + "name": "css/revision.5ddd36d69e1760bfa29d.css.map", + "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/revision.5ddd36d69e1760bfa29d.css.map", + "publicPath": "/static/css/revision.5ddd36d69e1760bfa29d.css.map" + }, "css/vendors.c225243a224e4caea239.css.map": { "name": "css/vendors.c225243a224e4caea239.css.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/vendors.c225243a224e4caea239.css.map", "publicPath": "/static/css/vendors.c225243a224e4caea239.css.map" }, - "css/webapp.ac2aaf02609c198af58a.css.map": { - "name": "css/webapp.ac2aaf02609c198af58a.css.map", - "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/webapp.ac2aaf02609c198af58a.css.map", - "publicPath": "/static/css/webapp.ac2aaf02609c198af58a.css.map" + "css/webapp.06378649ab57a826c4e9.css.map": { + "name": "css/webapp.06378649ab57a826c4e9.css.map", + "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/webapp.06378649ab57a826c4e9.css.map", + "publicPath": "/static/css/webapp.06378649ab57a826c4e9.css.map" }, "css/highlightjs.ae43064ab38a65a04d81.css.map": { "name": "css/highlightjs.ae43064ab38a65a04d81.css.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/highlightjs.ae43064ab38a65a04d81.css.map", "publicPath": "/static/css/highlightjs.ae43064ab38a65a04d81.css.map" }, "css/showdown.426fbf6a7a6653fd4cbb.css.map": { "name": "css/showdown.426fbf6a7a6653fd4cbb.css.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/showdown.426fbf6a7a6653fd4cbb.css.map", "publicPath": "/static/css/showdown.426fbf6a7a6653fd4cbb.css.map" }, "css/org.6851b70c924e28f6bf51.css.map": { "name": "css/org.6851b70c924e28f6bf51.css.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/css/org.6851b70c924e28f6bf51.css.map", "publicPath": "/static/css/org.6851b70c924e28f6bf51.css.map" }, - "js/add_forge.6d7376990eabad2fde82.js.map": { - "name": "js/add_forge.6d7376990eabad2fde82.js.map", - "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/add_forge.6d7376990eabad2fde82.js.map", - "publicPath": "/static/js/add_forge.6d7376990eabad2fde82.js.map" + "js/add_forge.b03ba291e43a6431bc44.js.map": { + "name": "js/add_forge.b03ba291e43a6431bc44.js.map", + "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/add_forge.b03ba291e43a6431bc44.js.map", + "publicPath": "/static/js/add_forge.b03ba291e43a6431bc44.js.map" }, "js/admin.cb05f9f1ab8e1adcdbfb.js.map": { "name": "js/admin.cb05f9f1ab8e1adcdbfb.js.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/admin.cb05f9f1ab8e1adcdbfb.js.map", "publicPath": "/static/js/admin.cb05f9f1ab8e1adcdbfb.js.map" }, "js/auth.7a6ba4612115126f9b59.js.map": { "name": "js/auth.7a6ba4612115126f9b59.js.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/auth.7a6ba4612115126f9b59.js.map", "publicPath": "/static/js/auth.7a6ba4612115126f9b59.js.map" }, "js/browse.dd1b3cff11e141a4fbbc.js.map": { "name": "js/browse.dd1b3cff11e141a4fbbc.js.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/browse.dd1b3cff11e141a4fbbc.js.map", "publicPath": "/static/js/browse.dd1b3cff11e141a4fbbc.js.map" }, "js/guided_tour.6fdb762b8416936b3c84.js.map": { "name": "js/guided_tour.6fdb762b8416936b3c84.js.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/guided_tour.6fdb762b8416936b3c84.js.map", "publicPath": "/static/js/guided_tour.6fdb762b8416936b3c84.js.map" }, "js/origin.278a63bfc40cb4173975.js.map": { "name": "js/origin.278a63bfc40cb4173975.js.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/origin.278a63bfc40cb4173975.js.map", "publicPath": "/static/js/origin.278a63bfc40cb4173975.js.map" }, "js/revision.52cc3dd3b75a01c492af.js.map": { "name": "js/revision.52cc3dd3b75a01c492af.js.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/revision.52cc3dd3b75a01c492af.js.map", "publicPath": "/static/js/revision.52cc3dd3b75a01c492af.js.map" }, "js/save.9fc62242a6cdffdaad2c.js.map": { "name": "js/save.9fc62242a6cdffdaad2c.js.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/save.9fc62242a6cdffdaad2c.js.map", "publicPath": "/static/js/save.9fc62242a6cdffdaad2c.js.map" }, "js/vault.e2e8f042b9c742390872.js.map": { "name": "js/vault.e2e8f042b9c742390872.js.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/vault.e2e8f042b9c742390872.js.map", "publicPath": "/static/js/vault.e2e8f042b9c742390872.js.map" }, "js/vendors.d43ce19d06b487934799.js.map": { "name": "js/vendors.d43ce19d06b487934799.js.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/vendors.d43ce19d06b487934799.js.map", "publicPath": "/static/js/vendors.d43ce19d06b487934799.js.map" }, "js/webapp.90df29dadbec1b5bf1f7.js.map": { "name": "js/webapp.90df29dadbec1b5bf1f7.js.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/webapp.90df29dadbec1b5bf1f7.js.map", "publicPath": "/static/js/webapp.90df29dadbec1b5bf1f7.js.map" }, "js/d3.f989183a810fb9dbb086.js.map": { "name": "js/d3.f989183a810fb9dbb086.js.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/d3.f989183a810fb9dbb086.js.map", "publicPath": "/static/js/d3.f989183a810fb9dbb086.js.map" }, "js/highlightjs.5fd270288fca1f2de6c3.js.map": { "name": "js/highlightjs.5fd270288fca1f2de6c3.js.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/highlightjs.5fd270288fca1f2de6c3.js.map", "publicPath": "/static/js/highlightjs.5fd270288fca1f2de6c3.js.map" }, "js/showdown.b448e42a34c43d6a7de5.js.map": { "name": "js/showdown.b448e42a34c43d6a7de5.js.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/showdown.b448e42a34c43d6a7de5.js.map", "publicPath": "/static/js/showdown.b448e42a34c43d6a7de5.js.map" }, "js/org.9adc9a39a210c2fb4be0.js.map": { "name": "js/org.9adc9a39a210c2fb4be0.js.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/org.9adc9a39a210c2fb4be0.js.map", "publicPath": "/static/js/org.9adc9a39a210c2fb4be0.js.map" }, "js/pdfjs.7fa499e22fea56527058.js.map": { "name": "js/pdfjs.7fa499e22fea56527058.js.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/pdfjs.7fa499e22fea56527058.js.map", "publicPath": "/static/js/pdfjs.7fa499e22fea56527058.js.map" }, "js/mathjax.a0046af7afe82fd10728.js.map": { "name": "js/mathjax.a0046af7afe82fd10728.js.map", "path": "/var/lib/jenkins/workspace/DWAPPS/pypi-upload/static/js/mathjax.a0046af7afe82fd10728.js.map", "publicPath": "/static/js/mathjax.a0046af7afe82fd10728.js.map" } }, "chunks": { "add_forge": [ "css/add_forge.737aa359fb467b5670bc.css", - "js/add_forge.6d7376990eabad2fde82.js" + "js/add_forge.b03ba291e43a6431bc44.js" ], "admin": [ "js/admin.cb05f9f1ab8e1adcdbfb.js" ], "auth": [ "css/auth.0336a94c2c02b4b2a4f4.css", "js/auth.7a6ba4612115126f9b59.js" ], "browse": [ "css/browse.6315ef52ed73df532bed.css", "js/browse.dd1b3cff11e141a4fbbc.js" ], "guided_tour": [ "css/guided_tour.00d493abd76b55df7e25.css", "js/guided_tour.6fdb762b8416936b3c84.js" ], "origin": [ "css/origin.5b45e9e6e54fd51ee886.css", "js/origin.278a63bfc40cb4173975.js" ], "revision": [ "css/revision.5ddd36d69e1760bfa29d.css", "js/revision.52cc3dd3b75a01c492af.js" ], "save": [ "js/save.9fc62242a6cdffdaad2c.js" ], "vault": [ "css/vault.25fc5883f848b48ffa5b.css", "js/vault.e2e8f042b9c742390872.js" ], "vendors": [ "css/vendors.c225243a224e4caea239.css", "js/vendors.d43ce19d06b487934799.js" ], "webapp": [ - "css/webapp.ac2aaf02609c198af58a.css", + "css/webapp.06378649ab57a826c4e9.css", "js/webapp.90df29dadbec1b5bf1f7.js" ] }, "publicPath": "/static/" } \ No newline at end of file diff --git a/swh.web.egg-info/PKG-INFO b/swh.web.egg-info/PKG-INFO index 5851122e..073d428d 100644 --- a/swh.web.egg-info/PKG-INFO +++ b/swh.web.egg-info/PKG-INFO @@ -1,206 +1,206 @@ Metadata-Version: 2.1 Name: swh.web -Version: 0.0.386 +Version: 0.0.387 Summary: Software Heritage Web UI Home-page: https://forge.softwareheritage.org/diffusion/DWUI/ Author: Software Heritage developers Author-email: swh-devel@inria.fr License: UNKNOWN Project-URL: Bug Reports, https://forge.softwareheritage.org/maniphest Project-URL: Funding, https://www.softwareheritage.org/donate Project-URL: Source, https://forge.softwareheritage.org/source/swh-web Project-URL: Documentation, https://docs.softwareheritage.org/devel/swh-web/ Platform: UNKNOWN Classifier: Programming Language :: Python :: 3 Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+) Classifier: Operating System :: OS Independent Classifier: Development Status :: 5 - Production/Stable Classifier: Framework :: Django Requires-Python: >=3.7 Description-Content-Type: text/markdown Provides-Extra: testing License-File: LICENSE License-File: AUTHORS # swh-web This repository holds the development of Software Heritage web applications: * swh-web API (https://archive.softwareheritage.org/api): enables to query the content of the archive through HTTP requests and get responses in JSON or YAML. * swh-web browse (https://archive.softwareheritage.org/browse): graphical interface that eases the navigation in the archive. Documentation about how to use these components but also the details of their URI schemes can be found in the docs folder. The produced HTML documentation can be read and browsed at https://docs.softwareheritage.org/devel/swh-web/index.html. ## Technical details Those applications are powered by: * [Django Web Framework](https://www.djangoproject.com/) on the backend side with the following extensions enabled: * [django-rest-framework](http://www.django-rest-framework.org/) * [django-webpack-loader](https://github.com/owais/django-webpack-loader) * [django-js-reverse](http://django-js-reverse.readthedocs.io/en/latest/) * [webpack](https://webpack.js.org/) on the frontend side for better static assets management, including: * assets dependencies management and retrieval through [yarn](https://yarnpkg.com/en/) * linting of custom javascript code (through [eslint](https://eslint.org/)) and stylesheets (through [stylelint](https://stylelint.io/)) * use of [es6](http://es6-features.org) syntax and advanced javascript feature like [async/await](https://javascript.info/async-await) or [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) thanks to [babel](https://babeljs.io/) (es6 to es5 transpiler and polyfills provider) * assets minification (using [terser](https://github.com/terser-js/terser) and [cssnano](http://cssnano.co/)) but also dead code elimination for production use ## How to build, run and test ### Backend requirements First you will need [Python 3](https://www.python.org) and a complete [swh development environment](https://forge.softwareheritage.org/source/swh-environment/) installed. To run the backend, you need to have the following [Python 3 modules](requirements.txt) installed. To run the backend tests, the following [Python 3 modules](requirements-test.txt) are also required to be installed. One easy way to install them is to use the `pip` tool: ``` $ pip install -r requirements.txt -r requirements-test.txt ``` ### Frontend requirements To compile the frontend assets, you need to have [nodejs](https://nodejs.org/en/) >= 12.0.0 and [yarn](https://yarnpkg.com/en/) installed. If you are on Debian, you can easily install an up to date nodejs from the [nodesource](https://github.com/nodesource/distributions/blob/master/README.md) repository. Packages for yarn can be installed by following [these instructions](https://yarnpkg.com/en/docs/install#debian-stable). Alternatively, you can install yarn with `npm install yarn`, and add `YARN=node_modules/yarn/bin/yarn` as argument whenever you run `make`. Please note that the static assets bundles generated by webpack are not stored in the git repository. Follow the instructions below in order to generate them in order to be able to run the frontend part of the web applications. ### Make targets to execute the applications Below is the list of available make targets that can be executed from the root directory of swh-web in order to build and/or execute the web applications under various configurations: * **run-django-webpack-devserver**: Compile and serve not optimized (without mignification and dead code elimination) frontend static assets using [webpack-dev-server](https://github.com/webpack/webpack-dev-server) and run django server with development settings. This is the recommended target to use when developing swh-web as it enables automatic reloading of backend and frontend part of the applications when modifying source files (*.py, *.js, *.css, *.html). * **run-django-webpack-dev**: Compile not optimized (no minification, no dead code elimination) frontend static assets using webpack and run django server with development settings. This is the recommended target when one only wants to develop the backend side of the application. * **run-django-webpack-prod**: Compile optimized (with minification and dead code elimination) frontend static assets using webpack and run django server with production settings. This is useful to test the applications in production mode (with the difference that static assets are served by django). Production settings notably enable advanced django caching and you will need to have [memcached](https://memcached.org/) installed for that feature to work. * **run-django-server-dev**: Run the django server with development settings but without compiling frontend static assets through webpack. * **run-django-server-prod**: Run the django server with production settings but without compiling frontend static assets through webpack. * **run-gunicorn-server**: Run the web applications with production settings in a [gunicorn](http://gunicorn.org/) worker as they will be in real production environment. Once one of these targets executed, the web applications can be executed by pointing your browser to http://localhost:5004. ### Make targets to test the applications Some make targets are also available to easily execute the backend and frontend tests of the Software Heritage web applications. The backend tests are powered by the [pytest](https://docs.pytest.org/en/latest/) and [hypothesis](https://hypothesis.readthedocs.io/en/latest/) frameworks while the frontend ones rely on the use of the [cypress](https://www.cypress.io/) tool. Below is the exhaustive list of those targets: * **test**: execute the backend tests using a fast hypothesis profile (only one input example will be provided for each test) * **test-full**: execute the backend tests using a slower hypothesis profile (one hundred of input examples will be provided for each test which helps spotting possible bugs) * **test-frontend**: execute the frontend tests using cypress in headless mode but with some slow test suites disabled * **test-frontend-full**: execute the frontend tests using cypress in headless mode with all test suites enabled * **test-frontend-ui**: execute the frontend tests using the cypress GUI but with some slow test suites disabled * **test-frontend-full-ui**: execute the frontend tests using the cypress GUI with all test suites enabled ### Yarn targets Below is a list of available yarn targets in order to only execute the frontend static assets compilation (no web server will be executed): * **build-dev**: compile not optimized (without mignification and dead code elimination) frontend static assets and store the results in the `swh/web/static` folder. * **build**: compile optimized (with mignification and dead code elimination) frontend static assets and store the results in the `swh/web/static` folder. **The build target must be executed prior performing the Debian packaging of swh-web** in order for the package to contain the optimized assets dedicated to production environment. To execute these targets, issue the following command: ``` $ yarn ``` diff --git a/swh.web.egg-info/SOURCES.txt b/swh.web.egg-info/SOURCES.txt index 48de7ff8..7c01d046 100644 --- a/swh.web.egg-info/SOURCES.txt +++ b/swh.web.egg-info/SOURCES.txt @@ -1,2091 +1,2093 @@ .git-blame-ignore-revs .gitignore .pre-commit-config.yaml AUTHORS CODE_OF_CONDUCT.md CONTRIBUTORS LICENSE MANIFEST.in Makefile Makefile.local README.md conftest.py cypress.json mypy.ini package.json pyproject.toml pytest.ini requirements-swh.txt requirements-test.txt requirements.txt setup.cfg setup.py tox.ini yarn.lock assets/config/.bootstraprc assets/config/.eslintignore assets/config/.eslintrc assets/config/bootstrap-pre-customize.scss assets/config/webpack.config.development.js assets/config/webpack.config.production.js assets/config/webpack-plugins/dump-highlightjs-languages-data-plugin.js assets/config/webpack-plugins/fix-swh-source-maps-webpack-plugin.js assets/config/webpack-plugins/generate-weblabels-webpack-plugin/README.md assets/config/webpack-plugins/generate-weblabels-webpack-plugin/index.js assets/config/webpack-plugins/generate-weblabels-webpack-plugin/jslicenses.ejs assets/config/webpack-plugins/generate-weblabels-webpack-plugin/plugin-options-schema.json assets/config/webpack-plugins/generate-weblabels-webpack-plugin/spdx-licenses-mapping.js assets/src/bundles/add_forge/add-forge.css assets/src/bundles/add_forge/add-request-history-item.ejs assets/src/bundles/add_forge/create-request.js assets/src/bundles/add_forge/forge-admin-email.ejs assets/src/bundles/add_forge/index.js assets/src/bundles/add_forge/moderation-dashboard.js assets/src/bundles/add_forge/request-dashboard.js assets/src/bundles/admin/deposit.js assets/src/bundles/admin/index.js assets/src/bundles/admin/mailmap-form.ejs assets/src/bundles/admin/mailmap.js assets/src/bundles/admin/origin-save.js assets/src/bundles/auth/auth.css assets/src/bundles/auth/index.js assets/src/bundles/browse/breadcrumbs.css assets/src/bundles/browse/browse-utils.js assets/src/bundles/browse/browse.css assets/src/bundles/browse/content.css assets/src/bundles/browse/index.js assets/src/bundles/browse/origin-search.js assets/src/bundles/browse/snapshot-navigation.css assets/src/bundles/browse/snapshot-navigation.js assets/src/bundles/browse/swhid-utils.js assets/src/bundles/guided_tour/guided-tour-steps.yaml assets/src/bundles/guided_tour/index.js assets/src/bundles/guided_tour/swh-introjs.css assets/src/bundles/origin/index.js assets/src/bundles/origin/utils.js assets/src/bundles/origin/visits-calendar.js assets/src/bundles/origin/visits-histogram.js assets/src/bundles/origin/visits-reporting.css assets/src/bundles/origin/visits-reporting.js assets/src/bundles/revision/diff-panel.ejs assets/src/bundles/revision/diff-utils.js assets/src/bundles/revision/index.js assets/src/bundles/revision/log-utils.js assets/src/bundles/revision/revision.css assets/src/bundles/save/artifact-form-row.ejs assets/src/bundles/save/index.js assets/src/bundles/vault/index.js assets/src/bundles/vault/vault-create-tasks.js assets/src/bundles/vault/vault-table-row.ejs assets/src/bundles/vault/vault-ui.js assets/src/bundles/vault/vault.css assets/src/bundles/vendors/datatables.css assets/src/bundles/vendors/elementsfrompoint-polyfill.js assets/src/bundles/vendors/index.js assets/src/bundles/webapp/badges.js assets/src/bundles/webapp/breadcrumbs.css assets/src/bundles/webapp/code-highlighting.js assets/src/bundles/webapp/coverage.css assets/src/bundles/webapp/history-counters.css assets/src/bundles/webapp/history-counters.js assets/src/bundles/webapp/iframes.js assets/src/bundles/webapp/index.js assets/src/bundles/webapp/math-typesetting.js assets/src/bundles/webapp/notebook-rendering.js assets/src/bundles/webapp/notebook.css assets/src/bundles/webapp/pdf-rendering.js assets/src/bundles/webapp/readme-rendering.js assets/src/bundles/webapp/sentry.js assets/src/bundles/webapp/status-widget.css assets/src/bundles/webapp/status-widget.js assets/src/bundles/webapp/webapp-utils.js assets/src/bundles/webapp/webapp.css assets/src/bundles/webapp/xss-filtering.js assets/src/thirdparty/jquery.tabSlideOut/LICENSE assets/src/thirdparty/jquery.tabSlideOut/jquery.tabSlideOut.css assets/src/thirdparty/jquery.tabSlideOut/jquery.tabSlideOut.js assets/src/utils/constants.js assets/src/utils/d3.js assets/src/utils/functions.js assets/src/utils/highlightjs.css assets/src/utils/highlightjs.js assets/src/utils/hljs-swh-theme.css assets/src/utils/mathjax.js assets/src/utils/org.css assets/src/utils/org.js assets/src/utils/requests-filter-checkbox.ejs assets/src/utils/scrolling.js assets/src/utils/showdown.css assets/src/utils/showdown.js cypress/fixtures/add-forge-now-requests.json cypress/fixtures/example.json cypress/fixtures/origin-save.json cypress/fixtures/save-task-info.json cypress/fixtures/swh_1_dir_cd19126d815470b28919d64b2a8e6a3e37f900dd.tar.gz cypress/fixtures/swh_1_rev_1c480a4573d2a003fc2630c21c2b25829de49972.git.tar cypress/integration/add-forge-now-request-create.spec.js cypress/integration/add-forge-now-request-dashboard.spec.js cypress/integration/add-forge-now-requests-moderation.spec.js cypress/integration/admin.spec.js cypress/integration/api-tokens.spec.js cypress/integration/back-to-top.spec.js cypress/integration/code-highlighting.spec.js cypress/integration/content-display.spec.js cypress/integration/content-rendering.spec.js cypress/integration/deposit-admin.spec.js cypress/integration/directory.spec.js cypress/integration/errors.spec.js cypress/integration/guided-tour.spec.js cypress/integration/home.spec.js cypress/integration/language-select.spec.js cypress/integration/layout.spec.js cypress/integration/mailmap.spec.js cypress/integration/origin-browse.spec.js cypress/integration/origin-save.spec.js cypress/integration/origin-search.spec.js cypress/integration/origin-visits.spec.js cypress/integration/persistent-identifiers.spec.js cypress/integration/revision-diff.spec.js cypress/integration/sidebar.spec.js cypress/integration/vault.spec.js cypress/plugins/index.js cypress/support/index.js cypress/utils/index.js docs/.gitignore docs/Makefile docs/conf.py docs/developers-info.rst docs/index.rst docs/uri-scheme-api-content.rst docs/uri-scheme-api-directory.rst docs/uri-scheme-api-graph.rst docs/uri-scheme-api-origin.rst docs/uri-scheme-api-release.rst docs/uri-scheme-api-revision.rst docs/uri-scheme-api-snapshot.rst docs/uri-scheme-api-stat.rst docs/uri-scheme-api-swhids.rst docs/uri-scheme-api-vault.rst docs/uri-scheme-api.rst docs/uri-scheme-browse-content.rst docs/uri-scheme-browse-directory.rst docs/uri-scheme-browse-origin.rst docs/uri-scheme-browse-release.rst docs/uri-scheme-browse-revision.rst docs/uri-scheme-browse-snapshot.rst docs/uri-scheme-browse.rst docs/uri-scheme-misc.rst docs/uri-scheme-swhids.rst docs/_static/.placeholder docs/_templates/.placeholder static/robots.txt static/webpack-stats.json static/css/add_forge.737aa359fb467b5670bc.css static/css/add_forge.737aa359fb467b5670bc.css.map static/css/auth.0336a94c2c02b4b2a4f4.css static/css/auth.0336a94c2c02b4b2a4f4.css.map static/css/browse.6315ef52ed73df532bed.css static/css/browse.6315ef52ed73df532bed.css.map static/css/guided_tour.00d493abd76b55df7e25.css static/css/guided_tour.00d493abd76b55df7e25.css.map static/css/highlightjs.ae43064ab38a65a04d81.css static/css/highlightjs.ae43064ab38a65a04d81.css.map static/css/org.6851b70c924e28f6bf51.css static/css/org.6851b70c924e28f6bf51.css.map static/css/origin.5b45e9e6e54fd51ee886.css static/css/origin.5b45e9e6e54fd51ee886.css.map static/css/revision.5ddd36d69e1760bfa29d.css static/css/revision.5ddd36d69e1760bfa29d.css.map static/css/showdown.426fbf6a7a6653fd4cbb.css static/css/showdown.426fbf6a7a6653fd4cbb.css.map static/css/vault.25fc5883f848b48ffa5b.css static/css/vault.25fc5883f848b48ffa5b.css.map static/css/vendors.c225243a224e4caea239.css static/css/vendors.c225243a224e4caea239.css.map -static/css/webapp.ac2aaf02609c198af58a.css -static/css/webapp.ac2aaf02609c198af58a.css.map +static/css/webapp.06378649ab57a826c4e9.css +static/css/webapp.06378649ab57a826c4e9.css.map static/fonts/MathJax_AMS-Regular.woff static/fonts/MathJax_Calligraphic-Bold.woff static/fonts/MathJax_Calligraphic-Regular.woff static/fonts/MathJax_Fraktur-Bold.woff static/fonts/MathJax_Fraktur-Regular.woff static/fonts/MathJax_Main-Bold.woff static/fonts/MathJax_Main-Italic.woff static/fonts/MathJax_Main-Regular.woff static/fonts/MathJax_Math-BoldItalic.woff static/fonts/MathJax_Math-Italic.woff static/fonts/MathJax_Math-Regular.woff static/fonts/MathJax_SansSerif-Bold.woff static/fonts/MathJax_SansSerif-Italic.woff static/fonts/MathJax_SansSerif-Regular.woff static/fonts/MathJax_Script-Regular.woff static/fonts/MathJax_Size1-Regular.woff static/fonts/MathJax_Size2-Regular.woff static/fonts/MathJax_Size3-Regular.woff static/fonts/MathJax_Size4-Regular.woff static/fonts/MathJax_Typewriter-Regular.woff static/fonts/MathJax_Vector-Bold.woff static/fonts/MathJax_Vector-Regular.woff static/fonts/MathJax_Zero.woff static/fonts/alegreya-latin-400.woff static/fonts/alegreya-latin-400.woff2 static/fonts/alegreya-latin-400italic.woff static/fonts/alegreya-latin-400italic.woff2 static/fonts/alegreya-latin-500.woff static/fonts/alegreya-latin-500.woff2 static/fonts/alegreya-latin-500italic.woff static/fonts/alegreya-latin-500italic.woff2 static/fonts/alegreya-latin-700.woff static/fonts/alegreya-latin-700.woff2 static/fonts/alegreya-latin-700italic.woff static/fonts/alegreya-latin-700italic.woff2 static/fonts/alegreya-latin-800.woff static/fonts/alegreya-latin-800.woff2 static/fonts/alegreya-latin-800italic.woff static/fonts/alegreya-latin-800italic.woff2 static/fonts/alegreya-latin-900.woff static/fonts/alegreya-latin-900.woff2 static/fonts/alegreya-latin-900italic.woff static/fonts/alegreya-latin-900italic.woff2 static/fonts/alegreya-sans-latin-100.woff static/fonts/alegreya-sans-latin-100.woff2 static/fonts/alegreya-sans-latin-100italic.woff static/fonts/alegreya-sans-latin-100italic.woff2 static/fonts/alegreya-sans-latin-300.woff static/fonts/alegreya-sans-latin-300.woff2 static/fonts/alegreya-sans-latin-300italic.woff static/fonts/alegreya-sans-latin-300italic.woff2 static/fonts/alegreya-sans-latin-400.woff static/fonts/alegreya-sans-latin-400.woff2 static/fonts/alegreya-sans-latin-400italic.woff static/fonts/alegreya-sans-latin-400italic.woff2 static/fonts/alegreya-sans-latin-500.woff static/fonts/alegreya-sans-latin-500.woff2 static/fonts/alegreya-sans-latin-500italic.woff static/fonts/alegreya-sans-latin-500italic.woff2 static/fonts/alegreya-sans-latin-700.woff static/fonts/alegreya-sans-latin-700.woff2 static/fonts/alegreya-sans-latin-700italic.woff static/fonts/alegreya-sans-latin-700italic.woff2 static/fonts/alegreya-sans-latin-800.woff static/fonts/alegreya-sans-latin-800.woff2 static/fonts/alegreya-sans-latin-800italic.woff static/fonts/alegreya-sans-latin-800italic.woff2 static/fonts/alegreya-sans-latin-900.woff static/fonts/alegreya-sans-latin-900.woff2 static/fonts/alegreya-sans-latin-900italic.woff static/fonts/alegreya-sans-latin-900italic.woff2 static/fonts/materialdesignicons-webfont.eot static/fonts/materialdesignicons-webfont.ttf static/fonts/materialdesignicons-webfont.woff static/fonts/materialdesignicons-webfont.woff2 static/img/arrow-up-small.png static/img/swh-donor.png static/img/swh-logo-white.svg static/img/swh-logo.png static/img/swh-logo.svg static/img/swh-spinner-small.gif static/img/swh-spinner.gif static/img/swh-vault.png static/img/icons/swh-logo-32x32.png static/img/icons/swh-logo-archive-180x180.png static/img/icons/swh-logo-archive-192x192.png static/img/icons/swh-logo-archive-270x270.png static/img/logos/bitbucket.png static/img/logos/cgit.png static/img/logos/cran.png static/img/logos/debian.png static/img/logos/elife.png static/img/logos/gitea.png static/img/logos/github.png static/img/logos/gitlab.png static/img/logos/gitorious.png static/img/logos/gnu.png static/img/logos/googlecode.png static/img/logos/guix.png static/img/logos/hal.png static/img/logos/heptapod.png static/img/logos/inria.jpg static/img/logos/ipol.png static/img/logos/launchpad.png static/img/logos/nixos.png static/img/logos/npm.png static/img/logos/opam.png static/img/logos/phabricator.png static/img/logos/pypi.png static/img/logos/sourceforge.png static/img/thirdParty/chosen-sprite.png static/img/thirdParty/chosen-sprite@2x.png -static/js/add_forge.6d7376990eabad2fde82.js -static/js/add_forge.6d7376990eabad2fde82.js.LICENSE.txt -static/js/add_forge.6d7376990eabad2fde82.js.map +static/js/add_forge.b03ba291e43a6431bc44.js +static/js/add_forge.b03ba291e43a6431bc44.js.LICENSE.txt +static/js/add_forge.b03ba291e43a6431bc44.js.map static/js/admin.cb05f9f1ab8e1adcdbfb.js static/js/admin.cb05f9f1ab8e1adcdbfb.js.LICENSE.txt static/js/admin.cb05f9f1ab8e1adcdbfb.js.map static/js/auth.7a6ba4612115126f9b59.js static/js/auth.7a6ba4612115126f9b59.js.LICENSE.txt static/js/auth.7a6ba4612115126f9b59.js.map static/js/browse.dd1b3cff11e141a4fbbc.js static/js/browse.dd1b3cff11e141a4fbbc.js.LICENSE.txt static/js/browse.dd1b3cff11e141a4fbbc.js.map static/js/d3.f989183a810fb9dbb086.js static/js/d3.f989183a810fb9dbb086.js.map static/js/guided_tour.6fdb762b8416936b3c84.js static/js/guided_tour.6fdb762b8416936b3c84.js.LICENSE.txt static/js/guided_tour.6fdb762b8416936b3c84.js.map static/js/highlightjs.5fd270288fca1f2de6c3.js static/js/highlightjs.5fd270288fca1f2de6c3.js.LICENSE.txt static/js/highlightjs.5fd270288fca1f2de6c3.js.map static/js/mathjax.a0046af7afe82fd10728.js static/js/mathjax.a0046af7afe82fd10728.js.map static/js/org.9adc9a39a210c2fb4be0.js static/js/org.9adc9a39a210c2fb4be0.js.map static/js/origin.278a63bfc40cb4173975.js static/js/origin.278a63bfc40cb4173975.js.map static/js/pdf.worker.min.js static/js/pdf.worker.min.js.LICENSE.txt static/js/pdfjs.7fa499e22fea56527058.js static/js/pdfjs.7fa499e22fea56527058.js.map static/js/revision.52cc3dd3b75a01c492af.js static/js/revision.52cc3dd3b75a01c492af.js.LICENSE.txt static/js/revision.52cc3dd3b75a01c492af.js.map static/js/save.9fc62242a6cdffdaad2c.js static/js/save.9fc62242a6cdffdaad2c.js.LICENSE.txt static/js/save.9fc62242a6cdffdaad2c.js.map static/js/showdown.b448e42a34c43d6a7de5.js static/js/showdown.b448e42a34c43d6a7de5.js.LICENSE.txt static/js/showdown.b448e42a34c43d6a7de5.js.map static/js/vault.e2e8f042b9c742390872.js static/js/vault.e2e8f042b9c742390872.js.LICENSE.txt static/js/vault.e2e8f042b9c742390872.js.map static/js/vendors.d43ce19d06b487934799.js static/js/vendors.d43ce19d06b487934799.js.LICENSE.txt static/js/vendors.d43ce19d06b487934799.js.map static/js/webapp.90df29dadbec1b5bf1f7.js static/js/webapp.90df29dadbec1b5bf1f7.js.LICENSE.txt static/js/webapp.90df29dadbec1b5bf1f7.js.map static/json/highlightjs-languages.json static/jssources/LICENSE.txt static/jssources/jslicenses.json static/jssources/@babel/runtime/LICENSE.txt static/jssources/@babel/runtime/helpers/esm/asyncToGenerator.js static/jssources/@babel/runtime/helpers/esm/inherits.js static/jssources/@babel/runtime/helpers/esm/setPrototypeOf.js static/jssources/@babel/runtime/regenerator/index.js static/jssources/@sentry/browser/LICENSE.txt static/jssources/@sentry/browser/esm/backend.js static/jssources/@sentry/browser/esm/client.js static/jssources/@sentry/browser/esm/eventbuilder.js static/jssources/@sentry/browser/esm/flags.js static/jssources/@sentry/browser/esm/helpers.js static/jssources/@sentry/browser/esm/sdk.js static/jssources/@sentry/browser/esm/stack-parsers.js static/jssources/@sentry/browser/esm/integrations/breadcrumbs.js static/jssources/@sentry/browser/esm/integrations/dedupe.js static/jssources/@sentry/browser/esm/integrations/globalhandlers.js static/jssources/@sentry/browser/esm/integrations/linkederrors.js static/jssources/@sentry/browser/esm/integrations/trycatch.js static/jssources/@sentry/browser/esm/integrations/useragent.js static/jssources/@sentry/browser/esm/transports/base.js static/jssources/@sentry/browser/esm/transports/fetch.js static/jssources/@sentry/browser/esm/transports/new-fetch.js static/jssources/@sentry/browser/esm/transports/new-xhr.js static/jssources/@sentry/browser/esm/transports/utils.js static/jssources/@sentry/browser/esm/transports/xhr.js static/jssources/@sentry/core/LICENSE.txt static/jssources/@sentry/core/esm/api.js static/jssources/@sentry/core/esm/basebackend.js static/jssources/@sentry/core/esm/baseclient.js static/jssources/@sentry/core/esm/flags.js static/jssources/@sentry/core/esm/integration.js static/jssources/@sentry/core/esm/request.js static/jssources/@sentry/core/esm/sdk.js static/jssources/@sentry/core/esm/version.js static/jssources/@sentry/core/esm/integrations/functiontostring.js static/jssources/@sentry/core/esm/integrations/inboundfilters.js static/jssources/@sentry/core/esm/transports/base.js static/jssources/@sentry/core/esm/transports/noop.js static/jssources/@sentry/hub/LICENSE.txt static/jssources/@sentry/hub/esm/flags.js static/jssources/@sentry/hub/esm/hub.js static/jssources/@sentry/hub/esm/scope.js static/jssources/@sentry/hub/esm/session.js static/jssources/@sentry/minimal/LICENSE.txt static/jssources/@sentry/minimal/esm/index.js static/jssources/@sentry/types/LICENSE.txt static/jssources/@sentry/types/esm/severity.js static/jssources/@sentry/utils/LICENSE.txt static/jssources/@sentry/utils/esm/async.js static/jssources/@sentry/utils/esm/browser.js static/jssources/@sentry/utils/esm/clientreport.js static/jssources/@sentry/utils/esm/dsn.js static/jssources/@sentry/utils/esm/enums.js static/jssources/@sentry/utils/esm/env.js static/jssources/@sentry/utils/esm/envelope.js static/jssources/@sentry/utils/esm/error.js static/jssources/@sentry/utils/esm/flags.js static/jssources/@sentry/utils/esm/global.js static/jssources/@sentry/utils/esm/instrument.js static/jssources/@sentry/utils/esm/is.js static/jssources/@sentry/utils/esm/logger.js static/jssources/@sentry/utils/esm/memo.js static/jssources/@sentry/utils/esm/misc.js static/jssources/@sentry/utils/esm/node.js static/jssources/@sentry/utils/esm/normalize.js static/jssources/@sentry/utils/esm/object.js static/jssources/@sentry/utils/esm/polyfill.js static/jssources/@sentry/utils/esm/promisebuffer.js static/jssources/@sentry/utils/esm/ratelimit.js static/jssources/@sentry/utils/esm/severity.js static/jssources/@sentry/utils/esm/stacktrace.js static/jssources/@sentry/utils/esm/status.js static/jssources/@sentry/utils/esm/string.js static/jssources/@sentry/utils/esm/supports.js static/jssources/@sentry/utils/esm/syncpromise.js static/jssources/@sentry/utils/esm/time.js static/jssources/admin-lte/LICENSE.txt static/jssources/admin-lte/dist/js/adminlte.js static/jssources/ansi_up/LICENSE.txt static/jssources/ansi_up/ansi_up.js static/jssources/assets/src/bundles/add_forge/add-request-history-item.ejs static/jssources/assets/src/bundles/add_forge/create-request.js static/jssources/assets/src/bundles/add_forge/forge-admin-email.ejs static/jssources/assets/src/bundles/add_forge/index.js static/jssources/assets/src/bundles/add_forge/moderation-dashboard.js static/jssources/assets/src/bundles/add_forge/request-dashboard.js static/jssources/assets/src/bundles/admin/deposit.js static/jssources/assets/src/bundles/admin/index.js static/jssources/assets/src/bundles/admin/mailmap-form.ejs static/jssources/assets/src/bundles/admin/mailmap.js static/jssources/assets/src/bundles/admin/origin-save.js static/jssources/assets/src/bundles/auth/index.js static/jssources/assets/src/bundles/browse/browse-utils.js static/jssources/assets/src/bundles/browse/index.js static/jssources/assets/src/bundles/browse/origin-search.js static/jssources/assets/src/bundles/browse/snapshot-navigation.js static/jssources/assets/src/bundles/browse/swhid-utils.js static/jssources/assets/src/bundles/guided_tour/index.js static/jssources/assets/src/bundles/origin/index.js static/jssources/assets/src/bundles/origin/utils.js static/jssources/assets/src/bundles/origin/visits-calendar.js static/jssources/assets/src/bundles/origin/visits-histogram.js static/jssources/assets/src/bundles/origin/visits-reporting.js static/jssources/assets/src/bundles/revision/diff-panel.ejs static/jssources/assets/src/bundles/revision/diff-utils.js static/jssources/assets/src/bundles/revision/index.js static/jssources/assets/src/bundles/revision/log-utils.js static/jssources/assets/src/bundles/save/artifact-form-row.ejs static/jssources/assets/src/bundles/save/index.js static/jssources/assets/src/bundles/vault/index.js static/jssources/assets/src/bundles/vault/vault-create-tasks.js static/jssources/assets/src/bundles/vault/vault-table-row.ejs static/jssources/assets/src/bundles/vault/vault-ui.js static/jssources/assets/src/bundles/vendors/elementsfrompoint-polyfill.js static/jssources/assets/src/bundles/vendors/index.js static/jssources/assets/src/bundles/webapp/badges.js static/jssources/assets/src/bundles/webapp/code-highlighting.js static/jssources/assets/src/bundles/webapp/history-counters.js static/jssources/assets/src/bundles/webapp/iframes.js static/jssources/assets/src/bundles/webapp/index.js static/jssources/assets/src/bundles/webapp/math-typesetting.js static/jssources/assets/src/bundles/webapp/notebook-rendering.js static/jssources/assets/src/bundles/webapp/pdf-rendering.js static/jssources/assets/src/bundles/webapp/readme-rendering.js static/jssources/assets/src/bundles/webapp/sentry.js static/jssources/assets/src/bundles/webapp/status-widget.js static/jssources/assets/src/bundles/webapp/webapp-utils.js static/jssources/assets/src/bundles/webapp/xss-filtering.js static/jssources/assets/src/thirdparty/jquery.tabSlideOut/LICENSE.txt static/jssources/assets/src/thirdparty/jquery.tabSlideOut/jquery.tabSlideOut.js static/jssources/assets/src/utils/constants.js static/jssources/assets/src/utils/d3.js static/jssources/assets/src/utils/functions.js static/jssources/assets/src/utils/highlightjs.js static/jssources/assets/src/utils/mathjax.js static/jssources/assets/src/utils/org.js static/jssources/assets/src/utils/requests-filter-checkbox.ejs static/jssources/assets/src/utils/scrolling.js static/jssources/assets/src/utils/showdown.js static/jssources/bootstrap/LICENSE.txt static/jssources/bootstrap/js/dist/alert.js static/jssources/bootstrap/js/dist/button.js static/jssources/bootstrap/js/dist/carousel.js static/jssources/bootstrap/js/dist/collapse.js static/jssources/bootstrap/js/dist/dropdown.js static/jssources/bootstrap/js/dist/modal.js static/jssources/bootstrap/js/dist/popover.js static/jssources/bootstrap/js/dist/scrollspy.js static/jssources/bootstrap/js/dist/tab.js static/jssources/bootstrap/js/dist/tooltip.js static/jssources/bootstrap/js/dist/util.js static/jssources/chosen-js/LICENSE.md static/jssources/chosen-js/chosen.jquery.js static/jssources/clipboard/LICENSE.txt static/jssources/clipboard/dist/clipboard.js static/jssources/core-js/LICENSE.txt static/jssources/core-js/internals/a-callable.js static/jssources/core-js/internals/a-constructor.js static/jssources/core-js/internals/a-possible-prototype.js static/jssources/core-js/internals/add-to-unscopables.js static/jssources/core-js/internals/advance-string-index.js static/jssources/core-js/internals/an-instance.js static/jssources/core-js/internals/an-object.js static/jssources/core-js/internals/array-buffer-native.js static/jssources/core-js/internals/array-buffer-non-extensible.js static/jssources/core-js/internals/array-buffer-view-core.js static/jssources/core-js/internals/array-buffer.js static/jssources/core-js/internals/array-copy-within.js static/jssources/core-js/internals/array-fill.js static/jssources/core-js/internals/array-for-each.js static/jssources/core-js/internals/array-from-constructor-and-list.js static/jssources/core-js/internals/array-from.js static/jssources/core-js/internals/array-includes.js static/jssources/core-js/internals/array-iteration.js static/jssources/core-js/internals/array-last-index-of.js static/jssources/core-js/internals/array-method-has-species-support.js static/jssources/core-js/internals/array-method-is-strict.js static/jssources/core-js/internals/array-reduce.js static/jssources/core-js/internals/array-slice-simple.js static/jssources/core-js/internals/array-slice.js static/jssources/core-js/internals/array-sort.js static/jssources/core-js/internals/array-species-constructor.js static/jssources/core-js/internals/array-species-create.js static/jssources/core-js/internals/base64-map.js static/jssources/core-js/internals/call-with-safe-iteration-closing.js static/jssources/core-js/internals/check-correctness-of-iteration.js static/jssources/core-js/internals/classof-raw.js static/jssources/core-js/internals/classof.js static/jssources/core-js/internals/clear-error-stack.js static/jssources/core-js/internals/collection-strong.js static/jssources/core-js/internals/collection-weak.js static/jssources/core-js/internals/collection.js static/jssources/core-js/internals/copy-constructor-properties.js static/jssources/core-js/internals/correct-is-regexp-logic.js static/jssources/core-js/internals/correct-prototype-getter.js static/jssources/core-js/internals/create-html.js static/jssources/core-js/internals/create-iterator-constructor.js static/jssources/core-js/internals/create-non-enumerable-property.js static/jssources/core-js/internals/create-property-descriptor.js static/jssources/core-js/internals/create-property.js static/jssources/core-js/internals/date-to-iso-string.js static/jssources/core-js/internals/date-to-primitive.js static/jssources/core-js/internals/define-built-in-accessor.js static/jssources/core-js/internals/define-built-in.js static/jssources/core-js/internals/define-built-ins.js static/jssources/core-js/internals/define-iterator.js static/jssources/core-js/internals/define-well-known-symbol.js static/jssources/core-js/internals/descriptors.js static/jssources/core-js/internals/document-create-element.js static/jssources/core-js/internals/dom-exception-constants.js static/jssources/core-js/internals/dom-iterables.js static/jssources/core-js/internals/dom-token-list-prototype.js static/jssources/core-js/internals/engine-ff-version.js static/jssources/core-js/internals/engine-is-browser.js static/jssources/core-js/internals/engine-is-ie-or-edge.js static/jssources/core-js/internals/engine-is-ios-pebble.js static/jssources/core-js/internals/engine-is-ios.js static/jssources/core-js/internals/engine-is-node.js static/jssources/core-js/internals/engine-is-webos-webkit.js static/jssources/core-js/internals/engine-user-agent.js static/jssources/core-js/internals/engine-v8-version.js static/jssources/core-js/internals/engine-webkit-version.js static/jssources/core-js/internals/enum-bug-keys.js static/jssources/core-js/internals/error-stack-installable.js static/jssources/core-js/internals/error-to-string.js static/jssources/core-js/internals/export.js static/jssources/core-js/internals/fails.js static/jssources/core-js/internals/fix-regexp-well-known-symbol-logic.js static/jssources/core-js/internals/flatten-into-array.js static/jssources/core-js/internals/freezing.js static/jssources/core-js/internals/function-apply.js static/jssources/core-js/internals/function-bind-context.js static/jssources/core-js/internals/function-bind-native.js static/jssources/core-js/internals/function-bind.js static/jssources/core-js/internals/function-call.js static/jssources/core-js/internals/function-name.js static/jssources/core-js/internals/function-uncurry-this.js static/jssources/core-js/internals/get-built-in.js static/jssources/core-js/internals/get-iterator-method.js static/jssources/core-js/internals/get-iterator.js static/jssources/core-js/internals/get-method.js static/jssources/core-js/internals/get-substitution.js static/jssources/core-js/internals/global.js static/jssources/core-js/internals/has-own-property.js static/jssources/core-js/internals/hidden-keys.js static/jssources/core-js/internals/host-report-errors.js static/jssources/core-js/internals/html.js static/jssources/core-js/internals/ie8-dom-define.js static/jssources/core-js/internals/ieee754.js static/jssources/core-js/internals/indexed-object.js static/jssources/core-js/internals/inherit-if-required.js static/jssources/core-js/internals/inspect-source.js static/jssources/core-js/internals/install-error-cause.js static/jssources/core-js/internals/internal-metadata.js static/jssources/core-js/internals/internal-state.js static/jssources/core-js/internals/is-array-iterator-method.js static/jssources/core-js/internals/is-array.js static/jssources/core-js/internals/is-callable.js static/jssources/core-js/internals/is-constructor.js static/jssources/core-js/internals/is-data-descriptor.js static/jssources/core-js/internals/is-forced.js static/jssources/core-js/internals/is-integral-number.js static/jssources/core-js/internals/is-object.js static/jssources/core-js/internals/is-pure.js static/jssources/core-js/internals/is-regexp.js static/jssources/core-js/internals/is-symbol.js static/jssources/core-js/internals/iterate.js static/jssources/core-js/internals/iterator-close.js static/jssources/core-js/internals/iterators-core.js static/jssources/core-js/internals/iterators.js static/jssources/core-js/internals/length-of-array-like.js static/jssources/core-js/internals/make-built-in.js static/jssources/core-js/internals/math-expm1.js static/jssources/core-js/internals/math-fround.js static/jssources/core-js/internals/math-log10.js static/jssources/core-js/internals/math-log1p.js static/jssources/core-js/internals/math-sign.js static/jssources/core-js/internals/microtask.js static/jssources/core-js/internals/native-symbol-registry.js static/jssources/core-js/internals/native-symbol.js static/jssources/core-js/internals/native-url.js static/jssources/core-js/internals/native-weak-map.js static/jssources/core-js/internals/new-promise-capability.js static/jssources/core-js/internals/normalize-string-argument.js static/jssources/core-js/internals/not-a-regexp.js static/jssources/core-js/internals/number-is-finite.js static/jssources/core-js/internals/number-parse-float.js static/jssources/core-js/internals/number-parse-int.js static/jssources/core-js/internals/object-assign.js static/jssources/core-js/internals/object-create.js static/jssources/core-js/internals/object-define-properties.js static/jssources/core-js/internals/object-define-property.js static/jssources/core-js/internals/object-get-own-property-descriptor.js static/jssources/core-js/internals/object-get-own-property-names-external.js static/jssources/core-js/internals/object-get-own-property-names.js static/jssources/core-js/internals/object-get-own-property-symbols.js static/jssources/core-js/internals/object-get-prototype-of.js static/jssources/core-js/internals/object-is-extensible.js static/jssources/core-js/internals/object-is-prototype-of.js static/jssources/core-js/internals/object-keys-internal.js static/jssources/core-js/internals/object-keys.js static/jssources/core-js/internals/object-property-is-enumerable.js static/jssources/core-js/internals/object-prototype-accessors-forced.js static/jssources/core-js/internals/object-set-prototype-of.js static/jssources/core-js/internals/object-to-array.js static/jssources/core-js/internals/object-to-string.js static/jssources/core-js/internals/ordinary-to-primitive.js static/jssources/core-js/internals/own-keys.js static/jssources/core-js/internals/path.js static/jssources/core-js/internals/perform.js static/jssources/core-js/internals/promise-constructor-detection.js static/jssources/core-js/internals/promise-native-constructor.js static/jssources/core-js/internals/promise-resolve.js static/jssources/core-js/internals/promise-statics-incorrect-iteration.js static/jssources/core-js/internals/proxy-accessor.js static/jssources/core-js/internals/queue.js static/jssources/core-js/internals/regexp-exec-abstract.js static/jssources/core-js/internals/regexp-exec.js static/jssources/core-js/internals/regexp-flags.js static/jssources/core-js/internals/regexp-get-flags.js static/jssources/core-js/internals/regexp-sticky-helpers.js static/jssources/core-js/internals/regexp-unsupported-dot-all.js static/jssources/core-js/internals/regexp-unsupported-ncg.js static/jssources/core-js/internals/require-object-coercible.js static/jssources/core-js/internals/same-value.js static/jssources/core-js/internals/schedulers-fix.js static/jssources/core-js/internals/set-global.js static/jssources/core-js/internals/set-species.js static/jssources/core-js/internals/set-to-string-tag.js static/jssources/core-js/internals/shared-key.js static/jssources/core-js/internals/shared-store.js static/jssources/core-js/internals/shared.js static/jssources/core-js/internals/species-constructor.js static/jssources/core-js/internals/string-html-forced.js static/jssources/core-js/internals/string-multibyte.js static/jssources/core-js/internals/string-pad-webkit-bug.js static/jssources/core-js/internals/string-pad.js static/jssources/core-js/internals/string-punycode-to-ascii.js static/jssources/core-js/internals/string-repeat.js static/jssources/core-js/internals/string-trim-end.js static/jssources/core-js/internals/string-trim-forced.js static/jssources/core-js/internals/string-trim-start.js static/jssources/core-js/internals/string-trim.js static/jssources/core-js/internals/symbol-define-to-primitive.js static/jssources/core-js/internals/task.js static/jssources/core-js/internals/this-number-value.js static/jssources/core-js/internals/to-absolute-index.js static/jssources/core-js/internals/to-index.js static/jssources/core-js/internals/to-indexed-object.js static/jssources/core-js/internals/to-integer-or-infinity.js static/jssources/core-js/internals/to-length.js static/jssources/core-js/internals/to-object.js static/jssources/core-js/internals/to-offset.js static/jssources/core-js/internals/to-positive-integer.js static/jssources/core-js/internals/to-primitive.js static/jssources/core-js/internals/to-property-key.js static/jssources/core-js/internals/to-string-tag-support.js static/jssources/core-js/internals/to-string.js static/jssources/core-js/internals/try-node-require.js static/jssources/core-js/internals/try-to-string.js static/jssources/core-js/internals/typed-array-constructor.js static/jssources/core-js/internals/typed-array-constructors-require-wrappers.js static/jssources/core-js/internals/typed-array-from-species-and-list.js static/jssources/core-js/internals/typed-array-from.js static/jssources/core-js/internals/typed-array-species-constructor.js static/jssources/core-js/internals/uid.js static/jssources/core-js/internals/use-symbol-as-uid.js static/jssources/core-js/internals/v8-prototype-define-bug.js static/jssources/core-js/internals/validate-arguments-length.js static/jssources/core-js/internals/well-known-symbol-wrapped.js static/jssources/core-js/internals/well-known-symbol.js static/jssources/core-js/internals/whitespaces.js static/jssources/core-js/internals/wrap-error-constructor-with-cause.js static/jssources/core-js/modules/es.aggregate-error.cause.js static/jssources/core-js/modules/es.aggregate-error.constructor.js static/jssources/core-js/modules/es.aggregate-error.js static/jssources/core-js/modules/es.array-buffer.constructor.js static/jssources/core-js/modules/es.array-buffer.is-view.js static/jssources/core-js/modules/es.array-buffer.slice.js static/jssources/core-js/modules/es.array.at.js static/jssources/core-js/modules/es.array.concat.js static/jssources/core-js/modules/es.array.copy-within.js static/jssources/core-js/modules/es.array.every.js static/jssources/core-js/modules/es.array.fill.js static/jssources/core-js/modules/es.array.filter.js static/jssources/core-js/modules/es.array.find-index.js static/jssources/core-js/modules/es.array.find.js static/jssources/core-js/modules/es.array.flat-map.js static/jssources/core-js/modules/es.array.flat.js static/jssources/core-js/modules/es.array.for-each.js static/jssources/core-js/modules/es.array.from.js static/jssources/core-js/modules/es.array.includes.js static/jssources/core-js/modules/es.array.index-of.js static/jssources/core-js/modules/es.array.is-array.js static/jssources/core-js/modules/es.array.iterator.js static/jssources/core-js/modules/es.array.join.js static/jssources/core-js/modules/es.array.last-index-of.js static/jssources/core-js/modules/es.array.map.js static/jssources/core-js/modules/es.array.of.js static/jssources/core-js/modules/es.array.reduce-right.js static/jssources/core-js/modules/es.array.reduce.js static/jssources/core-js/modules/es.array.reverse.js static/jssources/core-js/modules/es.array.slice.js static/jssources/core-js/modules/es.array.some.js static/jssources/core-js/modules/es.array.sort.js static/jssources/core-js/modules/es.array.species.js static/jssources/core-js/modules/es.array.splice.js static/jssources/core-js/modules/es.array.unscopables.flat-map.js static/jssources/core-js/modules/es.array.unscopables.flat.js static/jssources/core-js/modules/es.data-view.constructor.js static/jssources/core-js/modules/es.data-view.js static/jssources/core-js/modules/es.date.get-year.js static/jssources/core-js/modules/es.date.now.js static/jssources/core-js/modules/es.date.set-year.js static/jssources/core-js/modules/es.date.to-gmt-string.js static/jssources/core-js/modules/es.date.to-iso-string.js static/jssources/core-js/modules/es.date.to-json.js static/jssources/core-js/modules/es.date.to-primitive.js static/jssources/core-js/modules/es.date.to-string.js static/jssources/core-js/modules/es.error.cause.js static/jssources/core-js/modules/es.error.to-string.js static/jssources/core-js/modules/es.escape.js static/jssources/core-js/modules/es.function.bind.js static/jssources/core-js/modules/es.function.has-instance.js static/jssources/core-js/modules/es.function.name.js static/jssources/core-js/modules/es.global-this.js static/jssources/core-js/modules/es.json.stringify.js static/jssources/core-js/modules/es.json.to-string-tag.js static/jssources/core-js/modules/es.map.constructor.js static/jssources/core-js/modules/es.map.js static/jssources/core-js/modules/es.math.acosh.js static/jssources/core-js/modules/es.math.asinh.js static/jssources/core-js/modules/es.math.atanh.js static/jssources/core-js/modules/es.math.cbrt.js static/jssources/core-js/modules/es.math.clz32.js static/jssources/core-js/modules/es.math.cosh.js static/jssources/core-js/modules/es.math.expm1.js static/jssources/core-js/modules/es.math.fround.js static/jssources/core-js/modules/es.math.hypot.js static/jssources/core-js/modules/es.math.imul.js static/jssources/core-js/modules/es.math.log10.js static/jssources/core-js/modules/es.math.log1p.js static/jssources/core-js/modules/es.math.log2.js static/jssources/core-js/modules/es.math.sign.js static/jssources/core-js/modules/es.math.sinh.js static/jssources/core-js/modules/es.math.tanh.js static/jssources/core-js/modules/es.math.to-string-tag.js static/jssources/core-js/modules/es.math.trunc.js static/jssources/core-js/modules/es.number.constructor.js static/jssources/core-js/modules/es.number.epsilon.js static/jssources/core-js/modules/es.number.is-finite.js static/jssources/core-js/modules/es.number.is-integer.js static/jssources/core-js/modules/es.number.is-nan.js static/jssources/core-js/modules/es.number.is-safe-integer.js static/jssources/core-js/modules/es.number.max-safe-integer.js static/jssources/core-js/modules/es.number.min-safe-integer.js static/jssources/core-js/modules/es.number.parse-float.js static/jssources/core-js/modules/es.number.parse-int.js static/jssources/core-js/modules/es.number.to-exponential.js static/jssources/core-js/modules/es.number.to-fixed.js static/jssources/core-js/modules/es.number.to-precision.js static/jssources/core-js/modules/es.object.assign.js static/jssources/core-js/modules/es.object.create.js static/jssources/core-js/modules/es.object.define-getter.js static/jssources/core-js/modules/es.object.define-properties.js static/jssources/core-js/modules/es.object.define-property.js static/jssources/core-js/modules/es.object.define-setter.js static/jssources/core-js/modules/es.object.entries.js static/jssources/core-js/modules/es.object.freeze.js static/jssources/core-js/modules/es.object.from-entries.js static/jssources/core-js/modules/es.object.get-own-property-descriptor.js static/jssources/core-js/modules/es.object.get-own-property-descriptors.js static/jssources/core-js/modules/es.object.get-own-property-names.js static/jssources/core-js/modules/es.object.get-own-property-symbols.js static/jssources/core-js/modules/es.object.get-prototype-of.js static/jssources/core-js/modules/es.object.has-own.js static/jssources/core-js/modules/es.object.is-extensible.js static/jssources/core-js/modules/es.object.is-frozen.js static/jssources/core-js/modules/es.object.is-sealed.js static/jssources/core-js/modules/es.object.is.js static/jssources/core-js/modules/es.object.keys.js static/jssources/core-js/modules/es.object.lookup-getter.js static/jssources/core-js/modules/es.object.lookup-setter.js static/jssources/core-js/modules/es.object.prevent-extensions.js static/jssources/core-js/modules/es.object.seal.js static/jssources/core-js/modules/es.object.set-prototype-of.js static/jssources/core-js/modules/es.object.to-string.js static/jssources/core-js/modules/es.object.values.js static/jssources/core-js/modules/es.parse-float.js static/jssources/core-js/modules/es.parse-int.js static/jssources/core-js/modules/es.promise.all-settled.js static/jssources/core-js/modules/es.promise.all.js static/jssources/core-js/modules/es.promise.any.js static/jssources/core-js/modules/es.promise.catch.js static/jssources/core-js/modules/es.promise.constructor.js static/jssources/core-js/modules/es.promise.finally.js static/jssources/core-js/modules/es.promise.js static/jssources/core-js/modules/es.promise.race.js static/jssources/core-js/modules/es.promise.reject.js static/jssources/core-js/modules/es.promise.resolve.js static/jssources/core-js/modules/es.reflect.apply.js static/jssources/core-js/modules/es.reflect.construct.js static/jssources/core-js/modules/es.reflect.define-property.js static/jssources/core-js/modules/es.reflect.delete-property.js static/jssources/core-js/modules/es.reflect.get-own-property-descriptor.js static/jssources/core-js/modules/es.reflect.get-prototype-of.js static/jssources/core-js/modules/es.reflect.get.js static/jssources/core-js/modules/es.reflect.has.js static/jssources/core-js/modules/es.reflect.is-extensible.js static/jssources/core-js/modules/es.reflect.own-keys.js static/jssources/core-js/modules/es.reflect.prevent-extensions.js static/jssources/core-js/modules/es.reflect.set-prototype-of.js static/jssources/core-js/modules/es.reflect.set.js static/jssources/core-js/modules/es.reflect.to-string-tag.js static/jssources/core-js/modules/es.regexp.constructor.js static/jssources/core-js/modules/es.regexp.dot-all.js static/jssources/core-js/modules/es.regexp.exec.js static/jssources/core-js/modules/es.regexp.flags.js static/jssources/core-js/modules/es.regexp.sticky.js static/jssources/core-js/modules/es.regexp.test.js static/jssources/core-js/modules/es.regexp.to-string.js static/jssources/core-js/modules/es.set.constructor.js static/jssources/core-js/modules/es.set.js static/jssources/core-js/modules/es.string.anchor.js static/jssources/core-js/modules/es.string.at-alternative.js static/jssources/core-js/modules/es.string.big.js static/jssources/core-js/modules/es.string.blink.js static/jssources/core-js/modules/es.string.bold.js static/jssources/core-js/modules/es.string.code-point-at.js static/jssources/core-js/modules/es.string.ends-with.js static/jssources/core-js/modules/es.string.fixed.js static/jssources/core-js/modules/es.string.fontcolor.js static/jssources/core-js/modules/es.string.fontsize.js static/jssources/core-js/modules/es.string.from-code-point.js static/jssources/core-js/modules/es.string.includes.js static/jssources/core-js/modules/es.string.italics.js static/jssources/core-js/modules/es.string.iterator.js static/jssources/core-js/modules/es.string.link.js static/jssources/core-js/modules/es.string.match-all.js static/jssources/core-js/modules/es.string.match.js static/jssources/core-js/modules/es.string.pad-end.js static/jssources/core-js/modules/es.string.pad-start.js static/jssources/core-js/modules/es.string.raw.js static/jssources/core-js/modules/es.string.repeat.js static/jssources/core-js/modules/es.string.replace-all.js static/jssources/core-js/modules/es.string.replace.js static/jssources/core-js/modules/es.string.search.js static/jssources/core-js/modules/es.string.small.js static/jssources/core-js/modules/es.string.split.js static/jssources/core-js/modules/es.string.starts-with.js static/jssources/core-js/modules/es.string.strike.js static/jssources/core-js/modules/es.string.sub.js static/jssources/core-js/modules/es.string.substr.js static/jssources/core-js/modules/es.string.sup.js static/jssources/core-js/modules/es.string.trim-end.js static/jssources/core-js/modules/es.string.trim-left.js static/jssources/core-js/modules/es.string.trim-right.js static/jssources/core-js/modules/es.string.trim-start.js static/jssources/core-js/modules/es.string.trim.js static/jssources/core-js/modules/es.symbol.async-iterator.js static/jssources/core-js/modules/es.symbol.constructor.js static/jssources/core-js/modules/es.symbol.description.js static/jssources/core-js/modules/es.symbol.for.js static/jssources/core-js/modules/es.symbol.has-instance.js static/jssources/core-js/modules/es.symbol.is-concat-spreadable.js static/jssources/core-js/modules/es.symbol.iterator.js static/jssources/core-js/modules/es.symbol.js static/jssources/core-js/modules/es.symbol.key-for.js static/jssources/core-js/modules/es.symbol.match-all.js static/jssources/core-js/modules/es.symbol.match.js static/jssources/core-js/modules/es.symbol.replace.js static/jssources/core-js/modules/es.symbol.search.js static/jssources/core-js/modules/es.symbol.species.js static/jssources/core-js/modules/es.symbol.split.js static/jssources/core-js/modules/es.symbol.to-primitive.js static/jssources/core-js/modules/es.symbol.to-string-tag.js static/jssources/core-js/modules/es.symbol.unscopables.js static/jssources/core-js/modules/es.typed-array.at.js static/jssources/core-js/modules/es.typed-array.copy-within.js static/jssources/core-js/modules/es.typed-array.every.js static/jssources/core-js/modules/es.typed-array.fill.js static/jssources/core-js/modules/es.typed-array.filter.js static/jssources/core-js/modules/es.typed-array.find-index.js static/jssources/core-js/modules/es.typed-array.find.js static/jssources/core-js/modules/es.typed-array.float32-array.js static/jssources/core-js/modules/es.typed-array.float64-array.js static/jssources/core-js/modules/es.typed-array.for-each.js static/jssources/core-js/modules/es.typed-array.from.js static/jssources/core-js/modules/es.typed-array.includes.js static/jssources/core-js/modules/es.typed-array.index-of.js static/jssources/core-js/modules/es.typed-array.int16-array.js static/jssources/core-js/modules/es.typed-array.int32-array.js static/jssources/core-js/modules/es.typed-array.int8-array.js static/jssources/core-js/modules/es.typed-array.iterator.js static/jssources/core-js/modules/es.typed-array.join.js static/jssources/core-js/modules/es.typed-array.last-index-of.js static/jssources/core-js/modules/es.typed-array.map.js static/jssources/core-js/modules/es.typed-array.of.js static/jssources/core-js/modules/es.typed-array.reduce-right.js static/jssources/core-js/modules/es.typed-array.reduce.js static/jssources/core-js/modules/es.typed-array.reverse.js static/jssources/core-js/modules/es.typed-array.set.js static/jssources/core-js/modules/es.typed-array.slice.js static/jssources/core-js/modules/es.typed-array.some.js static/jssources/core-js/modules/es.typed-array.sort.js static/jssources/core-js/modules/es.typed-array.subarray.js static/jssources/core-js/modules/es.typed-array.to-locale-string.js static/jssources/core-js/modules/es.typed-array.to-string.js static/jssources/core-js/modules/es.typed-array.uint16-array.js static/jssources/core-js/modules/es.typed-array.uint32-array.js static/jssources/core-js/modules/es.typed-array.uint8-array.js static/jssources/core-js/modules/es.typed-array.uint8-clamped-array.js static/jssources/core-js/modules/es.unescape.js static/jssources/core-js/modules/es.weak-map.constructor.js static/jssources/core-js/modules/es.weak-map.js static/jssources/core-js/modules/es.weak-set.constructor.js static/jssources/core-js/modules/es.weak-set.js static/jssources/core-js/modules/web.atob.js static/jssources/core-js/modules/web.btoa.js static/jssources/core-js/modules/web.clear-immediate.js static/jssources/core-js/modules/web.dom-collections.for-each.js static/jssources/core-js/modules/web.dom-collections.iterator.js static/jssources/core-js/modules/web.dom-exception.constructor.js static/jssources/core-js/modules/web.dom-exception.stack.js static/jssources/core-js/modules/web.dom-exception.to-string-tag.js static/jssources/core-js/modules/web.immediate.js static/jssources/core-js/modules/web.queue-microtask.js static/jssources/core-js/modules/web.set-immediate.js static/jssources/core-js/modules/web.set-interval.js static/jssources/core-js/modules/web.set-timeout.js static/jssources/core-js/modules/web.structured-clone.js static/jssources/core-js/modules/web.timers.js static/jssources/core-js/modules/web.url-search-params.constructor.js static/jssources/core-js/modules/web.url-search-params.js static/jssources/core-js/modules/web.url.constructor.js static/jssources/core-js/modules/web.url.js static/jssources/core-js/modules/web.url.to-json.js static/jssources/core-js/stable/index.js static/jssources/d3-array/LICENSE.txt static/jssources/d3-array/src/array.js static/jssources/d3-array/src/ascending.js static/jssources/d3-array/src/bin.js static/jssources/d3-array/src/bisect.js static/jssources/d3-array/src/bisector.js static/jssources/d3-array/src/constant.js static/jssources/d3-array/src/count.js static/jssources/d3-array/src/cross.js static/jssources/d3-array/src/cumsum.js static/jssources/d3-array/src/descending.js static/jssources/d3-array/src/deviation.js static/jssources/d3-array/src/difference.js static/jssources/d3-array/src/disjoint.js static/jssources/d3-array/src/every.js static/jssources/d3-array/src/extent.js static/jssources/d3-array/src/filter.js static/jssources/d3-array/src/fsum.js static/jssources/d3-array/src/greatest.js static/jssources/d3-array/src/greatestIndex.js static/jssources/d3-array/src/group.js static/jssources/d3-array/src/groupSort.js static/jssources/d3-array/src/identity.js static/jssources/d3-array/src/index.js static/jssources/d3-array/src/intersection.js static/jssources/d3-array/src/least.js static/jssources/d3-array/src/leastIndex.js static/jssources/d3-array/src/map.js static/jssources/d3-array/src/max.js static/jssources/d3-array/src/maxIndex.js static/jssources/d3-array/src/mean.js static/jssources/d3-array/src/median.js static/jssources/d3-array/src/merge.js static/jssources/d3-array/src/min.js static/jssources/d3-array/src/minIndex.js static/jssources/d3-array/src/mode.js static/jssources/d3-array/src/nice.js static/jssources/d3-array/src/number.js static/jssources/d3-array/src/pairs.js static/jssources/d3-array/src/permute.js static/jssources/d3-array/src/quantile.js static/jssources/d3-array/src/quickselect.js static/jssources/d3-array/src/range.js static/jssources/d3-array/src/reduce.js static/jssources/d3-array/src/reverse.js static/jssources/d3-array/src/scan.js static/jssources/d3-array/src/set.js static/jssources/d3-array/src/shuffle.js static/jssources/d3-array/src/some.js static/jssources/d3-array/src/sort.js static/jssources/d3-array/src/subset.js static/jssources/d3-array/src/sum.js static/jssources/d3-array/src/superset.js static/jssources/d3-array/src/ticks.js static/jssources/d3-array/src/transpose.js static/jssources/d3-array/src/union.js static/jssources/d3-array/src/variance.js static/jssources/d3-array/src/zip.js static/jssources/d3-array/src/threshold/freedmanDiaconis.js static/jssources/d3-array/src/threshold/scott.js static/jssources/d3-array/src/threshold/sturges.js static/jssources/d3-axis/LICENSE.txt static/jssources/d3-axis/src/axis.js static/jssources/d3-axis/src/identity.js static/jssources/d3-axis/src/index.js static/jssources/d3-color/LICENSE.txt static/jssources/d3-color/src/color.js static/jssources/d3-color/src/define.js static/jssources/d3-dispatch/LICENSE.txt static/jssources/d3-dispatch/src/dispatch.js static/jssources/d3-ease/LICENSE.txt static/jssources/d3-ease/src/cubic.js static/jssources/d3-format/LICENSE.txt static/jssources/d3-format/src/defaultLocale.js static/jssources/d3-format/src/exponent.js static/jssources/d3-format/src/formatDecimal.js static/jssources/d3-format/src/formatGroup.js static/jssources/d3-format/src/formatNumerals.js static/jssources/d3-format/src/formatPrefixAuto.js static/jssources/d3-format/src/formatRounded.js static/jssources/d3-format/src/formatSpecifier.js static/jssources/d3-format/src/formatTrim.js static/jssources/d3-format/src/formatTypes.js static/jssources/d3-format/src/identity.js static/jssources/d3-format/src/index.js static/jssources/d3-format/src/locale.js static/jssources/d3-format/src/precisionFixed.js static/jssources/d3-format/src/precisionPrefix.js static/jssources/d3-format/src/precisionRound.js static/jssources/d3-interpolate/LICENSE.txt static/jssources/d3-interpolate/src/array.js static/jssources/d3-interpolate/src/basis.js static/jssources/d3-interpolate/src/basisClosed.js static/jssources/d3-interpolate/src/color.js static/jssources/d3-interpolate/src/constant.js static/jssources/d3-interpolate/src/date.js static/jssources/d3-interpolate/src/number.js static/jssources/d3-interpolate/src/numberArray.js static/jssources/d3-interpolate/src/object.js static/jssources/d3-interpolate/src/piecewise.js static/jssources/d3-interpolate/src/rgb.js static/jssources/d3-interpolate/src/round.js static/jssources/d3-interpolate/src/string.js static/jssources/d3-interpolate/src/value.js static/jssources/d3-interpolate/src/transform/decompose.js static/jssources/d3-interpolate/src/transform/index.js static/jssources/d3-interpolate/src/transform/parse.js static/jssources/d3-path/LICENSE.txt static/jssources/d3-path/src/path.js static/jssources/d3-scale/LICENSE.txt static/jssources/d3-scale/src/band.js static/jssources/d3-scale/src/constant.js static/jssources/d3-scale/src/continuous.js static/jssources/d3-scale/src/diverging.js static/jssources/d3-scale/src/identity.js static/jssources/d3-scale/src/index.js static/jssources/d3-scale/src/init.js static/jssources/d3-scale/src/linear.js static/jssources/d3-scale/src/log.js static/jssources/d3-scale/src/nice.js static/jssources/d3-scale/src/number.js static/jssources/d3-scale/src/ordinal.js static/jssources/d3-scale/src/pow.js static/jssources/d3-scale/src/quantile.js static/jssources/d3-scale/src/quantize.js static/jssources/d3-scale/src/radial.js static/jssources/d3-scale/src/sequential.js static/jssources/d3-scale/src/sequentialQuantile.js static/jssources/d3-scale/src/symlog.js static/jssources/d3-scale/src/threshold.js static/jssources/d3-scale/src/tickFormat.js static/jssources/d3-scale/src/time.js static/jssources/d3-scale/src/utcTime.js static/jssources/d3-selection/LICENSE.txt static/jssources/d3-selection/src/array.js static/jssources/d3-selection/src/constant.js static/jssources/d3-selection/src/create.js static/jssources/d3-selection/src/creator.js static/jssources/d3-selection/src/index.js static/jssources/d3-selection/src/local.js static/jssources/d3-selection/src/matcher.js static/jssources/d3-selection/src/namespace.js static/jssources/d3-selection/src/namespaces.js static/jssources/d3-selection/src/pointer.js static/jssources/d3-selection/src/pointers.js static/jssources/d3-selection/src/select.js static/jssources/d3-selection/src/selectAll.js static/jssources/d3-selection/src/selector.js static/jssources/d3-selection/src/selectorAll.js static/jssources/d3-selection/src/sourceEvent.js static/jssources/d3-selection/src/window.js static/jssources/d3-selection/src/selection/append.js static/jssources/d3-selection/src/selection/attr.js static/jssources/d3-selection/src/selection/call.js static/jssources/d3-selection/src/selection/classed.js static/jssources/d3-selection/src/selection/clone.js static/jssources/d3-selection/src/selection/data.js static/jssources/d3-selection/src/selection/datum.js static/jssources/d3-selection/src/selection/dispatch.js static/jssources/d3-selection/src/selection/each.js static/jssources/d3-selection/src/selection/empty.js static/jssources/d3-selection/src/selection/enter.js static/jssources/d3-selection/src/selection/exit.js static/jssources/d3-selection/src/selection/filter.js static/jssources/d3-selection/src/selection/html.js static/jssources/d3-selection/src/selection/index.js static/jssources/d3-selection/src/selection/insert.js static/jssources/d3-selection/src/selection/iterator.js static/jssources/d3-selection/src/selection/join.js static/jssources/d3-selection/src/selection/lower.js static/jssources/d3-selection/src/selection/merge.js static/jssources/d3-selection/src/selection/node.js static/jssources/d3-selection/src/selection/nodes.js static/jssources/d3-selection/src/selection/on.js static/jssources/d3-selection/src/selection/order.js static/jssources/d3-selection/src/selection/property.js static/jssources/d3-selection/src/selection/raise.js static/jssources/d3-selection/src/selection/remove.js static/jssources/d3-selection/src/selection/select.js static/jssources/d3-selection/src/selection/selectAll.js static/jssources/d3-selection/src/selection/selectChild.js static/jssources/d3-selection/src/selection/selectChildren.js static/jssources/d3-selection/src/selection/size.js static/jssources/d3-selection/src/selection/sort.js static/jssources/d3-selection/src/selection/sparse.js static/jssources/d3-selection/src/selection/style.js static/jssources/d3-selection/src/selection/text.js static/jssources/d3-shape/LICENSE.txt static/jssources/d3-shape/src/arc.js static/jssources/d3-shape/src/area.js static/jssources/d3-shape/src/areaRadial.js static/jssources/d3-shape/src/array.js static/jssources/d3-shape/src/constant.js static/jssources/d3-shape/src/descending.js static/jssources/d3-shape/src/identity.js static/jssources/d3-shape/src/index.js static/jssources/d3-shape/src/line.js static/jssources/d3-shape/src/lineRadial.js static/jssources/d3-shape/src/math.js static/jssources/d3-shape/src/noop.js static/jssources/d3-shape/src/pie.js static/jssources/d3-shape/src/point.js static/jssources/d3-shape/src/pointRadial.js static/jssources/d3-shape/src/stack.js static/jssources/d3-shape/src/symbol.js static/jssources/d3-shape/src/curve/basis.js static/jssources/d3-shape/src/curve/basisClosed.js static/jssources/d3-shape/src/curve/basisOpen.js static/jssources/d3-shape/src/curve/bump.js static/jssources/d3-shape/src/curve/bundle.js static/jssources/d3-shape/src/curve/cardinal.js static/jssources/d3-shape/src/curve/cardinalClosed.js static/jssources/d3-shape/src/curve/cardinalOpen.js static/jssources/d3-shape/src/curve/catmullRom.js static/jssources/d3-shape/src/curve/catmullRomClosed.js static/jssources/d3-shape/src/curve/catmullRomOpen.js static/jssources/d3-shape/src/curve/linear.js static/jssources/d3-shape/src/curve/linearClosed.js static/jssources/d3-shape/src/curve/monotone.js static/jssources/d3-shape/src/curve/natural.js static/jssources/d3-shape/src/curve/radial.js static/jssources/d3-shape/src/curve/step.js static/jssources/d3-shape/src/link/index.js static/jssources/d3-shape/src/offset/diverging.js static/jssources/d3-shape/src/offset/expand.js static/jssources/d3-shape/src/offset/none.js static/jssources/d3-shape/src/offset/silhouette.js static/jssources/d3-shape/src/offset/wiggle.js static/jssources/d3-shape/src/order/appearance.js static/jssources/d3-shape/src/order/ascending.js static/jssources/d3-shape/src/order/descending.js static/jssources/d3-shape/src/order/insideOut.js static/jssources/d3-shape/src/order/none.js static/jssources/d3-shape/src/order/reverse.js static/jssources/d3-shape/src/symbol/circle.js static/jssources/d3-shape/src/symbol/cross.js static/jssources/d3-shape/src/symbol/diamond.js static/jssources/d3-shape/src/symbol/square.js static/jssources/d3-shape/src/symbol/star.js static/jssources/d3-shape/src/symbol/triangle.js static/jssources/d3-shape/src/symbol/wye.js static/jssources/d3-time/LICENSE.txt static/jssources/d3-time-format/LICENSE.txt static/jssources/d3-time-format/src/defaultLocale.js static/jssources/d3-time-format/src/index.js static/jssources/d3-time-format/src/isoFormat.js static/jssources/d3-time-format/src/isoParse.js static/jssources/d3-time-format/src/locale.js static/jssources/d3-time/src/day.js static/jssources/d3-time/src/duration.js static/jssources/d3-time/src/hour.js static/jssources/d3-time/src/index.js static/jssources/d3-time/src/interval.js static/jssources/d3-time/src/millisecond.js static/jssources/d3-time/src/minute.js static/jssources/d3-time/src/month.js static/jssources/d3-time/src/second.js static/jssources/d3-time/src/ticks.js static/jssources/d3-time/src/utcDay.js static/jssources/d3-time/src/utcHour.js static/jssources/d3-time/src/utcMinute.js static/jssources/d3-time/src/utcMonth.js static/jssources/d3-time/src/utcWeek.js static/jssources/d3-time/src/utcYear.js static/jssources/d3-time/src/week.js static/jssources/d3-time/src/year.js static/jssources/d3-timer/LICENSE.txt static/jssources/d3-timer/src/timeout.js static/jssources/d3-timer/src/timer.js static/jssources/d3-transition/LICENSE.txt static/jssources/d3-transition/src/active.js static/jssources/d3-transition/src/index.js static/jssources/d3-transition/src/interrupt.js static/jssources/d3-transition/src/selection/index.js static/jssources/d3-transition/src/selection/interrupt.js static/jssources/d3-transition/src/selection/transition.js static/jssources/d3-transition/src/transition/attr.js static/jssources/d3-transition/src/transition/attrTween.js static/jssources/d3-transition/src/transition/delay.js static/jssources/d3-transition/src/transition/duration.js static/jssources/d3-transition/src/transition/ease.js static/jssources/d3-transition/src/transition/easeVarying.js static/jssources/d3-transition/src/transition/end.js static/jssources/d3-transition/src/transition/filter.js static/jssources/d3-transition/src/transition/index.js static/jssources/d3-transition/src/transition/interpolate.js static/jssources/d3-transition/src/transition/merge.js static/jssources/d3-transition/src/transition/on.js static/jssources/d3-transition/src/transition/remove.js static/jssources/d3-transition/src/transition/schedule.js static/jssources/d3-transition/src/transition/select.js static/jssources/d3-transition/src/transition/selectAll.js static/jssources/d3-transition/src/transition/selection.js static/jssources/d3-transition/src/transition/style.js static/jssources/d3-transition/src/transition/styleTween.js static/jssources/d3-transition/src/transition/text.js static/jssources/d3-transition/src/transition/textTween.js static/jssources/d3-transition/src/transition/transition.js static/jssources/d3-transition/src/transition/tween.js static/jssources/datatables.net/License.txt static/jssources/datatables.net-bs4/License.txt static/jssources/datatables.net-bs4/js/dataTables.bootstrap4.js static/jssources/datatables.net/js/jquery.dataTables.js static/jssources/dompurify/LICENSE.txt static/jssources/dompurify/dist/purify.js static/jssources/email-validator/LICENSE.txt static/jssources/email-validator/index.js static/jssources/expose-loader/LICENSE.txt static/jssources/expose-loader/dist/runtime/getGlobalThis.js static/jssources/he/LICENSE-MIT.txt.txt static/jssources/he/he.js static/jssources/hex-rgb/index.js static/jssources/hex-rgb/license.txt static/jssources/highlight.js/LICENSE.txt static/jssources/highlight.js/es/index.js static/jssources/highlight.js/lib/core.js static/jssources/highlight.js/lib/index.js static/jssources/highlight.js/lib/languages/1c.js static/jssources/highlight.js/lib/languages/abnf.js static/jssources/highlight.js/lib/languages/accesslog.js static/jssources/highlight.js/lib/languages/actionscript.js static/jssources/highlight.js/lib/languages/ada.js static/jssources/highlight.js/lib/languages/angelscript.js static/jssources/highlight.js/lib/languages/apache.js static/jssources/highlight.js/lib/languages/applescript.js static/jssources/highlight.js/lib/languages/arcade.js static/jssources/highlight.js/lib/languages/arduino.js static/jssources/highlight.js/lib/languages/armasm.js static/jssources/highlight.js/lib/languages/asciidoc.js static/jssources/highlight.js/lib/languages/aspectj.js static/jssources/highlight.js/lib/languages/autohotkey.js static/jssources/highlight.js/lib/languages/autoit.js static/jssources/highlight.js/lib/languages/avrasm.js static/jssources/highlight.js/lib/languages/awk.js static/jssources/highlight.js/lib/languages/axapta.js static/jssources/highlight.js/lib/languages/bash.js static/jssources/highlight.js/lib/languages/basic.js static/jssources/highlight.js/lib/languages/bnf.js static/jssources/highlight.js/lib/languages/brainfuck.js static/jssources/highlight.js/lib/languages/c.js static/jssources/highlight.js/lib/languages/cal.js static/jssources/highlight.js/lib/languages/capnproto.js static/jssources/highlight.js/lib/languages/ceylon.js static/jssources/highlight.js/lib/languages/clean.js static/jssources/highlight.js/lib/languages/clojure-repl.js static/jssources/highlight.js/lib/languages/clojure.js static/jssources/highlight.js/lib/languages/cmake.js static/jssources/highlight.js/lib/languages/coffeescript.js static/jssources/highlight.js/lib/languages/coq.js static/jssources/highlight.js/lib/languages/cos.js static/jssources/highlight.js/lib/languages/cpp.js static/jssources/highlight.js/lib/languages/crmsh.js static/jssources/highlight.js/lib/languages/crystal.js static/jssources/highlight.js/lib/languages/csharp.js static/jssources/highlight.js/lib/languages/csp.js static/jssources/highlight.js/lib/languages/css.js static/jssources/highlight.js/lib/languages/d.js static/jssources/highlight.js/lib/languages/dart.js static/jssources/highlight.js/lib/languages/delphi.js static/jssources/highlight.js/lib/languages/diff.js static/jssources/highlight.js/lib/languages/django.js static/jssources/highlight.js/lib/languages/dns.js static/jssources/highlight.js/lib/languages/dockerfile.js static/jssources/highlight.js/lib/languages/dos.js static/jssources/highlight.js/lib/languages/dsconfig.js static/jssources/highlight.js/lib/languages/dts.js static/jssources/highlight.js/lib/languages/dust.js static/jssources/highlight.js/lib/languages/ebnf.js static/jssources/highlight.js/lib/languages/elixir.js static/jssources/highlight.js/lib/languages/elm.js static/jssources/highlight.js/lib/languages/erb.js static/jssources/highlight.js/lib/languages/erlang-repl.js static/jssources/highlight.js/lib/languages/erlang.js static/jssources/highlight.js/lib/languages/excel.js static/jssources/highlight.js/lib/languages/fix.js static/jssources/highlight.js/lib/languages/flix.js static/jssources/highlight.js/lib/languages/fortran.js static/jssources/highlight.js/lib/languages/fsharp.js static/jssources/highlight.js/lib/languages/gams.js static/jssources/highlight.js/lib/languages/gauss.js static/jssources/highlight.js/lib/languages/gcode.js static/jssources/highlight.js/lib/languages/gherkin.js static/jssources/highlight.js/lib/languages/glsl.js static/jssources/highlight.js/lib/languages/gml.js static/jssources/highlight.js/lib/languages/go.js static/jssources/highlight.js/lib/languages/golo.js static/jssources/highlight.js/lib/languages/gradle.js static/jssources/highlight.js/lib/languages/graphql.js static/jssources/highlight.js/lib/languages/groovy.js static/jssources/highlight.js/lib/languages/haml.js static/jssources/highlight.js/lib/languages/handlebars.js static/jssources/highlight.js/lib/languages/haskell.js static/jssources/highlight.js/lib/languages/haxe.js static/jssources/highlight.js/lib/languages/hsp.js static/jssources/highlight.js/lib/languages/http.js static/jssources/highlight.js/lib/languages/hy.js static/jssources/highlight.js/lib/languages/inform7.js static/jssources/highlight.js/lib/languages/ini.js static/jssources/highlight.js/lib/languages/irpf90.js static/jssources/highlight.js/lib/languages/isbl.js static/jssources/highlight.js/lib/languages/java.js static/jssources/highlight.js/lib/languages/javascript.js static/jssources/highlight.js/lib/languages/jboss-cli.js static/jssources/highlight.js/lib/languages/json.js static/jssources/highlight.js/lib/languages/julia-repl.js static/jssources/highlight.js/lib/languages/julia.js static/jssources/highlight.js/lib/languages/kotlin.js static/jssources/highlight.js/lib/languages/lasso.js static/jssources/highlight.js/lib/languages/latex.js static/jssources/highlight.js/lib/languages/ldif.js static/jssources/highlight.js/lib/languages/leaf.js static/jssources/highlight.js/lib/languages/less.js static/jssources/highlight.js/lib/languages/lisp.js static/jssources/highlight.js/lib/languages/livecodeserver.js static/jssources/highlight.js/lib/languages/livescript.js static/jssources/highlight.js/lib/languages/llvm.js static/jssources/highlight.js/lib/languages/lsl.js static/jssources/highlight.js/lib/languages/lua.js static/jssources/highlight.js/lib/languages/makefile.js static/jssources/highlight.js/lib/languages/markdown.js static/jssources/highlight.js/lib/languages/mathematica.js static/jssources/highlight.js/lib/languages/matlab.js static/jssources/highlight.js/lib/languages/maxima.js static/jssources/highlight.js/lib/languages/mel.js static/jssources/highlight.js/lib/languages/mercury.js static/jssources/highlight.js/lib/languages/mipsasm.js static/jssources/highlight.js/lib/languages/mizar.js static/jssources/highlight.js/lib/languages/mojolicious.js static/jssources/highlight.js/lib/languages/monkey.js static/jssources/highlight.js/lib/languages/moonscript.js static/jssources/highlight.js/lib/languages/n1ql.js static/jssources/highlight.js/lib/languages/nestedtext.js static/jssources/highlight.js/lib/languages/nginx.js static/jssources/highlight.js/lib/languages/nim.js static/jssources/highlight.js/lib/languages/nix.js static/jssources/highlight.js/lib/languages/node-repl.js static/jssources/highlight.js/lib/languages/nsis.js static/jssources/highlight.js/lib/languages/objectivec.js static/jssources/highlight.js/lib/languages/ocaml.js static/jssources/highlight.js/lib/languages/openscad.js static/jssources/highlight.js/lib/languages/oxygene.js static/jssources/highlight.js/lib/languages/parser3.js static/jssources/highlight.js/lib/languages/perl.js static/jssources/highlight.js/lib/languages/pf.js static/jssources/highlight.js/lib/languages/pgsql.js static/jssources/highlight.js/lib/languages/php-template.js static/jssources/highlight.js/lib/languages/php.js static/jssources/highlight.js/lib/languages/plaintext.js static/jssources/highlight.js/lib/languages/pony.js static/jssources/highlight.js/lib/languages/powershell.js static/jssources/highlight.js/lib/languages/processing.js static/jssources/highlight.js/lib/languages/profile.js static/jssources/highlight.js/lib/languages/prolog.js static/jssources/highlight.js/lib/languages/properties.js static/jssources/highlight.js/lib/languages/protobuf.js static/jssources/highlight.js/lib/languages/puppet.js static/jssources/highlight.js/lib/languages/purebasic.js static/jssources/highlight.js/lib/languages/python-repl.js static/jssources/highlight.js/lib/languages/python.js static/jssources/highlight.js/lib/languages/q.js static/jssources/highlight.js/lib/languages/qml.js static/jssources/highlight.js/lib/languages/r.js static/jssources/highlight.js/lib/languages/reasonml.js static/jssources/highlight.js/lib/languages/rib.js static/jssources/highlight.js/lib/languages/roboconf.js static/jssources/highlight.js/lib/languages/routeros.js static/jssources/highlight.js/lib/languages/rsl.js static/jssources/highlight.js/lib/languages/ruby.js static/jssources/highlight.js/lib/languages/ruleslanguage.js static/jssources/highlight.js/lib/languages/rust.js static/jssources/highlight.js/lib/languages/sas.js static/jssources/highlight.js/lib/languages/scala.js static/jssources/highlight.js/lib/languages/scheme.js static/jssources/highlight.js/lib/languages/scilab.js static/jssources/highlight.js/lib/languages/scss.js static/jssources/highlight.js/lib/languages/shell.js static/jssources/highlight.js/lib/languages/smali.js static/jssources/highlight.js/lib/languages/smalltalk.js static/jssources/highlight.js/lib/languages/sml.js static/jssources/highlight.js/lib/languages/sqf.js static/jssources/highlight.js/lib/languages/sql.js static/jssources/highlight.js/lib/languages/stan.js static/jssources/highlight.js/lib/languages/stata.js static/jssources/highlight.js/lib/languages/step21.js static/jssources/highlight.js/lib/languages/stylus.js static/jssources/highlight.js/lib/languages/subunit.js static/jssources/highlight.js/lib/languages/swift.js static/jssources/highlight.js/lib/languages/taggerscript.js static/jssources/highlight.js/lib/languages/tap.js static/jssources/highlight.js/lib/languages/tcl.js static/jssources/highlight.js/lib/languages/thrift.js static/jssources/highlight.js/lib/languages/tp.js static/jssources/highlight.js/lib/languages/twig.js static/jssources/highlight.js/lib/languages/typescript.js static/jssources/highlight.js/lib/languages/vala.js static/jssources/highlight.js/lib/languages/vbnet.js static/jssources/highlight.js/lib/languages/vbscript-html.js static/jssources/highlight.js/lib/languages/vbscript.js static/jssources/highlight.js/lib/languages/verilog.js static/jssources/highlight.js/lib/languages/vhdl.js static/jssources/highlight.js/lib/languages/vim.js static/jssources/highlight.js/lib/languages/wasm.js static/jssources/highlight.js/lib/languages/wren.js static/jssources/highlight.js/lib/languages/x86asm.js static/jssources/highlight.js/lib/languages/xl.js static/jssources/highlight.js/lib/languages/xml.js static/jssources/highlight.js/lib/languages/xquery.js static/jssources/highlight.js/lib/languages/yaml.js static/jssources/highlight.js/lib/languages/zephir.js static/jssources/highlightjs-4d/LICENSE.txt static/jssources/highlightjs-4d/dist/4d.min.js static/jssources/highlightjs-alan/LICENSE.txt static/jssources/highlightjs-alan/dist/alan.min.js static/jssources/highlightjs-blade/LICENSE.txt static/jssources/highlightjs-blade/dist/blade.min.js static/jssources/highlightjs-chaos/LICENSE.txt static/jssources/highlightjs-chaos/dist/chaos.min.js static/jssources/highlightjs-chapel/LICENSE.txt static/jssources/highlightjs-chapel/dist/chapel.min.js static/jssources/highlightjs-cpcdos/LICENSE.txt static/jssources/highlightjs-cpcdos/dist/cpc-highlight.min.js static/jssources/highlightjs-cshtml-razor/LICENSE.txt static/jssources/highlightjs-cshtml-razor/dist/cshtml-razor.min.js static/jssources/highlightjs-cypher/LICENSE.txt static/jssources/highlightjs-cypher/dist/cypher.min.js static/jssources/highlightjs-dafny/LICENSE.txt static/jssources/highlightjs-dafny/dist/dafny.min.js static/jssources/highlightjs-dylan/LICENSE.txt static/jssources/highlightjs-dylan/dist/dylan.min.js static/jssources/highlightjs-eta/dist/eta.min.js static/jssources/highlightjs-extempore/LICENSE.txt static/jssources/highlightjs-extempore/dist/extempore.min.js static/jssources/highlightjs-gdscript/LICENSE.txt static/jssources/highlightjs-gdscript/dist/gdscript.min.js static/jssources/highlightjs-gf/LICENSE.txt static/jssources/highlightjs-gf/dist/gf.min.js static/jssources/highlightjs-gsql/dist/gsql.min.js static/jssources/highlightjs-hlsl/LICENSE.txt static/jssources/highlightjs-hlsl/dist/hlsl.min.js static/jssources/highlightjs-jolie/LICENSE.txt static/jssources/highlightjs-jolie/dist/jolie.min.js static/jssources/highlightjs-lean/LICENSE.txt static/jssources/highlightjs-lean/src/lean.js static/jssources/highlightjs-line-numbers.js/LICENSE.txt static/jssources/highlightjs-line-numbers.js/src/highlightjs-line-numbers.js static/jssources/highlightjs-lox/LICENSE.md static/jssources/highlightjs-lox/dist/es/lox.mjs static/jssources/highlightjs-mirc/LICENSE.txt static/jssources/highlightjs-mirc/mirc.js static/jssources/highlightjs-modelica/LICENSE.txt static/jssources/highlightjs-modelica/modelica.js static/jssources/highlightjs-never/LICENSE.txt static/jssources/highlightjs-never/dist/never.min.js static/jssources/highlightjs-octave/LICENSE.txt static/jssources/highlightjs-octave/dist/highlightjs-octave.cjs.js static/jssources/highlightjs-oz/LICENSE.txt static/jssources/highlightjs-oz/dist/oz.min.js static/jssources/highlightjs-qsharp/dist/qsharp.min.js static/jssources/highlightjs-redbol/LICENSE.txt static/jssources/highlightjs-redbol/dist/redbol.min.js static/jssources/highlightjs-robot/LICENSE.txt static/jssources/highlightjs-robot/robot.js static/jssources/highlightjs-robots-txt/LICENSE.txt static/jssources/highlightjs-robots-txt/dist/robots-txt.min.js static/jssources/highlightjs-rpm-specfile/LICENSE.txt static/jssources/highlightjs-rpm-specfile/rpm-specfile.js static/jssources/highlightjs-sap-abap/LICENSE.txt static/jssources/highlightjs-sap-abap/dist/abap.min.js static/jssources/highlightjs-solidity/LICENSE.txt static/jssources/highlightjs-solidity/dist/solidity.min.js static/jssources/highlightjs-svelte/LICENSE.txt static/jssources/highlightjs-svelte/dist/svelte.min.js static/jssources/highlightjs-terraform/LICENSE.txt static/jssources/highlightjs-terraform/terraform.js static/jssources/highlightjs-xsharp/LICENSE.txt static/jssources/highlightjs-xsharp/dist/xsharp.min.js static/jssources/highlightjs-zenscript/LICENSE.txt static/jssources/highlightjs-zenscript/dist/zenscript.min.js static/jssources/highlightjs-zig/LICENSE.txt static/jssources/highlightjs-zig/dist/zig.min.js static/jssources/hightlightjs-papyrus/LICENSE.txt static/jssources/hightlightjs-papyrus/dist/papyrus.min.js static/jssources/html-encoder-decoder/LICENSE.txt static/jssources/html-encoder-decoder/lib/index.js static/jssources/iframe-resizer/LICENSE.txt static/jssources/iframe-resizer/index.js static/jssources/iframe-resizer/js/iframeResizer.contentWindow.js static/jssources/iframe-resizer/js/iframeResizer.js static/jssources/iframe-resizer/js/index.js static/jssources/internmap/LICENSE.txt static/jssources/internmap/src/index.js static/jssources/intro.js/intro.module.js static/jssources/intro.js/license.md static/jssources/iterate-object/LICENSE.txt static/jssources/iterate-object/lib/index.js static/jssources/jquery/LICENSE.txt static/jssources/jquery/dist/jquery.js static/jssources/js-cookie/LICENSE.txt static/jssources/js-cookie/dist/js.cookie.mjs static/jssources/js-year-calendar/LICENSE.txt static/jssources/js-year-calendar/dist/js-year-calendar.js static/jssources/mathjax/LICENSE.txt static/jssources/mathjax/es5/tex-mml-chtml.js static/jssources/notebookjs/LICENSE.txt static/jssources/notebookjs/notebook.js static/jssources/object-fit-images/license.txt static/jssources/object-fit-images/dist/ofi.common-js.js static/jssources/org/LICENSE.txt static/jssources/org/lib/org.js static/jssources/org/lib/org/lexer.js static/jssources/org/lib/org/node.js static/jssources/org/lib/org/parser.js static/jssources/org/lib/org/stream.js static/jssources/org/lib/org/converter/converter.js static/jssources/org/lib/org/converter/html.js static/jssources/pdfjs-dist/LICENSE.txt static/jssources/pdfjs-dist/build/pdf.js static/jssources/pdfjs-dist/build/pdf.worker.js static/jssources/popper.js/dist/esm/popper.js static/jssources/regenerator-runtime/LICENSE.txt static/jssources/regenerator-runtime/runtime.js static/jssources/regex-escape/LICENSE.txt static/jssources/regex-escape/lib/index.js static/jssources/script-loader/LICENSE.txt static/jssources/script-loader/addScript.js static/jssources/showdown/LICENSE.txt static/jssources/showdown/dist/showdown.js static/jssources/tslib/LICENSE.txt static/jssources/tslib/tslib.es6.js static/jssources/waypoints/licenses.txt.txt static/jssources/waypoints/lib/jquery.waypoints.js static/jssources/whatwg-fetch/LICENSE.txt static/jssources/whatwg-fetch/dist/fetch.umd.js static/xml/swh-opensearch.xml swh/__init__.py swh.web.egg-info/PKG-INFO swh.web.egg-info/SOURCES.txt swh.web.egg-info/dependency_links.txt swh.web.egg-info/requires.txt swh.web.egg-info/top_level.txt swh/web/__init__.py swh/web/config.py swh/web/gunicorn_config.py swh/web/manage.py swh/web/py.typed swh/web/urls.py swh/web/add_forge_now/__init__.py swh/web/add_forge_now/apps.py swh/web/add_forge_now/models.py +swh/web/add_forge_now/signal_receivers.py swh/web/add_forge_now/views.py swh/web/add_forge_now/migrations/0001_initial.py swh/web/add_forge_now/migrations/0002_authorized_null_comment.py swh/web/add_forge_now/migrations/0003_request_submitter_forward_username.py swh/web/add_forge_now/migrations/0004_rename_tables.py +swh/web/add_forge_now/migrations/0005_prepare_inbound_email.py swh/web/add_forge_now/migrations/__init__.py swh/web/admin/__init__.py swh/web/admin/add_forge_now.py swh/web/admin/adminurls.py swh/web/admin/deposit.py swh/web/admin/mailmap.py swh/web/admin/origin_save.py swh/web/admin/urls.py swh/web/api/__init__.py swh/web/api/apidoc.py swh/web/api/apiresponse.py swh/web/api/apiurls.py swh/web/api/renderers.py swh/web/api/throttling.py swh/web/api/urls.py swh/web/api/utils.py swh/web/api/views/__init__.py swh/web/api/views/add_forge_now.py swh/web/api/views/content.py swh/web/api/views/directory.py swh/web/api/views/graph.py swh/web/api/views/identifiers.py swh/web/api/views/metadata.py swh/web/api/views/origin.py swh/web/api/views/origin_save.py swh/web/api/views/ping.py swh/web/api/views/raw.py swh/web/api/views/release.py swh/web/api/views/revision.py swh/web/api/views/snapshot.py swh/web/api/views/stat.py swh/web/api/views/utils.py swh/web/api/views/vault.py swh/web/auth/__init__.py swh/web/auth/apps.py swh/web/auth/mailmap.py swh/web/auth/models.py swh/web/auth/utils.py swh/web/auth/views.py swh/web/auth/management/__init__.py swh/web/auth/management/commands/__init__.py swh/web/auth/management/commands/sync_mailmaps.py swh/web/auth/migrations/0001_initial.py swh/web/auth/migrations/0002_remove_stored_tokens.py swh/web/auth/migrations/0003_delete_oidcuser.py swh/web/auth/migrations/0004_usermailmap.py swh/web/auth/migrations/0005_usermailmapevent.py swh/web/auth/migrations/0006_fix_mailmap_admin_user_id.py swh/web/auth/migrations/__init__.py swh/web/browse/__init__.py swh/web/browse/browseurls.py swh/web/browse/identifiers.py swh/web/browse/snapshot_context.py swh/web/browse/urls.py swh/web/browse/utils.py swh/web/browse/views/__init__.py swh/web/browse/views/content.py swh/web/browse/views/directory.py swh/web/browse/views/origin.py swh/web/browse/views/release.py swh/web/browse/views/revision.py swh/web/browse/views/snapshot.py swh/web/common/__init__.py swh/web/common/apps.py swh/web/common/archive.py swh/web/common/converters.py swh/web/common/exc.py swh/web/common/highlightjs.py swh/web/common/identifiers.py swh/web/common/middlewares.py swh/web/common/models.py swh/web/common/origin_save.py swh/web/common/origin_visits.py swh/web/common/query.py swh/web/common/swh_templatetags.py swh/web/common/typing.py swh/web/common/urlsindex.py swh/web/common/utils.py swh/web/common/management/__init__.py swh/web/common/management/commands/__init__.py swh/web/common/management/commands/refresh_savecodenow_statuses.py swh/web/common/migrations/0001_initial.py swh/web/common/migrations/0002_saveoriginrequest_visit_date.py swh/web/common/migrations/0003_saveoriginrequest_loading_task_status.py swh/web/common/migrations/0004_auto_20190204_1324.py swh/web/common/migrations/0005_remove_duplicated_authorized_origins.py swh/web/common/migrations/0006_rename_origin_type.py swh/web/common/migrations/0007_save_request_task_status_fix_typo.py swh/web/common/migrations/0008_save-code-now_indexes_20210106_1327.py swh/web/common/migrations/0009_saveoriginrequest_visit_status.py swh/web/common/migrations/0010_saveoriginrequest_user_id.py swh/web/common/migrations/0011_saveoriginrequest_user_ids.py swh/web/common/migrations/0012_saveoriginrequest_note.py swh/web/common/migrations/__init__.py swh/web/inbound_email/__init__.py swh/web/inbound_email/apps.py swh/web/inbound_email/signals.py swh/web/inbound_email/utils.py swh/web/inbound_email/management/__init__.py swh/web/inbound_email/management/commands/__init__.py swh/web/inbound_email/management/commands/process_inbound_email.py swh/web/misc/__init__.py swh/web/misc/badges.py swh/web/misc/coverage.py swh/web/misc/fundraising.py swh/web/misc/iframe.py swh/web/misc/metrics.py swh/web/misc/origin_save.py swh/web/misc/urls.py swh/web/settings/__init__.py swh/web/settings/common.py swh/web/settings/development.py swh/web/settings/production.py swh/web/settings/tests.py swh/web/templates/error.html swh/web/templates/homepage.html swh/web/templates/layout.html swh/web/templates/login.html swh/web/templates/logout.html swh/web/templates/add_forge_now/common.html swh/web/templates/add_forge_now/creation_form.html swh/web/templates/add_forge_now/help.html swh/web/templates/add_forge_now/list.html swh/web/templates/add_forge_now/request-dashboard.html swh/web/templates/add_forge_now/requests-moderation.html swh/web/templates/admin/deposit.html swh/web/templates/admin/mailmap.html swh/web/templates/admin/origin-save/common.html swh/web/templates/admin/origin-save/filters.html swh/web/templates/admin/origin-save/requests.html swh/web/templates/api/api.html swh/web/templates/api/apidoc.html swh/web/templates/api/endpoints.html swh/web/templates/auth/profile.html swh/web/templates/browse/branches.html swh/web/templates/browse/browse.html swh/web/templates/browse/content.html swh/web/templates/browse/directory.html swh/web/templates/browse/help.html swh/web/templates/browse/layout.html swh/web/templates/browse/origin-visits.html swh/web/templates/browse/release.html swh/web/templates/browse/releases.html swh/web/templates/browse/revision-log.html swh/web/templates/browse/revision.html swh/web/templates/browse/search.html swh/web/templates/browse/vault-ui.html swh/web/templates/includes/branch-search.html swh/web/templates/includes/breadcrumbs.html swh/web/templates/includes/content-display.html swh/web/templates/includes/directory-display.html swh/web/templates/includes/empty-snapshot.html swh/web/templates/includes/global-modals.html swh/web/templates/includes/http-error.html swh/web/templates/includes/origin-search-form.html swh/web/templates/includes/readme-display.html swh/web/templates/includes/revision-info.html swh/web/templates/includes/show-metadata.html swh/web/templates/includes/show-swhids.html swh/web/templates/includes/snapshot-context.html swh/web/templates/includes/take-new-snapshot.html swh/web/templates/includes/top-navigation.html swh/web/templates/includes/vault-common.html swh/web/templates/includes/vault-create-tasks.html swh/web/templates/misc/coverage.html swh/web/templates/misc/fundraising-banner.html swh/web/templates/misc/iframe.html swh/web/templates/misc/jslicenses.html swh/web/templates/misc/origin-save-help.html swh/web/templates/misc/origin-save-list.html swh/web/templates/misc/origin-save.html swh/web/tests/__init__.py swh/web/tests/conftest.py swh/web/tests/create_test_admin.py swh/web/tests/create_test_users.py swh/web/tests/data.py swh/web/tests/django_asserts.py swh/web/tests/random_fixtures_test.py swh/web/tests/strategies.py swh/web/tests/test_config.py swh/web/tests/test_create_users.py swh/web/tests/test_gunicorn_config.py swh/web/tests/test_migrations.py swh/web/tests/test_random_fixtures.py swh/web/tests/test_templates.py swh/web/tests/test_urls.py swh/web/tests/utils.py swh/web/tests/views.py swh/web/tests/add_forge_now/test_migration.py swh/web/tests/add_forge_now/test_models.py swh/web/tests/add_forge_now/test_views.py swh/web/tests/admin/__init__.py swh/web/tests/admin/test_deposit.py swh/web/tests/admin/test_origin_save.py swh/web/tests/api/__init__.py swh/web/tests/api/test_api_lookup.py swh/web/tests/api/test_apidoc.py swh/web/tests/api/test_apiresponse.py swh/web/tests/api/test_apiurls.py swh/web/tests/api/test_throttling.py swh/web/tests/api/test_utils.py swh/web/tests/api/views/__init__.py swh/web/tests/api/views/test_add_forge_now.py swh/web/tests/api/views/test_content.py swh/web/tests/api/views/test_directory.py swh/web/tests/api/views/test_graph.py swh/web/tests/api/views/test_identifiers.py swh/web/tests/api/views/test_metadata.py swh/web/tests/api/views/test_origin.py swh/web/tests/api/views/test_origin_save.py swh/web/tests/api/views/test_ping.py swh/web/tests/api/views/test_raw.py swh/web/tests/api/views/test_release.py swh/web/tests/api/views/test_revision.py swh/web/tests/api/views/test_snapshot.py swh/web/tests/api/views/test_stat.py swh/web/tests/api/views/test_vault.py swh/web/tests/api/views/utils.py swh/web/tests/auth/__init__.py swh/web/tests/auth/test_mailmap.py swh/web/tests/auth/test_migrations.py swh/web/tests/auth/test_utils.py swh/web/tests/auth/test_views.py swh/web/tests/browse/__init__.py swh/web/tests/browse/test_snapshot_context.py swh/web/tests/browse/test_utils.py swh/web/tests/browse/views/__init__.py swh/web/tests/browse/views/test_content.py swh/web/tests/browse/views/test_directory.py swh/web/tests/browse/views/test_identifiers.py swh/web/tests/browse/views/test_origin.py swh/web/tests/browse/views/test_release.py swh/web/tests/browse/views/test_revision.py swh/web/tests/browse/views/test_snapshot.py swh/web/tests/common/__init__.py swh/web/tests/common/test_archive.py swh/web/tests/common/test_converters.py swh/web/tests/common/test_django_command.py swh/web/tests/common/test_highlightjs.py swh/web/tests/common/test_identifiers.py swh/web/tests/common/test_middlewares.py swh/web/tests/common/test_origin_save.py swh/web/tests/common/test_origin_visits.py swh/web/tests/common/test_query.py swh/web/tests/common/test_templatetags.py swh/web/tests/common/test_utils.py swh/web/tests/inbound_email/__init__.py swh/web/tests/inbound_email/test_management_command.py swh/web/tests/inbound_email/test_utils.py swh/web/tests/inbound_email/resources/__init__.py swh/web/tests/inbound_email/resources/multipart_alternative.eml swh/web/tests/inbound_email/resources/multipart_alternative_html_only.eml swh/web/tests/inbound_email/resources/multipart_alternative_recursive.eml swh/web/tests/inbound_email/resources/multipart_alternative_text_only.eml swh/web/tests/inbound_email/resources/multipart_mixed.eml swh/web/tests/inbound_email/resources/multipart_mixed2.eml swh/web/tests/inbound_email/resources/multipart_mixed_text_only.eml swh/web/tests/inbound_email/resources/multipart_related.eml swh/web/tests/inbound_email/resources/plaintext.eml swh/web/tests/misc/__init__.py swh/web/tests/misc/test_badges.py swh/web/tests/misc/test_coverage.py swh/web/tests/misc/test_fundraising.py swh/web/tests/misc/test_iframe.py swh/web/tests/misc/test_metrics.py swh/web/tests/misc/test_origin_save.py swh/web/tests/resources/contents/code/LICENSE swh/web/tests/resources/contents/code/extensions/test.R swh/web/tests/resources/contents/code/extensions/test.abnf swh/web/tests/resources/contents/code/extensions/test.adb swh/web/tests/resources/contents/code/extensions/test.adoc swh/web/tests/resources/contents/code/extensions/test.ahk swh/web/tests/resources/contents/code/extensions/test.aj swh/web/tests/resources/contents/code/extensions/test.applescript swh/web/tests/resources/contents/code/extensions/test.as swh/web/tests/resources/contents/code/extensions/test.au3 swh/web/tests/resources/contents/code/extensions/test.awk swh/web/tests/resources/contents/code/extensions/test.bas swh/web/tests/resources/contents/code/extensions/test.bat swh/web/tests/resources/contents/code/extensions/test.bf swh/web/tests/resources/contents/code/extensions/test.bnf swh/web/tests/resources/contents/code/extensions/test.bsl swh/web/tests/resources/contents/code/extensions/test.cal swh/web/tests/resources/contents/code/extensions/test.capnp swh/web/tests/resources/contents/code/extensions/test.ceylon swh/web/tests/resources/contents/code/extensions/test.clj swh/web/tests/resources/contents/code/extensions/test.cls swh/web/tests/resources/contents/code/extensions/test.cmake swh/web/tests/resources/contents/code/extensions/test.coffee swh/web/tests/resources/contents/code/extensions/test.cpp swh/web/tests/resources/contents/code/extensions/test.cr swh/web/tests/resources/contents/code/extensions/test.cs swh/web/tests/resources/contents/code/extensions/test.css swh/web/tests/resources/contents/code/extensions/test.d swh/web/tests/resources/contents/code/extensions/test.dart swh/web/tests/resources/contents/code/extensions/test.dcl swh/web/tests/resources/contents/code/extensions/test.dfm swh/web/tests/resources/contents/code/extensions/test.diff swh/web/tests/resources/contents/code/extensions/test.do swh/web/tests/resources/contents/code/extensions/test.dts swh/web/tests/resources/contents/code/extensions/test.dust swh/web/tests/resources/contents/code/extensions/test.ebnf swh/web/tests/resources/contents/code/extensions/test.elm swh/web/tests/resources/contents/code/extensions/test.ep swh/web/tests/resources/contents/code/extensions/test.erb swh/web/tests/resources/contents/code/extensions/test.erl swh/web/tests/resources/contents/code/extensions/test.ex swh/web/tests/resources/contents/code/extensions/test.f90 swh/web/tests/resources/contents/code/extensions/test.feature swh/web/tests/resources/contents/code/extensions/test.flix swh/web/tests/resources/contents/code/extensions/test.fs swh/web/tests/resources/contents/code/extensions/test.gcode swh/web/tests/resources/contents/code/extensions/test.glsl swh/web/tests/resources/contents/code/extensions/test.gml swh/web/tests/resources/contents/code/extensions/test.gms swh/web/tests/resources/contents/code/extensions/test.go swh/web/tests/resources/contents/code/extensions/test.golo swh/web/tests/resources/contents/code/extensions/test.gradle swh/web/tests/resources/contents/code/extensions/test.groovy swh/web/tests/resources/contents/code/extensions/test.gss swh/web/tests/resources/contents/code/extensions/test.haml swh/web/tests/resources/contents/code/extensions/test.hbs swh/web/tests/resources/contents/code/extensions/test.hs swh/web/tests/resources/contents/code/extensions/test.hsp swh/web/tests/resources/contents/code/extensions/test.html swh/web/tests/resources/contents/code/extensions/test.hx swh/web/tests/resources/contents/code/extensions/test.hy swh/web/tests/resources/contents/code/extensions/test.ini swh/web/tests/resources/contents/code/extensions/test.ino swh/web/tests/resources/contents/code/extensions/test.java swh/web/tests/resources/contents/code/extensions/test.jl swh/web/tests/resources/contents/code/extensions/test.js swh/web/tests/resources/contents/code/extensions/test.json swh/web/tests/resources/contents/code/extensions/test.kt swh/web/tests/resources/contents/code/extensions/test.lasso swh/web/tests/resources/contents/code/extensions/test.lc swh/web/tests/resources/contents/code/extensions/test.ldif swh/web/tests/resources/contents/code/extensions/test.leaf swh/web/tests/resources/contents/code/extensions/test.less swh/web/tests/resources/contents/code/extensions/test.lisp swh/web/tests/resources/contents/code/extensions/test.ll swh/web/tests/resources/contents/code/extensions/test.ls swh/web/tests/resources/contents/code/extensions/test.lsl swh/web/tests/resources/contents/code/extensions/test.lua swh/web/tests/resources/contents/code/extensions/test.m swh/web/tests/resources/contents/code/extensions/test.md swh/web/tests/resources/contents/code/extensions/test.mel swh/web/tests/resources/contents/code/extensions/test.mk swh/web/tests/resources/contents/code/extensions/test.ml swh/web/tests/resources/contents/code/extensions/test.moon swh/web/tests/resources/contents/code/extensions/test.nim swh/web/tests/resources/contents/code/extensions/test.nix swh/web/tests/resources/contents/code/extensions/test.nsi swh/web/tests/resources/contents/code/extensions/test.p swh/web/tests/resources/contents/code/extensions/test.pbi swh/web/tests/resources/contents/code/extensions/test.pde swh/web/tests/resources/contents/code/extensions/test.php swh/web/tests/resources/contents/code/extensions/test.pl swh/web/tests/resources/contents/code/extensions/test.pony swh/web/tests/resources/contents/code/extensions/test.pp swh/web/tests/resources/contents/code/extensions/test.properties swh/web/tests/resources/contents/code/extensions/test.proto swh/web/tests/resources/contents/code/extensions/test.ps1 swh/web/tests/resources/contents/code/extensions/test.py swh/web/tests/resources/contents/code/extensions/test.q swh/web/tests/resources/contents/code/extensions/test.qml swh/web/tests/resources/contents/code/extensions/test.rb swh/web/tests/resources/contents/code/extensions/test.re swh/web/tests/resources/contents/code/extensions/test.rib swh/web/tests/resources/contents/code/extensions/test.rs swh/web/tests/resources/contents/code/extensions/test.rsc swh/web/tests/resources/contents/code/extensions/test.s swh/web/tests/resources/contents/code/extensions/test.sas swh/web/tests/resources/contents/code/extensions/test.scad swh/web/tests/resources/contents/code/extensions/test.scala swh/web/tests/resources/contents/code/extensions/test.sci swh/web/tests/resources/contents/code/extensions/test.scm swh/web/tests/resources/contents/code/extensions/test.scss swh/web/tests/resources/contents/code/extensions/test.sh swh/web/tests/resources/contents/code/extensions/test.sl swh/web/tests/resources/contents/code/extensions/test.smali swh/web/tests/resources/contents/code/extensions/test.sml swh/web/tests/resources/contents/code/extensions/test.sqf swh/web/tests/resources/contents/code/extensions/test.st swh/web/tests/resources/contents/code/extensions/test.stan swh/web/tests/resources/contents/code/extensions/test.styl swh/web/tests/resources/contents/code/extensions/test.subunit swh/web/tests/resources/contents/code/extensions/test.swift swh/web/tests/resources/contents/code/extensions/test.tap swh/web/tests/resources/contents/code/extensions/test.tcl swh/web/tests/resources/contents/code/extensions/test.tex swh/web/tests/resources/contents/code/extensions/test.thrift swh/web/tests/resources/contents/code/extensions/test.ts swh/web/tests/resources/contents/code/extensions/test.v swh/web/tests/resources/contents/code/extensions/test.vala swh/web/tests/resources/contents/code/extensions/test.vb swh/web/tests/resources/contents/code/extensions/test.vbs swh/web/tests/resources/contents/code/extensions/test.vhd swh/web/tests/resources/contents/code/extensions/test.vim swh/web/tests/resources/contents/code/extensions/test.wl swh/web/tests/resources/contents/code/extensions/test.xml swh/web/tests/resources/contents/code/extensions/test.xqy swh/web/tests/resources/contents/code/extensions/test.yml swh/web/tests/resources/contents/code/extensions/test.zep swh/web/tests/resources/contents/code/filenames/.htaccess swh/web/tests/resources/contents/code/filenames/CMakeLists.txt swh/web/tests/resources/contents/code/filenames/Dockerfile swh/web/tests/resources/contents/code/filenames/Makefile swh/web/tests/resources/contents/code/filenames/access.log swh/web/tests/resources/contents/code/filenames/httpd.conf swh/web/tests/resources/contents/code/filenames/nginx.conf swh/web/tests/resources/contents/code/filenames/nginx.log swh/web/tests/resources/contents/code/filenames/pf.conf swh/web/tests/resources/contents/code/filenames/resolv.conf swh/web/tests/resources/contents/other/extensions/bash-cheatsheet.pdf swh/web/tests/resources/contents/other/extensions/public.gpg swh/web/tests/resources/contents/other/extensions/swh-logo.jpeg swh/web/tests/resources/contents/other/extensions/swh-logo.png swh/web/tests/resources/contents/other/extensions/swh-logo.webp swh/web/tests/resources/contents/other/extensions/swh-spinner.gif swh/web/tests/resources/contents/other/extensions/word2vec.ipynb swh/web/tests/resources/deposit/raw-metadata-add-to-origin.xml swh/web/tests/resources/deposit/raw-metadata-create-origin.xml swh/web/tests/resources/deposit/raw-metadata-no-swh.xml swh/web/tests/resources/deposit/raw-metadata-provenance.xml swh/web/tests/resources/http_esnode1.internal.softwareheritage.org/swh_workers-*__search swh/web/tests/resources/repos/highlightjs-line-numbers.js.zip swh/web/tests/resources/repos/highlightjs-line-numbers.js_visit2.zip swh/web/tests/resources/repos/libtess2.zip swh/web/tests/resources/repos/repo_with_submodules.tgz \ No newline at end of file diff --git a/swh/web/add_forge_now/apps.py b/swh/web/add_forge_now/apps.py index 7a27e3d4..76a91ee6 100644 --- a/swh/web/add_forge_now/apps.py +++ b/swh/web/add_forge_now/apps.py @@ -1,13 +1,19 @@ # Copyright (C) 2022 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU Affero General Public License version 3, or any later version # See top-level LICENSE file for more information from django.apps import AppConfig APP_LABEL = "swh_web_add_forge_now" class AddForgeNowConfig(AppConfig): name = "swh.web.add_forge_now" label = APP_LABEL + + def ready(self): + from ..inbound_email.signals import email_received + from .signal_receivers import handle_inbound_message + + email_received.connect(handle_inbound_message) diff --git a/swh/web/add_forge_now/migrations/0005_prepare_inbound_email.py b/swh/web/add_forge_now/migrations/0005_prepare_inbound_email.py new file mode 100644 index 00000000..1dbd2687 --- /dev/null +++ b/swh/web/add_forge_now/migrations/0005_prepare_inbound_email.py @@ -0,0 +1,30 @@ +# Generated by Django 2.2.16 on 2022-04-01 15:10 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("swh_web_add_forge_now", "0004_rename_tables"), + ] + + operations = [ + migrations.AddField( + model_name="requesthistory", + name="message_source", + field=models.BinaryField(null=True), + ), + migrations.AlterField( + model_name="requesthistory", + name="actor_role", + field=models.TextField( + choices=[ + ("MODERATOR", "moderator"), + ("SUBMITTER", "submitter"), + ("FORGE_ADMIN", "forge admin"), + ("EMAIL", "email"), + ] + ), + ), + ] diff --git a/swh/web/add_forge_now/models.py b/swh/web/add_forge_now/models.py index 1e714ada..d3f06e0e 100644 --- a/swh/web/add_forge_now/models.py +++ b/swh/web/add_forge_now/models.py @@ -1,112 +1,138 @@ # Copyright (C) 2022 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU Affero General Public License version 3, or any later version # See top-level LICENSE file for more information from __future__ import annotations import enum from typing import List +from urllib.parse import urlparse from django.db import models +from ..config import get_config +from ..inbound_email.utils import get_address_for_pk from .apps import APP_LABEL class RequestStatus(enum.Enum): """Request statuses. Values are used in the ui. """ PENDING = "Pending" WAITING_FOR_FEEDBACK = "Waiting for feedback" FEEDBACK_TO_HANDLE = "Feedback to handle" ACCEPTED = "Accepted" SCHEDULED = "Scheduled" FIRST_LISTING_DONE = "First listing done" FIRST_ORIGIN_LOADED = "First origin loaded" REJECTED = "Rejected" SUSPENDED = "Suspended" DENIED = "Denied" @classmethod def choices(cls): return tuple((variant.name, variant.value) for variant in cls) def allowed_next_statuses(self) -> List[RequestStatus]: next_statuses = { self.PENDING: [self.WAITING_FOR_FEEDBACK, self.REJECTED, self.SUSPENDED], self.WAITING_FOR_FEEDBACK: [self.FEEDBACK_TO_HANDLE], self.FEEDBACK_TO_HANDLE: [ self.WAITING_FOR_FEEDBACK, self.ACCEPTED, self.REJECTED, self.SUSPENDED, ], self.ACCEPTED: [self.SCHEDULED], self.SCHEDULED: [ self.FIRST_LISTING_DONE, # in case of race condition between lister and loader: self.FIRST_ORIGIN_LOADED, ], self.FIRST_LISTING_DONE: [self.FIRST_ORIGIN_LOADED], self.FIRST_ORIGIN_LOADED: [], self.REJECTED: [], self.SUSPENDED: [self.PENDING], self.DENIED: [], } return next_statuses[self] # type: ignore class RequestActorRole(enum.Enum): MODERATOR = "moderator" SUBMITTER = "submitter" FORGE_ADMIN = "forge admin" + EMAIL = "email" @classmethod def choices(cls): return tuple((variant.name, variant.value) for variant in cls) class RequestHistory(models.Model): """Comment or status change. This is commented or changed by either submitter or moderator. """ request = models.ForeignKey("Request", models.DO_NOTHING) text = models.TextField() actor = models.TextField() actor_role = models.TextField(choices=RequestActorRole.choices()) date = models.DateTimeField(auto_now_add=True) new_status = models.TextField(choices=RequestStatus.choices(), null=True) + message_source = models.BinaryField(null=True) class Meta: app_label = APP_LABEL db_table = "add_forge_request_history" class Request(models.Model): status = models.TextField( choices=RequestStatus.choices(), default=RequestStatus.PENDING.name, ) submission_date = models.DateTimeField(auto_now_add=True) submitter_name = models.TextField() submitter_email = models.TextField() submitter_forward_username = models.BooleanField(default=False) # FIXME: shall we do create a user model inside the webapp instead? forge_type = models.TextField() forge_url = models.TextField() forge_contact_email = models.EmailField() forge_contact_name = models.TextField() forge_contact_comment = models.TextField( null=True, help_text="Where did you find this contact information (url, ...)", ) class Meta: app_label = APP_LABEL db_table = "add_forge_request" + + @property + def inbound_email_address(self) -> str: + """Generate an email address for correspondence related to this request.""" + base_address = get_config()["add_forge_now"]["email_address"] + return get_address_for_pk(salt=APP_LABEL, base_address=base_address, pk=self.pk) + + @property + def forge_domain(self) -> str: + """Get the domain/netloc out of the forge_url. + + Fallback to using the first part of the url path, if the netloc can't be found + (for instance, if the url scheme hasn't been set). + """ + + parsed_url = urlparse(self.forge_url) + domain = parsed_url.netloc + if not domain: + domain = parsed_url.path.split("/", 1)[0] + + return domain diff --git a/swh/web/add_forge_now/signal_receivers.py b/swh/web/add_forge_now/signal_receivers.py new file mode 100644 index 00000000..dd38f729 --- /dev/null +++ b/swh/web/add_forge_now/signal_receivers.py @@ -0,0 +1,77 @@ +# Copyright (C) 2022 The Software Heritage developers +# See the AUTHORS file at the top-level directory of this distribution +# License: GNU Affero General Public License version 3, or any later version +# See top-level LICENSE file for more information + +from email.message import EmailMessage +from typing import Type + +from ..config import get_config +from ..inbound_email.signals import EmailProcessingStatus +from ..inbound_email.utils import get_message_plaintext, get_pks_from_message +from .apps import APP_LABEL +from .models import Request, RequestActorRole, RequestHistory, RequestStatus + + +def handle_inbound_message(sender: Type, **kwargs) -> EmailProcessingStatus: + """Handle inbound email messages for add forge now. + + This uses the from field in the message to set the actor for the new entry in the + request history. We also unconditionally advance the status of requests in the + ``PENDING`` or ``WAITING_FOR_FEEDBACK`` states. + + The message source is saved in the request history as an escape hatch if something + goes wrong during processing. + + """ + + message = kwargs["message"] + assert isinstance(message, EmailMessage) + + base_address = get_config()["add_forge_now"]["email_address"] + + pks = get_pks_from_message( + salt=APP_LABEL, base_address=base_address, message=message + ) + + if not pks: + return EmailProcessingStatus.IGNORED + + for pk in pks: + try: + request = Request.objects.get(pk=pk) + except Request.DoesNotExist: + continue + + request_updated = False + + message_plaintext = get_message_plaintext(message) + if message_plaintext: + history_text = message_plaintext.decode("utf-8", errors="replace") + else: + history_text = ( + "Could not parse the message contents, see the original message." + ) + + history_entry = RequestHistory( + request=request, + actor=str(message["from"]), + actor_role=RequestActorRole.EMAIL.name, + text=history_text, + message_source=bytes(message), + ) + + new_status = { + RequestStatus.PENDING: RequestStatus.WAITING_FOR_FEEDBACK, + RequestStatus.WAITING_FOR_FEEDBACK: RequestStatus.FEEDBACK_TO_HANDLE, + }.get(RequestStatus[request.status]) + + if new_status: + request.status = history_entry.new_status = new_status.name + request_updated = True + + history_entry.save() + if request_updated: + request.save() + + return EmailProcessingStatus.PROCESSED diff --git a/swh/web/add_forge_now/views.py b/swh/web/add_forge_now/views.py index d769bcd1..a675ae0c 100644 --- a/swh/web/add_forge_now/views.py +++ b/swh/web/add_forge_now/views.py @@ -1,126 +1,160 @@ # Copyright (C) 2022 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU Affero General Public License version 3, or any later version # See top-level LICENSE file for more information from typing import Any, Dict, List +from django.conf import settings from django.conf.urls import url +from django.contrib.auth.decorators import user_passes_test from django.core.paginator import Paginator from django.db.models import Q from django.http.request import HttpRequest from django.http.response import HttpResponse, JsonResponse from django.shortcuts import render from swh.web.add_forge_now.models import Request as AddForgeRequest +from swh.web.add_forge_now.models import RequestHistory from swh.web.api.views.add_forge_now import ( AddForgeNowRequestPublicSerializer, AddForgeNowRequestSerializer, ) from swh.web.common.utils import has_add_forge_now_permission def add_forge_request_list_datatables(request: HttpRequest) -> HttpResponse: """Dedicated endpoint used by datatables to display the add-forge requests in the Web UI. """ draw = int(request.GET.get("draw", 0)) add_forge_requests = AddForgeRequest.objects.all() table_data: Dict[str, Any] = { "recordsTotal": add_forge_requests.count(), "draw": draw, } search_value = request.GET.get("search[value]") column_order = request.GET.get("order[0][column]") field_order = request.GET.get(f"columns[{column_order}][name]", "id") order_dir = request.GET.get("order[0][dir]", "desc") if field_order: if order_dir == "desc": field_order = "-" + field_order add_forge_requests = add_forge_requests.order_by(field_order) per_page = int(request.GET.get("length", 10)) page_num = int(request.GET.get("start", 0)) // per_page + 1 if search_value: add_forge_requests = add_forge_requests.filter( Q(forge_type__icontains=search_value) | Q(forge_url__icontains=search_value) | Q(status__icontains=search_value) ) if ( int(request.GET.get("user_requests_only", "0")) and request.user.is_authenticated ): add_forge_requests = add_forge_requests.filter( submitter_name=request.user.username ) paginator = Paginator(add_forge_requests, per_page) page = paginator.page(page_num) if has_add_forge_now_permission(request.user): requests = AddForgeNowRequestSerializer(page.object_list, many=True).data else: requests = AddForgeNowRequestPublicSerializer(page.object_list, many=True).data results = [dict(req) for req in requests] table_data["recordsFiltered"] = add_forge_requests.count() table_data["data"] = results return JsonResponse(table_data) FORGE_TYPES: List[str] = [ "bitbucket", "cgit", "gitlab", "gitea", "heptapod", ] def create_request_create(request): """View to create a new 'add_forge_now' request.""" return render( request, "add_forge_now/creation_form.html", {"forge_types": FORGE_TYPES}, ) def create_request_list(request): """View to list existing 'add_forge_now' requests.""" return render( request, "add_forge_now/list.html", ) def create_request_help(request): """View to explain 'add_forge_now'.""" return render( request, "add_forge_now/help.html", ) +@user_passes_test( + has_add_forge_now_permission, + redirect_field_name="next_path", + login_url=settings.LOGIN_URL, +) +def create_request_message_source(request: HttpRequest, id: int) -> HttpResponse: + """View to retrieve the message source for a given request history entry""" + + try: + history_entry = RequestHistory.objects.select_related("request").get( + pk=id, message_source__isnull=False + ) + assert history_entry.message_source is not None + except RequestHistory.DoesNotExist: + return HttpResponse(status=404) + + response = HttpResponse( + bytes(history_entry.message_source), content_type="text/email" + ) + filename = f"add-forge-now-{history_entry.request.forge_domain}-message{id}.eml" + + response["Content-Disposition"] = f'attachment; filename="{filename}"' + + return response + + urlpatterns = [ url( r"^add-forge/request/list/datatables/$", add_forge_request_list_datatables, name="add-forge-request-list-datatables", ), url(r"^add-forge/request/create/$", create_request_create, name="forge-add-create"), url(r"^add-forge/request/list/$", create_request_list, name="forge-add-list"), + url( + r"^add-forge/request/message-source/(?P\d+)/$", + create_request_message_source, + name="forge-add-message-source", + ), url(r"^add-forge/request/help/$", create_request_help, name="forge-add-help"), ] diff --git a/swh/web/api/throttling.py b/swh/web/api/throttling.py index faad552e..b054a070 100644 --- a/swh/web/api/throttling.py +++ b/swh/web/api/throttling.py @@ -1,218 +1,223 @@ # Copyright (C) 2017-2022 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU Affero General Public License version 3, or any later version # See top-level LICENSE file for more information from ipaddress import IPv4Network, IPv6Network, ip_address, ip_network from typing import Callable, List, TypeVar, Union from django.core.exceptions import ImproperlyConfigured import rest_framework from rest_framework.throttling import ScopedRateThrottle -from swh.web.auth.utils import API_SAVE_ORIGIN_PERMISSION +from swh.web.auth.utils import API_RAW_OBJECT_PERMISSION, API_SAVE_ORIGIN_PERMISSION from swh.web.common.exc import sentry_capture_exception from swh.web.config import get_config APIView = TypeVar("APIView", bound="rest_framework.views.APIView") Request = rest_framework.request.Request API_THROTTLING_EXEMPTED_PERM = "swh.web.api.throttling_exempted" class SwhWebRateThrottle(ScopedRateThrottle): """Custom DRF request rate limiter for anonymous users Requests are grouped into scopes. It enables to apply different requests rate limiting based on the scope name but also the input HTTP request types. To associate a scope to requests, one must add a 'throttle_scope' attribute when using a class based view, or call the 'throttle_scope' decorator when using a function based view. By default, requests do not have an associated scope and are not rate limited. Rate limiting can also be configured according to the type of the input HTTP requests for fine grained tuning. For instance, the following YAML configuration section sets a rate of: - 1 per minute for POST requests - 60 per minute for other request types for the 'swh_api' scope while exempting those coming from the 127.0.0.0/8 ip network. .. code-block:: yaml throttling: scopes: swh_api: limiter_rate: default: 60/m POST: 1/m exempted_networks: - 127.0.0.0/8 """ scope = None def __init__(self): super().__init__() self.exempted_networks = None self.num_requests = 0 self.duration = 0 def get_cache_key(self, request, view): # do not handle throttling if user is authenticated if request.user.is_authenticated: return None else: return super().get_cache_key(request, view) def get_exempted_networks( self, scope_name: str ) -> List[Union[IPv4Network, IPv6Network]]: if not self.exempted_networks: scopes = get_config()["throttling"]["scopes"] scope = scopes.get(scope_name) if scope: networks = scope.get("exempted_networks") if networks: self.exempted_networks = [ ip_network(network) for network in networks ] return self.exempted_networks def get_scope(self, view: APIView): if not self.scope: # class based view case return getattr(view, self.scope_attr, None) else: # function based view case return self.scope def allow_request(self, request: Request, view: APIView) -> bool: # class based view case if not self.scope: default_scope = getattr(view, self.scope_attr, None) request_allowed = None if default_scope is not None: # check if there is a specific rate limiting associated # to the request type assert request.method is not None request_scope = f"{default_scope}_{request.method.lower()}" setattr(view, self.scope_attr, request_scope) try: request_allowed = super().allow_request(request, view) # use default rate limiting otherwise except ImproperlyConfigured as exc: sentry_capture_exception(exc) setattr(view, self.scope_attr, default_scope) if request_allowed is None: request_allowed = super().allow_request(request, view) # function based view case else: default_scope = self.scope # check if there is a specific rate limiting associated # to the request type self.scope = default_scope + "_" + request.method.lower() try: self.rate = self.get_rate() # use default rate limiting otherwise except ImproperlyConfigured: self.scope = default_scope self.rate = self.get_rate() self.num_requests, self.duration = self.parse_rate(self.rate) request_allowed = super(ScopedRateThrottle, self).allow_request( request, view ) self.scope = default_scope exempted_networks = self.get_exempted_networks(default_scope) exempted_ip = False if exempted_networks: remote_address = ip_address(self.get_ident(request)) exempted_ip = any( remote_address in network for network in exempted_networks ) request_allowed = exempted_ip or request_allowed # set throttling related data in the request metadata # in order for the ThrottlingHeadersMiddleware to # add X-RateLimit-* headers in the HTTP response if not exempted_ip and hasattr(self, "history"): hit_count = len(self.history) request.META["RateLimit-Limit"] = self.num_requests request.META["RateLimit-Remaining"] = self.num_requests - hit_count wait = self.wait() if wait is not None: request.META["RateLimit-Reset"] = int(self.now + wait) return request_allowed class SwhWebUserRateThrottle(SwhWebRateThrottle): """Custom DRF request rate limiter for authenticated users It has the same behavior than :class:`swh.web.api.throttling.SwhWebRateThrottle` except the number of allowed requests for each throttle scope is increased by a 1Ox factor. """ NUM_REQUESTS_FACTOR = 10 def get_cache_key(self, request, view): # do not handle throttling if user is not authenticated if request.user.is_authenticated: return super(SwhWebRateThrottle, self).get_cache_key(request, view) else: return None def parse_rate(self, rate): # increase number of allowed requests num_requests, duration = super().parse_rate(rate) return (num_requests * self.NUM_REQUESTS_FACTOR, duration) def allow_request(self, request: Request, view: APIView) -> bool: if request.user.is_staff or request.user.has_perm(API_THROTTLING_EXEMPTED_PERM): # no throttling for staff users or users with adequate permission return True scope = self.get_scope(view) if scope == "swh_save_origin" and request.user.has_perm( API_SAVE_ORIGIN_PERMISSION ): # no throttling on save origin endpoint for users with adequate permission return True + if scope == "swh_raw_object" and request.user.has_perm( + API_RAW_OBJECT_PERMISSION + ): + # no throttling on raw object endpoint for users with adequate permission + return True return super().allow_request(request, view) def throttle_scope(scope: str) -> Callable[..., APIView]: """Decorator that allows the throttle scope of a DRF function based view to be set:: @api_view(['GET', ]) @throttle_scope('scope') def view(request): ... """ def decorator(func: APIView) -> APIView: SwhScopeRateThrottle = type( "SwhWebScopeRateThrottle", (SwhWebRateThrottle,), {"scope": scope} ) SwhScopeUserRateThrottle = type( "SwhWebScopeUserRateThrottle", (SwhWebUserRateThrottle,), {"scope": scope}, ) func.throttle_classes = (SwhScopeRateThrottle, SwhScopeUserRateThrottle) return func return decorator diff --git a/swh/web/api/views/add_forge_now.py b/swh/web/api/views/add_forge_now.py index 10a5f8ff..8040baed 100644 --- a/swh/web/api/views/add_forge_now.py +++ b/swh/web/api/views/add_forge_now.py @@ -1,396 +1,412 @@ # Copyright (C) 2022 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU Affero General Public License version 3, or any later version # See top-level LICENSE file for more information import json from typing import Any, Dict, Union from django.core.exceptions import ObjectDoesNotExist from django.core.paginator import Paginator from django.db import transaction from django.db.models.query import QuerySet from django.forms import CharField, ModelForm from django.http import HttpResponseBadRequest from django.http.request import HttpRequest from django.http.response import HttpResponse, HttpResponseForbidden from rest_framework import serializers from rest_framework.request import Request from rest_framework.response import Response from swh.web.add_forge_now.models import Request as AddForgeRequest from swh.web.add_forge_now.models import RequestActorRole as AddForgeNowRequestActorRole from swh.web.add_forge_now.models import RequestHistory as AddForgeNowRequestHistory from swh.web.add_forge_now.models import RequestStatus as AddForgeNowRequestStatus from swh.web.api.apidoc import api_doc, format_docstring from swh.web.api.apiurls import api_route from swh.web.auth.utils import ADD_FORGE_MODERATOR_PERMISSION from swh.web.common.exc import BadInputExc from swh.web.common.utils import has_add_forge_now_permission, reverse def _block_while_testing(): """Replaced by tests to check concurrency behavior""" pass class AddForgeNowRequestForm(ModelForm): forge_contact_comment = CharField( required=False, ) class Meta: model = AddForgeRequest fields = ( "forge_type", "forge_url", "forge_contact_email", "forge_contact_name", "forge_contact_comment", "submitter_forward_username", ) class AddForgeNowRequestHistoryForm(ModelForm): new_status = CharField( max_length=200, required=False, ) class Meta: model = AddForgeNowRequestHistory fields = ("text", "new_status") class AddForgeNowRequestSerializer(serializers.ModelSerializer): + inbound_email_address = serializers.CharField() + forge_domain = serializers.CharField() last_moderator = serializers.SerializerMethodField() last_modified_date = serializers.SerializerMethodField() history: Dict[int, QuerySet] = {} class Meta: model = AddForgeRequest fields = "__all__" def _gethistory(self, request): if request.id not in self.history: self.history[request.id] = AddForgeNowRequestHistory.objects.filter( request=request ).order_by("id") return self.history[request.id] def get_last_moderator(self, request): last_history_with_moderator = ( self._gethistory(request).filter(actor_role="MODERATOR").last() ) return ( last_history_with_moderator.actor if last_history_with_moderator else "None" ) def get_last_modified_date(self, request): last_history = self._gethistory(request).last() return ( last_history.date.isoformat().replace("+00:00", "Z") if last_history else None ) class AddForgeNowRequestPublicSerializer(serializers.ModelSerializer): """Serializes AddForgeRequest without private fields.""" class Meta: model = AddForgeRequest fields = ("id", "forge_url", "forge_type", "status", "submission_date") class AddForgeNowRequestHistorySerializer(serializers.ModelSerializer): + message_source_url = serializers.SerializerMethodField() + class Meta: model = AddForgeNowRequestHistory - exclude = ("request",) + exclude = ("request", "message_source") + + def get_message_source_url(self, request_history): + if request_history.message_source is None: + return None + + return reverse( + "forge-add-message-source", + url_args={"id": request_history.pk}, + request=self.context["request"], + ) class AddForgeNowRequestHistoryPublicSerializer(serializers.ModelSerializer): class Meta: model = AddForgeNowRequestHistory fields = ("id", "date", "new_status", "actor_role") @api_route( r"/add-forge/request/create/", "api-1-add-forge-request-create", methods=["POST"], ) @api_doc("/add-forge/request/create") @format_docstring() @transaction.atomic def api_add_forge_request_create(request: Union[HttpRequest, Request]) -> HttpResponse: """ .. http:post:: /api/1/add-forge/request/create/ Create a new request to add a forge to the list of those crawled regularly by Software Heritage. .. warning:: That endpoint is not publicly available and requires authentication in order to be able to request it. {common_headers} :[0-9]+)/update/", "api-1-add-forge-request-update", methods=["POST"], ) @api_doc("/add-forge/request/update", tags=["hidden"]) @format_docstring() @transaction.atomic def api_add_forge_request_update( request: Union[HttpRequest, Request], id: int ) -> HttpResponse: """ .. http:post:: /api/1/add-forge/request/update/ Update a request to add a forge to the list of those crawled regularly by Software Heritage. .. warning:: That endpoint is not publicly available and requires authentication in order to be able to request it. {common_headers} :[0-9]+)/get/", "api-1-add-forge-request-get", methods=["GET"], ) @api_doc("/add-forge/request/get") @format_docstring() def api_add_forge_request_get(request: Request, id: int): """ .. http:get:: /api/1/add-forge/request/get/ Return all details about an add-forge request. {common_headers} :param int id: add-forge request identifier :statuscode 200: request details successfully returned :statuscode 400: request identifier does not exist """ try: add_forge_request = AddForgeRequest.objects.get(id=id) except ObjectDoesNotExist: raise BadInputExc("Request id does not exist") request_history = AddForgeNowRequestHistory.objects.filter( request=add_forge_request ).order_by("id") if request.user.is_authenticated and request.user.has_perm( ADD_FORGE_MODERATOR_PERMISSION ): data = AddForgeNowRequestSerializer(add_forge_request).data - history = AddForgeNowRequestHistorySerializer(request_history, many=True).data + history = AddForgeNowRequestHistorySerializer( + request_history, many=True, context={"request": request} + ).data else: data = AddForgeNowRequestPublicSerializer(add_forge_request).data history = AddForgeNowRequestHistoryPublicSerializer( request_history, many=True ).data return {"request": data, "history": history} diff --git a/swh/web/api/views/raw.py b/swh/web/api/views/raw.py index dbe4d7c8..62020c2d 100644 --- a/swh/web/api/views/raw.py +++ b/swh/web/api/views/raw.py @@ -1,109 +1,118 @@ # Copyright (C) 2022 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU Affero General Public License version 3, or any later version # See top-level LICENSE file for more information from django.http import HttpResponse +from rest_framework.exceptions import PermissionDenied from swh.model import model from swh.model.git_objects import ( content_git_object, directory_git_object, release_git_object, revision_git_object, snapshot_git_object, ) from swh.model.hashutil import hash_to_hex from swh.model.swhids import CoreSWHID, ObjectType from swh.storage.algos.directory import directory_get from swh.storage.algos.snapshot import snapshot_get_all_branches from swh.web.api.apidoc import api_doc, format_docstring from swh.web.api.apiurls import api_route +from swh.web.auth.utils import API_RAW_OBJECT_PERMISSION from swh.web.common import archive from swh.web.common.exc import NotFoundExc from swh.web.common.utils import SWHID_RE @api_route( f"/raw/(?P{SWHID_RE})/", "api-1-raw-object", + throttle_scope="swh_raw_object", ) @api_doc("/raw/") @format_docstring() def api_raw_object(request, swhid): """ .. http:get:: /api/1/raw/(swhid)/ Get the object corresponding to the SWHID in raw form. This endpoint exposes the internal representation (see the ``*_git_object`` functions in :mod:`swh.model.git_objects`), and so can be used to fetch a binary blob which hashes to the same identifier. + .. warning:: + That endpoint is not publicly available and requires authentication and + special user permission in order to be able to request it. + :param string swhid: the object's SWHID :resheader Content-Type: application/octet-stream :statuscode 200: no error :statuscode 404: the requested object can not be found in the archive **Example:** .. parsed-literal:: :swh_web_api:`raw/swh:1:snp:6a3a2cf0b2b90ce7ae1cf0a221ed68035b686f5a` """ + if not (request.user.is_staff or request.user.has_perm(API_RAW_OBJECT_PERMISSION)): + raise PermissionDenied() swhid = CoreSWHID.from_string(swhid) object_id = swhid.object_id object_type = swhid.object_type def not_found(): return NotFoundExc(f"Object with id {swhid} not found.") if object_type == ObjectType.CONTENT: results = archive.storage.content_find({"sha1_git": object_id}) if len(results) == 0: raise not_found() cnt = results[0] # `cnt.with_data()` unfortunately doesn't seem to work. if cnt.data is None: d = cnt.to_dict() d["data"] = archive.storage.content_get_data(cnt.sha1) cnt = model.Content.from_dict(d) assert cnt.data, f"Content {hash_to_hex(cnt.sha1)} ceased to exist" result = content_git_object(cnt) elif object_type == ObjectType.DIRECTORY: result = directory_get(archive.storage, object_id) if result is None: raise not_found() result = directory_git_object(result) elif object_type == ObjectType.REVISION: - result = archive.storage.revision_get([object_id])[0] + result = archive.storage.revision_get([object_id], ignore_displayname=True)[0] if result is None: raise not_found() result = revision_git_object(result) elif object_type == ObjectType.RELEASE: - result = archive.storage.release_get([object_id])[0] + result = archive.storage.release_get([object_id], ignore_displayname=True)[0] if result is None: raise not_found() result = release_git_object(result) elif object_type == ObjectType.SNAPSHOT: result = snapshot_get_all_branches(archive.storage, object_id) if result is None: raise not_found() result = snapshot_git_object(result) else: raise ValueError(f"Unexpected object type variant: {object_type}") response = HttpResponse(result, content_type="application/octet-stream") filename = str(swhid).replace(":", "_") + "_raw" response["Content-disposition"] = f"attachment; filename={filename}" return response diff --git a/swh/web/auth/utils.py b/swh/web/auth/utils.py index c93708d0..96e1cae0 100644 --- a/swh/web/auth/utils.py +++ b/swh/web/auth/utils.py @@ -1,115 +1,116 @@ # Copyright (C) 2020-2022 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU Affero General Public License version 3, or any later version # See top-level LICENSE file for more information from base64 import urlsafe_b64encode from typing import List from cryptography.fernet import Fernet from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives import hashes from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC from django.contrib.auth.decorators import user_passes_test from django.http.request import HttpRequest from swh.web.common.exc import ForbiddenExc OIDC_SWH_WEB_CLIENT_ID = "swh-web" SWH_AMBASSADOR_PERMISSION = "swh.ambassador" API_SAVE_ORIGIN_PERMISSION = "swh.web.api.save_origin" ADMIN_LIST_DEPOSIT_PERMISSION = "swh.web.admin.list_deposits" MAILMAP_PERMISSION = "swh.web.mailmap" ADD_FORGE_MODERATOR_PERMISSION = "swh.web.add_forge_now.moderator" MAILMAP_ADMIN_PERMISSION = "swh.web.admin.mailmap" +API_RAW_OBJECT_PERMISSION = "swh.web.api.raw_object" def _get_fernet(password: bytes, salt: bytes) -> Fernet: """ Instantiate a Fernet system from a password and a salt value (see https://cryptography.io/en/latest/fernet/). Args: password: user password that will be used to generate a Fernet key derivation function salt: value that will be used to generate a Fernet key derivation function Returns: The Fernet system """ kdf = PBKDF2HMAC( algorithm=hashes.SHA256(), length=32, salt=salt, iterations=100000, backend=default_backend(), ) key = urlsafe_b64encode(kdf.derive(password)) return Fernet(key) def encrypt_data(data: bytes, password: bytes, salt: bytes) -> bytes: """ Encrypt data using Fernet system (symmetric encryption). Args: data: input data to encrypt password: user password that will be used to generate a Fernet key derivation function salt: value that will be used to generate a Fernet key derivation function Returns: The encrypted data """ return _get_fernet(password, salt).encrypt(data) def decrypt_data(data: bytes, password: bytes, salt: bytes) -> bytes: """ Decrypt data using Fernet system (symmetric encryption). Args: data: input data to decrypt password: user password that will be used to generate a Fernet key derivation function salt: value that will be used to generate a Fernet key derivation function Returns: The decrypted data """ return _get_fernet(password, salt).decrypt(data) def privileged_user(request: HttpRequest, permissions: List[str] = []) -> bool: """Determine whether a user is authenticated and is a privileged one (e.g ambassador). This allows such user to have access to some more actions (e.g. bypass save code now review, access to 'archives' type...). A user is considered as privileged if he is a staff member or has any permission from those provided as parameters. Args: request: Input django HTTP request permissions: list of permission names to determine if user is privileged or not Returns: Whether the user is privileged or not. """ user = request.user return user.is_authenticated and ( user.is_staff or any([user.has_perm(perm) for perm in permissions]) ) def any_permission_required(*perms): """View decorator granting access to it if user has at least one permission among those passed as parameters. """ def check_perms(user): if any(user.has_perm(perm) for perm in perms): return True raise ForbiddenExc return user_passes_test(check_perms) diff --git a/swh/web/config.py b/swh/web/config.py index 40b6c4aa..ecf4bff2 100644 --- a/swh/web/config.py +++ b/swh/web/config.py @@ -1,232 +1,233 @@ # Copyright (C) 2017-2021 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU Affero General Public License version 3, or any later version # See top-level LICENSE file for more information import os from typing import Any, Dict from swh.core import config from swh.counters import get_counters from swh.indexer.storage import get_indexer_storage from swh.scheduler import get_scheduler from swh.search import get_search from swh.storage import get_storage from swh.vault import get_vault from swh.web import settings SWH_WEB_SERVER_NAME = "archive.softwareheritage.org" SWH_WEB_INTERNAL_SERVER_NAME = "archive.internal.softwareheritage.org" SWH_WEB_STAGING_SERVER_NAMES = [ "webapp.staging.swh.network", "webapp.internal.staging.swh.network", ] SETTINGS_DIR = os.path.dirname(settings.__file__) DEFAULT_CONFIG = { "allowed_hosts": ("list", []), "storage": ( "dict", { "cls": "remote", "url": "http://127.0.0.1:5002/", "timeout": 10, }, ), "indexer_storage": ( "dict", { "cls": "remote", "url": "http://127.0.0.1:5007/", "timeout": 1, }, ), "counters": ( "dict", { "cls": "remote", "url": "http://127.0.0.1:5011/", "timeout": 1, }, ), "search": ( "dict", { "cls": "remote", "url": "http://127.0.0.1:5010/", "timeout": 10, }, ), "search_config": ( "dict", { "metadata_backend": "swh-indexer-storage", }, # or "swh-search" ), "log_dir": ("string", "/tmp/swh/log"), "debug": ("bool", False), "serve_assets": ("bool", False), "host": ("string", "127.0.0.1"), "port": ("int", 5004), "secret_key": ("string", "development key"), # do not display code highlighting for content > 1MB "content_display_max_size": ("int", 5 * 1024 * 1024), "snapshot_content_max_size": ("int", 1000), "throttling": ( "dict", { "cache_uri": None, # production: memcached as cache (127.0.0.1:11211) # development: in-memory cache so None "scopes": { "swh_api": { "limiter_rate": {"default": "120/h"}, "exempted_networks": ["127.0.0.0/8"], }, "swh_api_origin_search": { "limiter_rate": {"default": "10/m"}, "exempted_networks": ["127.0.0.0/8"], }, "swh_vault_cooking": { "limiter_rate": {"default": "120/h", "GET": "60/m"}, "exempted_networks": ["127.0.0.0/8"], }, "swh_save_origin": { "limiter_rate": {"default": "120/h", "POST": "10/h"}, "exempted_networks": ["127.0.0.0/8"], }, "swh_api_origin_visit_latest": { "limiter_rate": {"default": "700/m"}, "exempted_networks": ["127.0.0.0/8"], }, }, }, ), "vault": ( "dict", { "cls": "remote", "args": { "url": "http://127.0.0.1:5005/", }, }, ), "scheduler": ("dict", {"cls": "remote", "url": "http://127.0.0.1:5008/"}), "development_db": ("string", os.path.join(SETTINGS_DIR, "db.sqlite3")), "test_db": ("dict", {"name": "swh-web-test"}), "production_db": ("dict", {"name": "swh-web"}), "deposit": ( "dict", { "private_api_url": "https://deposit.softwareheritage.org/1/private/", "private_api_user": "swhworker", "private_api_password": "some-password", }, ), "e2e_tests_mode": ("bool", False), "es_workers_index_url": ("string", ""), "history_counters_url": ( "string", ( "http://counters1.internal.softwareheritage.org:5011" "/counters_history/history.json" ), ), "client_config": ("dict", {}), "keycloak": ("dict", {"server_url": "", "realm_name": ""}), "graph": ( "dict", { "server_url": "http://graph.internal.softwareheritage.org:5009/graph/", "max_edges": {"staff": 0, "user": 100000, "anonymous": 1000}, }, ), "status": ( "dict", { "server_url": "https://status.softwareheritage.org/", "json_path": "1.0/status/578e5eddcdc0cc7951000520", }, ), "counters_backend": ("string", "swh-storage"), # or "swh-counters" "staging_server_names": ("list", SWH_WEB_STAGING_SERVER_NAMES), "instance_name": ("str", "archive-test.softwareheritage.org"), "give": ("dict", {"public_key": "", "token": ""}), "features": ("dict", {"add_forge_now": True}), + "add_forge_now": ("dict", {"email_address": "add-forge-now@example.com"}), } swhweb_config: Dict[str, Any] = {} def get_config(config_file="web/web"): """Read the configuration file `config_file`. If an environment variable SWH_CONFIG_FILENAME is defined, this takes precedence over the config_file parameter. In any case, update the app with parameters (secret_key, conf) and return the parsed configuration as a dict. If no configuration file is provided, return a default configuration. """ if not swhweb_config: config_filename = os.environ.get("SWH_CONFIG_FILENAME") if config_filename: config_file = config_filename cfg = config.load_named_config(config_file, DEFAULT_CONFIG) swhweb_config.update(cfg) config.prepare_folders(swhweb_config, "log_dir") if swhweb_config.get("search"): swhweb_config["search"] = get_search(**swhweb_config["search"]) else: swhweb_config["search"] = None swhweb_config["storage"] = get_storage(**swhweb_config["storage"]) swhweb_config["vault"] = get_vault(**swhweb_config["vault"]) swhweb_config["indexer_storage"] = get_indexer_storage( **swhweb_config["indexer_storage"] ) swhweb_config["scheduler"] = get_scheduler(**swhweb_config["scheduler"]) swhweb_config["counters"] = get_counters(**swhweb_config["counters"]) return swhweb_config def search(): """Return the current application's search.""" return get_config()["search"] def storage(): """Return the current application's storage.""" return get_config()["storage"] def vault(): """Return the current application's vault.""" return get_config()["vault"] def indexer_storage(): """Return the current application's indexer storage.""" return get_config()["indexer_storage"] def scheduler(): """Return the current application's scheduler.""" return get_config()["scheduler"] def counters(): """Return the current application's counters.""" return get_config()["counters"] def is_feature_enabled(feature_name: str) -> bool: """Determine whether a feature is enabled or not. If feature_name is not found at all, it's considered disabled. """ return get_config()["features"].get(feature_name, False) diff --git a/swh/web/misc/coverage.py b/swh/web/misc/coverage.py index a6d9225d..836f636b 100644 --- a/swh/web/misc/coverage.py +++ b/swh/web/misc/coverage.py @@ -1,430 +1,436 @@ # Copyright (C) 2018-2022 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU Affero General Public License version 3, or any later version # See top-level LICENSE file for more information from collections import Counter, defaultdict from typing import Any, Dict, List, Tuple from urllib.parse import urlparse from django.conf.urls import url from django.http.request import HttpRequest from django.http.response import HttpResponse from django.shortcuts import render from django.views.decorators.cache import never_cache from django.views.decorators.clickjacking import xframe_options_exempt from swh.scheduler.model import SchedulerMetrics from swh.web.common import archive from swh.web.common.origin_save import get_savable_visit_types from swh.web.common.utils import ( django_cache, get_deposits_list, is_swh_web_production, reverse, ) from swh.web.config import scheduler _swh_arch_overview_doc = ( "https://docs.softwareheritage.org/devel/architecture/overview.html" ) # Current coverage list of the archive in a high level overview fashion, # categorized as follow: # - listed origins: origins discovered using a swh lister # - legacy: origins where public hosting service has closed # - deposited: origins coming from swh-deposit # # TODO: Store that list in a database table somewhere (swh-scheduler, swh-storage ?) # and retrieve it dynamically listed_origins: Dict[str, Any] = { "info": ( "These software origins get continuously discovered and archived using " f'the listers implemented by Software Heritage.' ), "origins": [ { "type": "bitbucket", "info_url": "https://bitbucket.org", "info": "public repositories from Bitbucket", "search_pattern": "https://bitbucket.org/", }, { "type": "cgit", "info_url": "https://git.zx2c4.com/cgit/about", "info": "public repositories from cgit instances", "search_pattern": "cgit", }, { "type": "CRAN", "info_url": "https://cran.r-project.org", "info": "source packages from The Comprehensive R Archive Network", "search_pattern": "https://cran.r-project.org/", }, { "type": "debian", "info_url": "https://www.debian.org", "info": "source packages from Debian and Debian-based distributions", "search_pattern": "deb://", }, { "type": "gitea", "info_url": "https://gitea.io", "info": "public repositories from Gitea instances", "search_pattern": "gitea", }, { "type": "github", "info_url": "https://github.com", "info": "public repositories from GitHub", "search_pattern": "https://github.com/", }, { "type": "gitlab", "info_url": "https://gitlab.com", "info": "public repositories from multiple GitLab instances", "search_pattern": "gitlab", }, { "type": "guix", "info_url": "https://guix.gnu.org", "info": "source code tarballs used to build the Guix package collection", "visit_types": ["nixguix"], "search_pattern": "https://guix.gnu.org/sources.json", }, { "type": "GNU", "info_url": "https://www.gnu.org", "info": "releases from the GNU project (as of August 2015)", "search_pattern": "gnu", }, { "type": "heptapod", "info_url": "https://heptapod.net/", "info": "public repositories from multiple Heptapod instances", "search_pattern": "heptapod", }, { "type": "launchpad", "info_url": "https://launchpad.net", "logo": "img/logos/launchpad.png", "info": "public repositories from Launchpad", "search_pattern": "https://git.launchpad.net/", }, { "type": "nixos", "info_url": "https://nixos.org", "info": "source code tarballs used to build the Nix package collection", "visit_types": ["nixguix"], "search_pattern": ( "https://nix-community.github.io/nixpkgs-swh/sources-unstable.json" ), }, { "type": "npm", "info_url": "https://www.npmjs.com", "info": "public packages from the package registry for javascript", "search_pattern": "https://www.npmjs.com", }, { "type": "opam", "info_url": "https://opam.ocaml.org/", "info": "public packages from the source-based package manager for OCaml", "search_pattern": "opam+https://opam.ocaml.org/", }, # apart our forge, most phabricator origins have not been archived # while they have been listed so do not display those type of origins # until new listing processes have been executed and origins loaded # # { # "type": "phabricator", # "info_url": "https://www.phacility.com/phabricator", # "info": "public repositories from multiple Phabricator instances", # "search_pattern": "phabricator", # }, { "type": "pypi", "info_url": "https://pypi.org", "info": "source packages from the Python Package Index", "search_pattern": "https://pypi.org", }, { "type": "sourceforge", "info_url": "https://sourceforge.net", "info": "public repositories from SourceForge", "search_pattern": "code.sf.net", }, ], } legacy_origins: Dict[str, Any] = { "info": ( "Discontinued hosting services. Those origins have been archived " "by Software Heritage." ), "origins": [ { "type": "gitorious", "info_url": "https://en.wikipedia.org/wiki/Gitorious", "info": ( "public repositories from the former Gitorious code hosting service" ), "visit_types": ["git"], "search_pattern": "https://gitorious.org", "count": "122,014", }, { "type": "googlecode", "info_url": "https://code.google.com/archive", "info": ( "public repositories from the former Google Code project " "hosting service" ), "visit_types": ["git", "hg", "svn"], "search_pattern": "googlecode.com", "count": "790,026", }, { "type": "bitbucket", "info_url": "https://bitbucket.org", "info": "public repositories from Bitbucket", "search_pattern": "https://bitbucket.org/", "visit_types": ["hg"], "count": "336,795", }, ], } deposited_origins: Dict[str, Any] = { "info": ( "These origins are directly pushed into the archive by trusted partners " f'using the deposit service of Software Heritage.' ), "origins": [ { "type": "elife", "info_url": "https://elifesciences.org", "info": ( "research software source code associated to the articles " "eLife publishes" ), "search_pattern": "elife.stencila.io", "visit_types": ["deposit"], }, { "type": "hal", "info_url": "https://hal.archives-ouvertes.fr", "info": "scientific software source code deposited in the open archive HAL", "visit_types": ["deposit"], "search_pattern": "hal.archives-ouvertes.fr", }, { "type": "ipol", "info_url": "https://www.ipol.im", "info": "software artifacts associated to the articles IPOL publishes", "visit_types": ["deposit"], "search_pattern": "doi.org/10.5201", }, ], } _cache_timeout = 60 * 60 # one hour def _get_listers_metrics( cache_metrics: bool = False, ) -> Dict[str, List[Tuple[str, SchedulerMetrics]]]: """Returns scheduler metrics in the following mapping: Dict[lister_name, List[Tuple[instance_name, SchedulerMetrics]]] as a lister instance has one SchedulerMetrics object per visit type. """ @django_cache( timeout=_cache_timeout, catch_exception=True, exception_return_value={}, invalidate_cache_pred=lambda m: not cache_metrics, ) def _get_listers_metrics_internal(): listers_metrics = defaultdict(list) listers = scheduler().get_listers() scheduler_metrics = scheduler().get_metrics() for lister in listers: for metrics in filter( lambda m: m.lister_id == lister.id, scheduler_metrics ): listers_metrics[lister.name].append((lister.instance_name, metrics)) return listers_metrics return _get_listers_metrics_internal() def _get_deposits_netloc_counts(cache_counts: bool = False) -> Counter: """Return deposit counts per origin url network location.""" def _process_origin_url(origin_url): parsed_url = urlparse(origin_url) netloc = parsed_url.netloc # special treatment for doi.org netloc as it is not specific enough # for origins mapping if parsed_url.netloc == "doi.org": netloc += "/" + parsed_url.path.split("/")[1] return netloc @django_cache( timeout=_cache_timeout, catch_exception=True, exception_return_value=Counter(), invalidate_cache_pred=lambda m: not cache_counts, ) def _get_deposits_netloc_counts_internal(): netlocs = [] deposits = get_deposits_list() netlocs = [ _process_origin_url(d["origin_url"]) for d in deposits if d["status"] == "done" ] deposits_netloc_counts = Counter(netlocs) return deposits_netloc_counts return _get_deposits_netloc_counts_internal() def _get_nixguix_origins_count(origin_url: str, cache_count: bool = False) -> int: """Returns number of archived tarballs for NixOS, aka the number of branches in a dedicated origin in the archive. """ @django_cache( timeout=_cache_timeout, catch_exception=True, exception_return_value=0, invalidate_cache_pred=lambda m: not cache_count, ) def _get_nixguix_origins_count_internal(): snapshot = archive.lookup_latest_origin_snapshot(origin_url) if snapshot: snapshot_sizes = archive.lookup_snapshot_sizes(snapshot["id"]) nixguix_origins_count = snapshot_sizes["release"] else: nixguix_origins_count = 0 return nixguix_origins_count return _get_nixguix_origins_count_internal() def _search_url(query: str, visit_type: str) -> str: return reverse( "browse-search", query_params={ "q": query, "visit_type": visit_type, "with_visit": "true", "with_content": "true", }, ) @xframe_options_exempt @never_cache def _swh_coverage(request: HttpRequest) -> HttpResponse: use_cache = is_swh_web_production(request) listers_metrics = _get_listers_metrics(use_cache) for origins in listed_origins["origins"]: origins["instances"] = {} origins_type = origins["type"] # special processing for nixos/guix origins as there is no # scheduler metrics for those if origins_type in ("nixos", "guix"): count = _get_nixguix_origins_count(origins["search_pattern"], use_cache) origins["count"] = f"{count:,}" if count else "" origins["instances"][origins_type] = {"nixguix": {"count": count}} if origins_type not in listers_metrics: continue count_total = sum( [metrics.origins_known for _, metrics in listers_metrics[origins_type]] ) count_never_visited = sum( [ metrics.origins_never_visited for _, metrics in listers_metrics[origins_type] ] ) count = count_total - count_never_visited origins["count"] = f"{count:,}" origins["instances"] = defaultdict(dict) for instance, metrics in listers_metrics[origins_type]: # these types are available in staging/docker but not yet in production if ( metrics.visit_type in ("bzr", "cvs") and metrics.visit_type not in get_savable_visit_types() ): continue instance_count = metrics.origins_known - metrics.origins_never_visited origins["instances"][instance].update( {metrics.visit_type: {"count": f"{instance_count:,}"}} ) origins["visit_types"] = list( set(origins["instances"][instance].keys()) | set(origins.get("visit_types", [])) ) if origins_type == "CRAN": origins["instances"]["cran"]["cran"] = {"count": origins["count"]} # defaultdict cannot be iterated in django template origins["instances"] = dict(origins["instances"]) for origins in listed_origins["origins"]: instances = origins["instances"] nb_instances = len(instances) for instance_name, visit_types in instances.items(): for visit_type in visit_types: if nb_instances > 1: search_pattern = instance_name else: search_pattern = origins["search_pattern"] search_url = _search_url(search_pattern, visit_type) visit_types[visit_type]["search_url"] = search_url for origins in legacy_origins["origins"]: origins["search_urls"] = {} for visit_type in origins["visit_types"]: origins["search_urls"][visit_type] = _search_url( origins["search_pattern"], visit_type ) deposits_counts = _get_deposits_netloc_counts(use_cache) for origins in deposited_origins["origins"]: if origins["search_pattern"] in deposits_counts: origins["count"] = f"{deposits_counts[origins['search_pattern']]:,}" origins["search_urls"] = { "deposit": _search_url(origins["search_pattern"], "deposit") } + focus = [] + focus_param = request.GET.get("focus") + if focus_param: + focus = focus_param.split(",") + return render( request, "misc/coverage.html", { "origins": { "Regular crawling": listed_origins, "Discontinued hosting": legacy_origins, "On demand archival": deposited_origins, - } + }, + "focus": focus, }, ) urlpatterns = [ url(r"^coverage/$", _swh_coverage, name="swh-coverage"), ] diff --git a/swh/web/settings/tests.py b/swh/web/settings/tests.py index bec4b3ae..8e626e7d 100644 --- a/swh/web/settings/tests.py +++ b/swh/web/settings/tests.py @@ -1,130 +1,134 @@ # Copyright (C) 2017-2019 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU Affero General Public License version 3, or any later version # See top-level LICENSE file for more information """ Django tests settings for swh-web. """ import os import sys from swh.web.config import get_config scope1_limiter_rate = 3 scope1_limiter_rate_post = 1 scope2_limiter_rate = 5 scope2_limiter_rate_post = 2 scope3_limiter_rate = 1 scope3_limiter_rate_post = 1 save_origin_rate_post = 5 +api_raw_object_rate = 5 swh_web_config = get_config() _pytest = "pytest" in sys.argv[0] or "PYTEST_XDIST_WORKER" in os.environ swh_web_config.update( { # enable django debug mode only when running pytest "debug": _pytest, "secret_key": "test", "history_counters_url": "", "throttling": { "cache_uri": None, "scopes": { "swh_api": { "limiter_rate": {"default": "60/min"}, "exempted_networks": ["127.0.0.0/8"], }, "swh_api_origin_search": { "limiter_rate": {"default": "100/min"}, "exempted_networks": ["127.0.0.0/8"], }, "swh_api_origin_visit_latest": { "limiter_rate": {"default": "6000/min"}, "exempted_networks": ["127.0.0.0/8"], }, "swh_vault_cooking": { "limiter_rate": {"default": "120/h", "GET": "60/m"}, "exempted_networks": ["127.0.0.0/8"], }, "swh_save_origin": { "limiter_rate": { "default": "120/h", "POST": "%s/h" % save_origin_rate_post, } }, + "swh_raw_object": { + "limiter_rate": {"default": f"{api_raw_object_rate}/h"}, + }, "scope1": { "limiter_rate": { "default": "%s/min" % scope1_limiter_rate, "POST": "%s/min" % scope1_limiter_rate_post, } }, "scope2": { "limiter_rate": { "default": "%s/min" % scope2_limiter_rate, "POST": "%s/min" % scope2_limiter_rate_post, } }, "scope3": { "limiter_rate": { "default": "%s/min" % scope3_limiter_rate, "POST": "%s/min" % scope3_limiter_rate_post, }, "exempted_networks": ["127.0.0.0/8"], }, }, }, "keycloak": { # disable keycloak use when not running pytest "server_url": "http://localhost:8080/auth/" if _pytest else "", "realm_name": "SoftwareHeritage", }, } ) from .common import * # noqa from .common import LOGGING # noqa, isort: skip ALLOWED_HOSTS = ["*"] DATABASES = { "default": { "ENGINE": "django.db.backends.postgresql", "NAME": swh_web_config["test_db"]["name"], } } # when running cypress tests, make the webapp fetch data from memory storages if not _pytest: swh_web_config.update( { "debug": True, "e2e_tests_mode": True, # ensure scheduler not available to avoid side effects in cypress tests "scheduler": {"cls": "remote", "url": ""}, } ) from django.conf import settings from swh.web.tests.data import get_tests_data, override_storages test_data = get_tests_data() override_storages( test_data["storage"], test_data["idx_storage"], test_data["search"], test_data["counters"], ) # using sqlite3 for frontend tests settings.DATABASES["default"].update( {"ENGINE": "django.db.backends.sqlite3", "NAME": "swh-web-test.sqlite3"} ) else: # Silent DEBUG output when running unit tests LOGGING["handlers"]["console"]["level"] = "INFO" # type: ignore diff --git a/swh/web/templates/add_forge_now/common.html b/swh/web/templates/add_forge_now/common.html index a6887447..7569acdb 100644 --- a/swh/web/templates/add_forge_now/common.html +++ b/swh/web/templates/add_forge_now/common.html @@ -1,61 +1,71 @@ {% extends "../layout.html" %} {% comment %} Copyright (C) 2022 The Software Heritage developers See the AUTHORS file at the top-level directory of this distribution License: GNU Affero General Public License version 3, or any later version See top-level LICENSE file for more information {% endcomment %} {% load render_bundle from webpack_loader %} {% load static %} {% block header %} {% render_bundle 'add_forge' %} {% endblock %} {% block title %} Add forge now – Software Heritage archive {% endblock %} {% block navbar-content %}

Request the addition of a forge into the archive

{% endblock %} {% block content %} -
-
-
-
-

- “Add forge now” provides a service for Software Heritage users to save a - complete forge in the Software Heritage archive by requesting the addition - of the forge URL into the list of regularly visited forges. - {% if not user.is_authenticated %} -

- You can submit an “Add forge now” request only when you are authenticated, - please login to submit the request. -

- {% endif %} +
+

+ “Add forge now” provides a service for Software Heritage users to save a + complete forge in the Software Heritage archive by requesting the addition + of the forge URL into the list of regularly visited forges. +

+ {% if not user.is_authenticated %} +

+ You can submit an “Add forge now” request only when you are authenticated, + please login to submit the request.

-
- - -
- - -
- {% block tab_content %} - {% endblock %} -
-
+ {% endif %} +
+ + + + +
+ {% block tab_content %} + {% endblock %} +
{% endblock %} diff --git a/swh/web/templates/add_forge_now/creation_form.html b/swh/web/templates/add_forge_now/creation_form.html index f4e152e2..e6542ac5 100644 --- a/swh/web/templates/add_forge_now/creation_form.html +++ b/swh/web/templates/add_forge_now/creation_form.html @@ -1,116 +1,129 @@ {% extends "./common.html" %} {% comment %} Copyright (C) 2022 The Software Heritage developers See the AUTHORS file at the top-level directory of this distribution License: GNU Affero General Public License version 3, or any later version See top-level LICENSE file for more information {% endcomment %} {% block tab_content %} -
+
{% if not user.is_authenticated %} -

You must be logged in to submit an add forge request. Please log in + {% endif %}>log in

-

{% else %} -
- {% csrf_token %} -
-
- - - - Supported forge types in software archive. - -
+ + {% csrf_token %} +
+
+ + + + Supported forge types in software archive. + +
-
- - - - Remote URL of the forge. - +
+ + + + Remote URL of the forge. + +
-
-
-
- - - - Name of the forge administrator. - -
+
+
+ + + + Name of the forge administrator. + +
-
- - - - Email of the forge administrator. The given email address will not be used for any purpose outside the “add forge now” process. - +
+ + + + Email of the forge administrator. The given email address will not be used + for any purpose outside the “add forge now” process. + +
-
-
-
- - +
+
+ + +
-
-
-
- - - - Optionally, leave a comment to the moderator regarding your request. - +
+
+ + + + Optionally, leave a comment to the moderator regarding your request. + +
-
-
-
- +
+
+ +
-
-
-
-

- -

-

- -

+
+
+

+ +

+

+ +

+
-
- -

- Once an add-forge-request is submitted, its status can be viewed in - the - submitted requests list. This process involves a moderator approval and - might take a few days to handle (it primarily depends on the response - time from the forge). -

+ +

+ Once an add-forge-request is submitted, its status can be viewed in + the + submitted requests list. This process involves a moderator approval and + might take a few days to handle (it primarily depends on the response + time from the forge). +

{% endif %}
{% endblock %} diff --git a/swh/web/templates/add_forge_now/help.html b/swh/web/templates/add_forge_now/help.html index 75ec00f1..650368f2 100644 --- a/swh/web/templates/add_forge_now/help.html +++ b/swh/web/templates/add_forge_now/help.html @@ -1,89 +1,89 @@ {% extends "./common.html" %} {% comment %} Copyright (C) 2022 The Software Heritage developers See the AUTHORS file at the top-level directory of this distribution License: GNU Affero General Public License version 3, or any later version See top-level LICENSE file for more information {% endcomment %} {% block tab_content %} -
-

+

+

For submitting an "Add forge now" request", you have to provide the following details:

  • Forge type:Type of the forge you would like to add. Supported forge types in software heritage currently are:
  • Forge url:The URL of the selected forge. This must be unique.
  • Forge contact name:Contact name of the forge administrator
  • Forge contact email:Contact email of the forge administrator. An email will be sent to the given address to notify about the request.
  • Consent checkbox: This checkbox's purpose is to know whether we can explicitly mention the user's login within the email sent to the forge. If not checked, the user's name won't be mentioned in the email at all.
  • Comment: (Optionally) For the user to mention something more about their request to the add-forge-now moderator.
-

+

Once submitted, your "add forge" request can be in one of the following states

  • Pending: The request was submitted and is waiting for a moderator to validate
  • Waiting for feedback: The request was processed by a moderator and the forge was contacted.
  • Feedback to handle: The forge has responded to the request and there is feedback to handle for the request.
  • Accepted: The request has been accepted.
  • Scheduled: The requested forge listing has been scheduled.
  • First listing done: The first listing of the requested forge has been completed
  • First origin loaded: The first repositories (or origins) from the requested forge have been loaded and archived.
  • Rejected:The request is invalid. It is rejected by a moderator with an explanation.
  • Denied:The forge administrator(s) denied the request to list their forge.
  • Suspended:The forge listing is not supported yet.
{% endblock %} diff --git a/swh/web/templates/add_forge_now/list.html b/swh/web/templates/add_forge_now/list.html index 3b40653e..eb33fa69 100644 --- a/swh/web/templates/add_forge_now/list.html +++ b/swh/web/templates/add_forge_now/list.html @@ -1,24 +1,24 @@ {% extends "./common.html" %} {% comment %} Copyright (C) 2022 The Software Heritage developers See the AUTHORS file at the top-level directory of this distribution License: GNU Affero General Public License version 3, or any later version See top-level LICENSE file for more information {% endcomment %} {% block tab_content %} -
- +
+
Submission date Forge type Forge URL Status
{% endblock %} diff --git a/swh/web/templates/add_forge_now/request-dashboard.html b/swh/web/templates/add_forge_now/request-dashboard.html index 33ee61bd..8fc0f7fc 100644 --- a/swh/web/templates/add_forge_now/request-dashboard.html +++ b/swh/web/templates/add_forge_now/request-dashboard.html @@ -1,120 +1,120 @@ {% extends "../layout.html" %} {% comment %} Copyright (C) 2022 The Software Heritage developers See the AUTHORS file at the top-level directory of this distribution License: GNU Affero General Public License version 3, or any later version See top-level LICENSE file for more information {% endcomment %} {% load render_bundle from webpack_loader %} {% load static %} {% block header %} {% render_bundle 'add_forge' %} {% endblock %} {% block title %}{{heading}} – Software Heritage archive{% endblock %} {% block navbar-content %}

Add forge now request dashboard

{% endblock %} {% block content %}

Error fetching information about the request

-
+
{% csrf_token %}
Enter a comment related to your decision.
- +

Request status

Forge type

Forge URL

Contact name

Consent to use name

Contact email

Message


{% endblock %} diff --git a/swh/web/templates/add_forge_now/requests-moderation.html b/swh/web/templates/add_forge_now/requests-moderation.html index fc9c73d7..b15fde07 100644 --- a/swh/web/templates/add_forge_now/requests-moderation.html +++ b/swh/web/templates/add_forge_now/requests-moderation.html @@ -1,47 +1,47 @@ {% extends "../layout.html" %} {% comment %} Copyright (C) 2022 The Software Heritage developers See the AUTHORS file at the top-level directory of this distribution License: GNU Affero General Public License version 3, or any later version See top-level LICENSE file for more information {% endcomment %} {% load render_bundle from webpack_loader %} {% load static %} {% block header %} {% render_bundle 'add_forge' %} {% endblock %} {% block title %}{{ heading }} – Software Heritage archive{% endblock %} {% block navbar-content %}

Add forge now moderation

{% endblock %} {% block content %} -
-
+
+
ID Submission date Forge type Forge URL Moderator Name Last Modified Date Status

{% endblock %} diff --git a/swh/web/templates/misc/coverage.html b/swh/web/templates/misc/coverage.html index 6121eaa5..fe12fc65 100644 --- a/swh/web/templates/misc/coverage.html +++ b/swh/web/templates/misc/coverage.html @@ -1,151 +1,163 @@ {% comment %} -Copyright (C) 2015-2021 The Software Heritage developers +Copyright (C) 2015-2022 The Software Heritage developers See the AUTHORS file at the top-level directory of this distribution License: GNU Affero General Public License version 3, or any later version See top-level LICENSE file for more information {% endcomment %} {% load js_reverse %} {% load static %} {% load render_bundle from webpack_loader %} Software Heritage archive coverage {% render_bundle 'vendors' %} {% render_bundle 'webapp' %}
-
+

A significant amount of source code has already been ingested in the Software Heritage archive. It notably includes the following software origins.

{% for origins_type, origins_data in origins.items %}
{{ origins_type }}

{{ origins_data.info | safe }}

{% for origins in origins_data.origins %}
-
+
{% with 'img/logos/'|add:origins.type.lower|add:'.png' as png_logo %} {% endwith %} -
-
+
{% if "instances" in origins %} {% for instance, visit_types in origins.instances.items %} {% for visit_type, data in visit_types.items %} {% if data.count %} {% endif %} {% endfor %} {% endfor %} {% else %} {% for visit_type, search_url in origins.search_urls.items %} {% endfor %} {% endif %}
instance type count search
{{ instance }} {{ visit_type }} {{ data.count }}
instance type search
{{ origins.type }} {{ visit_type }}
{% endfor %}
{% endfor %}
JavaScript license information + diff --git a/swh/web/tests/add_forge_now/test_models.py b/swh/web/tests/add_forge_now/test_models.py index 86e896f1..e9e617e2 100644 --- a/swh/web/tests/add_forge_now/test_models.py +++ b/swh/web/tests/add_forge_now/test_models.py @@ -1,26 +1,38 @@ # Copyright (C) 2022 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU Affero General Public License version 3, or any later version # See top-level LICENSE file for more information import pytest -from swh.web.add_forge_now.models import RequestStatus +from swh.web.add_forge_now.models import Request, RequestStatus @pytest.mark.parametrize( "current_status, allowed_next_statuses", [ ( RequestStatus.PENDING, [ RequestStatus.WAITING_FOR_FEEDBACK, RequestStatus.REJECTED, RequestStatus.SUSPENDED, ], ), (RequestStatus.WAITING_FOR_FEEDBACK, [RequestStatus.FEEDBACK_TO_HANDLE]), ], ) def test_allowed_next_statuses(current_status, allowed_next_statuses): assert current_status.allowed_next_statuses() == allowed_next_statuses + + +@pytest.mark.parametrize( + "forge_url, expected_domain", + [ + ("https://gitlab.example.com/foo/bar", "gitlab.example.com"), + ("gitlab.example.com", "gitlab.example.com"), + ("gitlab.example.com/foo/bar", "gitlab.example.com"), + ], +) +def test_request_forge_domain(forge_url, expected_domain): + assert Request(forge_url=forge_url).forge_domain == expected_domain diff --git a/swh/web/tests/api/views/test_add_forge_now.py b/swh/web/tests/api/views/test_add_forge_now.py index 58eeb752..adeb0ad1 100644 --- a/swh/web/tests/api/views/test_add_forge_now.py +++ b/swh/web/tests/api/views/test_add_forge_now.py @@ -1,548 +1,629 @@ # Copyright (C) 2022 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU Affero General Public License version 3, or any later version # See top-level LICENSE file for more information import datetime import threading import time from typing import Dict -from urllib.parse import urlencode +from urllib.parse import urlencode, urlparse import iso8601 import pytest -from swh.web.add_forge_now.models import Request +from swh.web.add_forge_now.models import Request, RequestHistory from swh.web.common.utils import reverse +from swh.web.config import get_config +from swh.web.inbound_email.utils import get_address_for_pk from swh.web.tests.utils import ( check_api_get_responses, check_api_post_response, + check_http_get_response, check_http_post_response, ) @pytest.mark.django_db def test_add_forge_request_create_anonymous_user(api_client): url = reverse("api-1-add-forge-request-create") check_api_post_response(api_client, url, status_code=403) @pytest.mark.django_db def test_add_forge_request_create_empty(api_client, regular_user): api_client.force_login(regular_user) url = reverse("api-1-add-forge-request-create") resp = check_api_post_response(api_client, url, status_code=400) assert '"forge_type"' in resp.data["reason"] ADD_FORGE_DATA_FORGE1: Dict = { "forge_type": "gitlab", "forge_url": "https://gitlab.example.org", "forge_contact_email": "admin@gitlab.example.org", "forge_contact_name": "gitlab.example.org admin", "forge_contact_comment": "user marked as owner in forge members", "submitter_forward_username": True, } ADD_FORGE_DATA_FORGE2: Dict = { "forge_type": "gitea", "forge_url": "https://gitea.example.org", "forge_contact_email": "admin@gitea.example.org", "forge_contact_name": "gitea.example.org admin", "forge_contact_comment": "user marked as owner in forge members", "submitter_forward_username": True, } ADD_FORGE_DATA_FORGE3: Dict = { "forge_type": "heptapod", "forge_url": "https://heptapod.host/", "forge_contact_email": "admin@example.org", "forge_contact_name": "heptapod admin", "forge_contact_comment": "", # authorized empty or null comment "submitter_forward_username": False, } ADD_FORGE_DATA_FORGE4: Dict = { **ADD_FORGE_DATA_FORGE3, "forge_url": "https://heptapod2.host/", "submitter_forward_username": "on", } ADD_FORGE_DATA_FORGE5: Dict = { **ADD_FORGE_DATA_FORGE3, "forge_url": "https://heptapod3.host/", "submitter_forward_username": "off", } +def inbound_email_for_pk(pk: int) -> str: + """Check that the inbound email matches the one expected for the given pk""" + + base_address = get_config()["add_forge_now"]["email_address"] + return get_address_for_pk( + salt="swh_web_add_forge_now", base_address=base_address, pk=pk + ) + + @pytest.mark.django_db(transaction=True, reset_sequences=True) @pytest.mark.parametrize( "add_forge_data", [ ADD_FORGE_DATA_FORGE1, ADD_FORGE_DATA_FORGE2, ADD_FORGE_DATA_FORGE3, ADD_FORGE_DATA_FORGE4, ], ) def test_add_forge_request_create_success_post( api_client, regular_user, add_forge_data ): api_client.force_login(regular_user) url = reverse("api-1-add-forge-request-create") date_before = datetime.datetime.now(tz=datetime.timezone.utc) resp = check_api_post_response( api_client, url, data=add_forge_data, status_code=201, ) date_after = datetime.datetime.now(tz=datetime.timezone.utc) consent = add_forge_data["submitter_forward_username"] # map the expected result with what's expectedly read from the db to ease comparison expected_consent_bool = consent == "on" if isinstance(consent, str) else consent assert resp.data == { **add_forge_data, "id": resp.data["id"], "status": "PENDING", "submission_date": resp.data["submission_date"], "submitter_name": regular_user.username, "submitter_email": regular_user.email, "submitter_forward_username": expected_consent_bool, "last_moderator": resp.data["last_moderator"], "last_modified_date": resp.data["last_modified_date"], + "inbound_email_address": inbound_email_for_pk(resp.data["id"]), + "forge_domain": urlparse(add_forge_data["forge_url"]).netloc, } assert date_before < iso8601.parse_date(resp.data["submission_date"]) < date_after request = Request.objects.all().last() assert request.forge_url == add_forge_data["forge_url"] assert request.submitter_name == regular_user.username @pytest.mark.django_db(transaction=True, reset_sequences=True) def test_add_forge_request_create_success_form_encoded(client, regular_user): client.force_login(regular_user) url = reverse("api-1-add-forge-request-create") date_before = datetime.datetime.now(tz=datetime.timezone.utc) resp = check_http_post_response( client, url, request_content_type="application/x-www-form-urlencoded", data=urlencode(ADD_FORGE_DATA_FORGE1), status_code=201, ) date_after = datetime.datetime.now(tz=datetime.timezone.utc) assert resp.data == { **ADD_FORGE_DATA_FORGE1, "id": resp.data["id"], "status": "PENDING", "submission_date": resp.data["submission_date"], "submitter_name": regular_user.username, "submitter_email": regular_user.email, "last_moderator": resp.data["last_moderator"], "last_modified_date": resp.data["last_modified_date"], + "inbound_email_address": inbound_email_for_pk(1), + "forge_domain": urlparse(ADD_FORGE_DATA_FORGE1["forge_url"]).netloc, } assert date_before < iso8601.parse_date(resp.data["submission_date"]) < date_after request = Request.objects.all()[0] assert request.forge_url == ADD_FORGE_DATA_FORGE1["forge_url"] assert request.submitter_name == regular_user.username @pytest.mark.django_db(transaction=True, reset_sequences=True) def test_add_forge_request_create_duplicate(api_client, regular_user): api_client.force_login(regular_user) url = reverse("api-1-add-forge-request-create") check_api_post_response( api_client, url, data=ADD_FORGE_DATA_FORGE1, status_code=201, ) check_api_post_response( api_client, url, data=ADD_FORGE_DATA_FORGE1, status_code=409, ) requests = Request.objects.all() assert len(requests) == 1 @pytest.mark.django_db(transaction=True, reset_sequences=True) def test_add_forge_request_update_anonymous_user(api_client): url = reverse("api-1-add-forge-request-update", url_args={"id": 1}) check_api_post_response(api_client, url, status_code=403) @pytest.mark.django_db(transaction=True, reset_sequences=True) def test_add_forge_request_update_regular_user(api_client, regular_user): api_client.force_login(regular_user) url = reverse("api-1-add-forge-request-update", url_args={"id": 1}) check_api_post_response(api_client, url, status_code=403) @pytest.mark.django_db(transaction=True, reset_sequences=True) def test_add_forge_request_update_non_existent(api_client, add_forge_moderator): api_client.force_login(add_forge_moderator) url = reverse("api-1-add-forge-request-update", url_args={"id": 1}) check_api_post_response(api_client, url, status_code=400) def create_add_forge_request(api_client, regular_user, data=ADD_FORGE_DATA_FORGE1): api_client.force_login(regular_user) url = reverse("api-1-add-forge-request-create") return check_api_post_response( api_client, url, data=data, status_code=201, ) @pytest.mark.django_db(transaction=True, reset_sequences=True) def test_add_forge_request_update_empty(api_client, regular_user, add_forge_moderator): create_add_forge_request(api_client, regular_user) api_client.force_login(add_forge_moderator) url = reverse("api-1-add-forge-request-update", url_args={"id": 1}) check_api_post_response(api_client, url, status_code=400) @pytest.mark.django_db(transaction=True, reset_sequences=True) def test_add_forge_request_update_missing_field( api_client, regular_user, add_forge_moderator ): create_add_forge_request(api_client, regular_user) api_client.force_login(add_forge_moderator) url = reverse("api-1-add-forge-request-update", url_args={"id": 1}) check_api_post_response(api_client, url, data={}, status_code=400) check_api_post_response( api_client, url, data={"new_status": "REJECTED"}, status_code=400 ) @pytest.mark.django_db(transaction=True, reset_sequences=True) def test_add_forge_request_update(api_client, regular_user, add_forge_moderator): create_add_forge_request(api_client, regular_user) api_client.force_login(add_forge_moderator) url = reverse("api-1-add-forge-request-update", url_args={"id": 1}) check_api_post_response( api_client, url, data={"text": "updating request"}, status_code=200 ) check_api_post_response( api_client, url, data={"new_status": "REJECTED", "text": "request rejected"}, status_code=200, ) @pytest.mark.django_db(transaction=True, reset_sequences=True) def test_add_forge_request_update_invalid_new_status( api_client, regular_user, add_forge_moderator ): create_add_forge_request(api_client, regular_user) api_client.force_login(add_forge_moderator) url = reverse("api-1-add-forge-request-update", url_args={"id": 1}) check_api_post_response( api_client, url, data={"new_status": "ACCEPTED", "text": "request accepted"}, status_code=400, ) @pytest.mark.django_db(transaction=True, reset_sequences=True) def test_add_forge_request_update_status_concurrent( api_client, regular_user, add_forge_moderator, mocker ): _block_while_testing = mocker.patch( "swh.web.api.views.add_forge_now._block_while_testing" ) _block_while_testing.side_effect = lambda: time.sleep(1) create_add_forge_request(api_client, regular_user) api_client.force_login(add_forge_moderator) url = reverse("api-1-add-forge-request-update", url_args={"id": 1}) worker_ended = False def worker(): nonlocal worker_ended check_api_post_response( api_client, url, data={"new_status": "WAITING_FOR_FEEDBACK", "text": "waiting for message"}, status_code=200, ) worker_ended = True # this thread will first modify the request status to WAITING_FOR_FEEDBACK thread = threading.Thread(target=worker) thread.start() # the other thread (slower) will attempt to modify the request status to REJECTED # but it will not be allowed as the first faster thread already modified it # and REJECTED state can not be reached from WAITING_FOR_FEEDBACK one time.sleep(0.5) check_api_post_response( api_client, url, data={"new_status": "REJECTED", "text": "request accepted"}, status_code=400, ) thread.join() assert worker_ended @pytest.mark.django_db(transaction=True, reset_sequences=True) def test_add_forge_request_list_anonymous(api_client, regular_user): url = reverse("api-1-add-forge-request-list") resp = check_api_get_responses(api_client, url, status_code=200) assert resp.data == [] create_add_forge_request(api_client, regular_user) resp = check_api_get_responses(api_client, url, status_code=200) add_forge_request = { "forge_url": ADD_FORGE_DATA_FORGE1["forge_url"], "forge_type": ADD_FORGE_DATA_FORGE1["forge_type"], "status": "PENDING", "submission_date": resp.data[0]["submission_date"], "id": resp.data[0]["id"], } assert resp.data == [add_forge_request] create_add_forge_request(api_client, regular_user, data=ADD_FORGE_DATA_FORGE2) resp = check_api_get_responses(api_client, url, status_code=200) other_forge_request = { "forge_url": ADD_FORGE_DATA_FORGE2["forge_url"], "forge_type": ADD_FORGE_DATA_FORGE2["forge_type"], "status": "PENDING", "submission_date": resp.data[0]["submission_date"], "id": resp.data[0]["id"], } assert resp.data == [other_forge_request, add_forge_request] @pytest.mark.django_db(transaction=True, reset_sequences=True) def test_add_forge_request_list_moderator( api_client, regular_user, add_forge_moderator ): url = reverse("api-1-add-forge-request-list") create_add_forge_request(api_client, regular_user) create_add_forge_request(api_client, regular_user, data=ADD_FORGE_DATA_FORGE2) api_client.force_login(add_forge_moderator) resp = check_api_get_responses(api_client, url, status_code=200) add_forge_request = { **ADD_FORGE_DATA_FORGE1, "status": "PENDING", "submission_date": resp.data[1]["submission_date"], "submitter_name": regular_user.username, "submitter_email": regular_user.email, "last_moderator": resp.data[1]["last_moderator"], "last_modified_date": resp.data[1]["last_modified_date"], "id": resp.data[1]["id"], + "inbound_email_address": inbound_email_for_pk(resp.data[1]["id"]), + "forge_domain": urlparse(ADD_FORGE_DATA_FORGE1["forge_url"]).netloc, } other_forge_request = { **ADD_FORGE_DATA_FORGE2, "status": "PENDING", "submission_date": resp.data[0]["submission_date"], "submitter_name": regular_user.username, "submitter_email": regular_user.email, "last_moderator": resp.data[0]["last_moderator"], "last_modified_date": resp.data[0]["last_modified_date"], "id": resp.data[0]["id"], + "inbound_email_address": inbound_email_for_pk(resp.data[0]["id"]), + "forge_domain": urlparse(ADD_FORGE_DATA_FORGE2["forge_url"]).netloc, } assert resp.data == [other_forge_request, add_forge_request] @pytest.mark.django_db(transaction=True, reset_sequences=True) def test_add_forge_request_list_pagination( api_client, regular_user, api_request_factory ): create_add_forge_request(api_client, regular_user) create_add_forge_request(api_client, regular_user, data=ADD_FORGE_DATA_FORGE2) url = reverse("api-1-add-forge-request-list", query_params={"per_page": 1}) resp = check_api_get_responses(api_client, url, 200) assert len(resp.data) == 1 request = api_request_factory.get(url) next_url = reverse( "api-1-add-forge-request-list", query_params={"page": 2, "per_page": 1}, request=request, ) assert resp["Link"] == f'<{next_url}>; rel="next"' resp = check_api_get_responses(api_client, next_url, 200) assert len(resp.data) == 1 prev_url = reverse( "api-1-add-forge-request-list", query_params={"page": 1, "per_page": 1}, request=request, ) assert resp["Link"] == f'<{prev_url}>; rel="previous"' @pytest.mark.django_db(transaction=True, reset_sequences=True) def test_add_forge_request_list_submitter_filtering( api_client, regular_user, regular_user2 ): create_add_forge_request(api_client, regular_user) create_add_forge_request(api_client, regular_user2, data=ADD_FORGE_DATA_FORGE2) api_client.force_login(regular_user) url = reverse( "api-1-add-forge-request-list", query_params={"user_requests_only": 1} ) resp = check_api_get_responses(api_client, url, status_code=200) assert len(resp.data) == 1 @pytest.mark.django_db(transaction=True, reset_sequences=True) def test_add_forge_request_get(api_client, regular_user, add_forge_moderator): resp = create_add_forge_request(api_client, regular_user) submission_date = resp.data["submission_date"] url = reverse("api-1-add-forge-request-update", url_args={"id": 1}) api_client.force_login(add_forge_moderator) check_api_post_response( api_client, url, data={"new_status": "WAITING_FOR_FEEDBACK", "text": "waiting for message"}, status_code=200, ) api_client.logout() url = reverse("api-1-add-forge-request-get", url_args={"id": 1}) resp = check_api_get_responses(api_client, url, status_code=200) assert resp.data == { "request": { "forge_url": ADD_FORGE_DATA_FORGE1["forge_url"], "forge_type": ADD_FORGE_DATA_FORGE1["forge_type"], "id": 1, "status": "WAITING_FOR_FEEDBACK", "submission_date": submission_date, }, "history": [ { "id": 1, "actor_role": "SUBMITTER", "date": resp.data["history"][0]["date"], "new_status": "PENDING", }, { "id": 2, "actor_role": "MODERATOR", "date": resp.data["history"][1]["date"], "new_status": "WAITING_FOR_FEEDBACK", }, ], } @pytest.mark.django_db(transaction=True, reset_sequences=True) def test_add_forge_request_get_moderator(api_client, regular_user, add_forge_moderator): resp = create_add_forge_request(api_client, regular_user) submission_date = resp.data["submission_date"] url = reverse("api-1-add-forge-request-update", url_args={"id": 1}) api_client.force_login(add_forge_moderator) check_api_post_response( api_client, url, data={"new_status": "WAITING_FOR_FEEDBACK", "text": "waiting for message"}, status_code=200, ) url = reverse("api-1-add-forge-request-get", url_args={"id": 1}) resp = check_api_get_responses(api_client, url, status_code=200) resp.data["history"] = [dict(history_item) for history_item in resp.data["history"]] assert resp.data == { "request": { **ADD_FORGE_DATA_FORGE1, "id": 1, "status": "WAITING_FOR_FEEDBACK", "submission_date": submission_date, "submitter_name": regular_user.username, "submitter_email": regular_user.email, "last_moderator": add_forge_moderator.username, "last_modified_date": resp.data["history"][1]["date"], + "inbound_email_address": inbound_email_for_pk(1), + "forge_domain": urlparse(ADD_FORGE_DATA_FORGE1["forge_url"]).netloc, }, "history": [ { "id": 1, "text": "", "actor": regular_user.username, "actor_role": "SUBMITTER", "date": resp.data["history"][0]["date"], "new_status": "PENDING", + "message_source_url": None, }, { "id": 2, "text": "waiting for message", "actor": add_forge_moderator.username, "actor_role": "MODERATOR", "date": resp.data["history"][1]["date"], "new_status": "WAITING_FOR_FEEDBACK", + "message_source_url": None, }, ], } +@pytest.mark.django_db(transaction=True, reset_sequences=True) +def test_add_forge_request_get_moderator_message_source( + api_client, regular_user, add_forge_moderator +): + resp = create_add_forge_request(api_client, regular_user) + + rh = RequestHistory( + request=Request.objects.get(pk=resp.data["id"]), + new_status="WAITING_FOR_FEEDBACK", + text="waiting for message", + actor=add_forge_moderator.username, + actor_role="MODERATOR", + message_source=b"test with a message source", + ) + rh.save() + + api_client.force_login(add_forge_moderator) + url = reverse("api-1-add-forge-request-get", url_args={"id": resp.data["id"]}) + resp = check_api_get_responses(api_client, url, status_code=200) + resp.data["history"] = [dict(history_item) for history_item in resp.data["history"]] + + # Check that the authentified moderator can't urlhack non-existent message sources + assert resp.data["history"][0]["message_source_url"] is None + empty_message_url = reverse( + "forge-add-message-source", url_args={"id": resp.data["history"][0]["id"]} + ) + check_http_get_response(api_client, empty_message_url, status_code=404) + + # Check that the authentified moderator can't urlhack non-existent message sources + non_existent_message_url = reverse( + "forge-add-message-source", url_args={"id": 9001} + ) + check_http_get_response(api_client, non_existent_message_url, status_code=404) + + # Check that the authentified moderator can access the message source when the url is + # given + + message_source_url = resp.data["history"][-1]["message_source_url"] + assert message_source_url is not None + + message_source_resp = check_http_get_response( + api_client, message_source_url, status_code=200, content_type="text/email" + ) + + # Check that the message source shows up as an attachment + assert message_source_resp.content == rh.message_source + disposition = message_source_resp["Content-Disposition"] + assert disposition.startswith("attachment; filename=") + assert disposition.endswith('.eml"') + + # Check that a regular user can't access message sources + api_client.force_login(regular_user) + check_http_get_response(api_client, message_source_url, status_code=302) + + api_client.force_login(add_forge_moderator) + + @pytest.mark.django_db(transaction=True, reset_sequences=True) def test_add_forge_request_get_invalid(api_client): url = reverse("api-1-add-forge-request-get", url_args={"id": 3}) check_api_get_responses(api_client, url, status_code=400) diff --git a/swh/web/tests/api/views/test_raw.py b/swh/web/tests/api/views/test_raw.py index 73369fdb..5e502b65 100644 --- a/swh/web/tests/api/views/test_raw.py +++ b/swh/web/tests/api/views/test_raw.py @@ -1,58 +1,115 @@ # Copyright (C) 2022 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU Affero General Public License version 3, or any later version # See top-level LICENSE file for more information import hashlib +import pytest + from swh.model.hashutil import hash_to_bytes +from swh.web.api.throttling import SwhWebUserRateThrottle +from swh.web.auth.utils import API_RAW_OBJECT_PERMISSION from swh.web.common.utils import reverse +from swh.web.settings.tests import api_raw_object_rate from swh.web.tests.utils import ( check_api_get_responses, check_http_get_response, + create_django_permission, ) -def test_api_raw_not_found(api_client, unknown_core_swhid): +@pytest.fixture +def privileged_user(regular_user): + regular_user.user_permissions.add( + create_django_permission(API_RAW_OBJECT_PERMISSION) + ) + return regular_user + + +@pytest.mark.django_db +def test_api_raw_forbidden_for_anonymous_user(api_client, unknown_core_swhid): + url = reverse("api-1-raw-object", url_args={"swhid": str(unknown_core_swhid)}) + check_api_get_responses(api_client, url, status_code=403) + + +@pytest.mark.django_db +def test_api_raw_forbidden_for_user_without_permission( + api_client, regular_user, unknown_core_swhid +): + api_client.force_login(regular_user) + url = reverse("api-1-raw-object", url_args={"swhid": str(unknown_core_swhid)}) + check_api_get_responses(api_client, url, status_code=403) + + +@pytest.mark.django_db +def test_api_raw_not_found(api_client, unknown_core_swhid, staff_user): + api_client.force_login(staff_user) url = reverse("api-1-raw-object", url_args={"swhid": str(unknown_core_swhid)}) rv = check_api_get_responses(api_client, url, status_code=404) assert rv.data == { "exception": "NotFoundExc", "reason": f"Object with id {unknown_core_swhid} not found.", } -def _test_api_raw_hash(api_client, archive_data, object_id, object_ty): +def _test_api_raw_hash(api_client, privileged_user, archive_data, object_id, object_ty): + api_client.force_login(privileged_user) url = reverse( "api-1-raw-object", url_args={"swhid": f"swh:1:{object_ty}:{object_id}"}, ) rv = check_http_get_response(api_client, url, status_code=200) assert rv["Content-Type"] == "application/octet-stream" assert ( rv["Content-disposition"] == f"attachment; filename=swh_1_{object_ty}_{object_id}_raw" ) sha1_git = hashlib.new("sha1", rv.content).digest() assert sha1_git == hash_to_bytes(object_id) -def test_api_raw_content(api_client, archive_data, content): - _test_api_raw_hash(api_client, archive_data, content["sha1_git"], "cnt") +@pytest.mark.django_db +def test_api_raw_content(api_client, archive_data, content, privileged_user): + _test_api_raw_hash( + api_client, privileged_user, archive_data, content["sha1_git"], "cnt" + ) + + +@pytest.mark.django_db +def test_api_raw_directory(api_client, archive_data, directory, privileged_user): + _test_api_raw_hash(api_client, privileged_user, archive_data, directory, "dir") + + +@pytest.mark.django_db +def test_api_raw_revision(api_client, archive_data, revision, privileged_user): + _test_api_raw_hash(api_client, privileged_user, archive_data, revision, "rev") -def test_api_raw_directory(api_client, archive_data, directory): - _test_api_raw_hash(api_client, archive_data, directory, "dir") +@pytest.mark.django_db +def test_api_raw_release(api_client, archive_data, release, privileged_user): + _test_api_raw_hash(api_client, privileged_user, archive_data, release, "rel") -def test_api_raw_revision(api_client, archive_data, revision): - _test_api_raw_hash(api_client, archive_data, revision, "rev") +@pytest.mark.django_db +def test_api_raw_snapshot(api_client, archive_data, snapshot, privileged_user): + _test_api_raw_hash(api_client, privileged_user, archive_data, snapshot, "snp") -def test_api_raw_release(api_client, archive_data, release): - _test_api_raw_hash(api_client, archive_data, release, "rel") +@pytest.mark.django_db +def test_api_raw_no_rate_limit_for_privileged_user( + api_client, revision, privileged_user +): + + api_client.force_login(privileged_user) + + url = reverse( + "api-1-raw-object", + url_args={"swhid": f"swh:1:rev:{revision}"}, + ) + for _ in range(api_raw_object_rate * SwhWebUserRateThrottle.NUM_REQUESTS_FACTOR): + check_http_get_response(api_client, url, status_code=200) -def test_api_raw_snapshot(api_client, archive_data, snapshot): - _test_api_raw_hash(api_client, archive_data, snapshot, "snp") + check_http_get_response(api_client, url, status_code=200) diff --git a/swh/web/tests/misc/test_coverage.py b/swh/web/tests/misc/test_coverage.py index f35501ff..c0bf6a00 100644 --- a/swh/web/tests/misc/test_coverage.py +++ b/swh/web/tests/misc/test_coverage.py @@ -1,131 +1,166 @@ # Copyright (C) 2021-2022 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU Affero General Public License version 3, or any later version # See top-level LICENSE file for more information from datetime import datetime, timezone from itertools import chain import os -from random import randint +from random import choices, randint import uuid +import pytest + from django.conf import settings from django.utils.html import escape from swh.scheduler.model import LastVisitStatus, ListedOrigin, OriginVisitStats from swh.web.common.utils import reverse from swh.web.config import SWH_WEB_SERVER_NAME from swh.web.misc.coverage import deposited_origins, legacy_origins, listed_origins from swh.web.tests.django_asserts import assert_contains from swh.web.tests.utils import check_html_get_response, check_http_get_response def test_coverage_view_no_metrics(client, swh_scheduler): """ Check coverage view can be rendered when scheduler metrics and deposits data are not available. """ url = reverse("swh-coverage") check_html_get_response( client, url, status_code=200, template_used="misc/coverage.html" ) -def test_coverage_view_with_metrics(client, swh_scheduler, mocker): - """ - Generate some sample scheduler metrics and some sample deposits - that will be consumed by the archive coverage view, then check - the HTML page gets rendered without errors. - """ +visit_types = ["git", "hg", "svn", "bzr", "svn"] + +@pytest.fixture(autouse=True) +def archive_coverage_data(mocker, swh_scheduler): + """Generate some sample scheduler metrics and some sample deposits + that will be consumed by the archive coverage view. + """ # mock calls to get nixguix origin counts mock_archive = mocker.patch("swh.web.misc.coverage.archive") mock_archive.lookup_latest_origin_snapshot.return_value = {"id": "some-snapshot"} mock_archive.lookup_snapshot_sizes.return_value = {"release": 30095} listers = [] - visit_types = ["git", "hg", "svn", "bzr", "svn"] for origins in listed_origins["origins"]: # create some instances for each lister for instance in range(randint(1, 5)): lister = swh_scheduler.get_or_create_lister( origins["type"], f"instance-{instance}" ) listers.append(lister) # record some sample listed origins _origins = [] origin_visit_stats = [] for i, visit_type in enumerate(visit_types): url = str(uuid.uuid4()) _origins.append( ListedOrigin( lister_id=lister.id, url=url, visit_type=visit_type, extra_loader_arguments={}, ) ) # set origin visit stats to some origins if i % 2 == 0: now = datetime.now(tz=timezone.utc) origin_visit_stats.append( OriginVisitStats( url=url, visit_type=visit_type, last_successful=now, last_visit=now, last_visit_status=LastVisitStatus.successful, last_snapshot=os.urandom(20), ) ) # send origins data to scheduler swh_scheduler.record_listed_origins(_origins) swh_scheduler.origin_visit_stats_upsert(origin_visit_stats) # compute scheduler metrics swh_scheduler.update_metrics() # add some sample deposits deposits = [] for origins in deposited_origins["origins"]: for _ in range(randint(2, 10)): deposits.append( { "origin_url": f"https://{origins['search_pattern']}/{uuid.uuid4()}", "status": "done", } ) get_deposits_list = mocker.patch("swh.web.misc.coverage.get_deposits_list") get_deposits_list.return_value = deposits + +def test_coverage_view_with_metrics(client): # check view gets rendered without errors url = reverse("swh-coverage") resp = check_html_get_response( client, url, status_code=200, template_used="misc/coverage.html" ) # check logos and origins search links are present in the rendered page for origins in chain( listed_origins["origins"], legacy_origins["origins"], deposited_origins["origins"], ): logo_url = f'{settings.STATIC_URL}img/logos/{origins["type"].lower()}.png' assert_contains(resp, f'src="{logo_url}"') if "instances" in origins: for visit_types_ in origins["instances"].values(): for data in visit_types_.values(): if data["count"]: assert_contains(resp, f'{visit_type}") # check request as in production with cache enabled check_http_get_response( client, url, status_code=200, server_name=SWH_WEB_SERVER_NAME ) + + +def test_coverage_view_with_focus(client): + + origins = ( + listed_origins["origins"] + + legacy_origins["origins"] + + deposited_origins["origins"] + ) + + focus = choices([o["type"] for o in origins], k=randint(1, 3)) + + # check view gets rendered without errors + url = reverse("swh-coverage", query_params={"focus": ",".join(focus)}) + resp = check_html_get_response( + client, url, status_code=200, template_used="misc/coverage.html" + ) + + # check focused elements + assert_contains( + resp, + "swh-coverage-focus", + count=len([o for o in origins if o["type"] in focus]), + ) + + # check bootstrap cards are expanded + assert_contains( + resp, + 'class="collapse show"', + count=len(origins), + )