├── vendors ├── c3 │ ├── src │ │ └── scss │ │ │ ├── select_drag.scss │ │ │ ├── line.scss │ │ │ ├── title.scss │ │ │ ├── brush.scss │ │ │ ├── area.scss │ │ │ ├── region.scss │ │ │ ├── text.scss │ │ │ ├── bar.scss │ │ │ ├── point.scss │ │ │ ├── grid.scss │ │ │ ├── axis.scss │ │ │ ├── focus.scss │ │ │ ├── legend.scss │ │ │ ├── chart.scss │ │ │ ├── arc.scss │ │ │ ├── main.scss │ │ │ └── tooltip.scss │ ├── extensions │ │ ├── exporter │ │ │ ├── test.png │ │ │ ├── config.json │ │ │ └── phantom-exporter.js │ │ ├── chart-bubble │ │ │ ├── index.html │ │ │ └── bubble.js │ │ └── js │ │ │ └── c3ext.js │ ├── codecov.yml │ ├── rollup.config.js │ ├── circle.yml │ ├── bower.json │ ├── karma.conf.js │ ├── .bower.json │ ├── LICENSE │ ├── CONTRIBUTING.md │ ├── c3.min.css │ ├── README.md │ └── c3.css ├── d3 │ ├── bower.json │ ├── .bower.json │ ├── README.md │ └── LICENSE └── moment.min.js ├── .gitignore ├── images └── issueTrackerPreview.png ├── Function ├── README.md ├── package.json ├── index.js └── package-lock.json ├── style.css ├── grabData.js ├── package.json ├── LICENSE ├── README.md ├── index.html ├── main.js └── data.js /vendors/c3/src/scss/select_drag.scss: -------------------------------------------------------------------------------- 1 | .c3-dragarea { 2 | } 3 | -------------------------------------------------------------------------------- /vendors/c3/src/scss/line.scss: -------------------------------------------------------------------------------- 1 | .c3-line { 2 | stroke-width: 1px; 3 | } 4 | -------------------------------------------------------------------------------- /vendors/c3/src/scss/title.scss: -------------------------------------------------------------------------------- 1 | .c3-title { 2 | font: 14px sans-serif; 3 | } 4 | -------------------------------------------------------------------------------- /vendors/c3/src/scss/brush.scss: -------------------------------------------------------------------------------- 1 | .c3-brush .extent { 2 | fill-opacity: .1; 3 | } 4 | -------------------------------------------------------------------------------- /vendors/c3/src/scss/area.scss: -------------------------------------------------------------------------------- 1 | .c3-area { 2 | stroke-width: 0; 3 | opacity: 0.2; 4 | } 5 | -------------------------------------------------------------------------------- /vendors/c3/src/scss/region.scss: -------------------------------------------------------------------------------- 1 | .c3-region { 2 | fill: steelblue; 3 | fill-opacity: .1; 4 | } 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .env 3 | .env.schema 4 | accountKey.json 5 | vscodeFunc.zip 6 | update-page.sh -------------------------------------------------------------------------------- /images/issueTrackerPreview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lannonbr/vscode-issue-tracker/HEAD/images/issueTrackerPreview.png -------------------------------------------------------------------------------- /vendors/c3/src/scss/text.scss: -------------------------------------------------------------------------------- 1 | .c3-text { 2 | } 3 | 4 | .c3-text.c3-empty { 5 | fill: #808080; 6 | font-size: 2em; 7 | } 8 | -------------------------------------------------------------------------------- /vendors/c3/extensions/exporter/test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lannonbr/vscode-issue-tracker/HEAD/vendors/c3/extensions/exporter/test.png -------------------------------------------------------------------------------- /vendors/c3/codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | status: 3 | project: 4 | default: 5 | threshold: 0.4 6 | patch: no 7 | change: no 8 | -------------------------------------------------------------------------------- /vendors/c3/src/scss/bar.scss: -------------------------------------------------------------------------------- 1 | .c3-bar { 2 | stroke-width: 0; 3 | } 4 | .c3-bar._expanded_ { 5 | fill-opacity: 1; 6 | fill-opacity: 0.75; 7 | } 8 | -------------------------------------------------------------------------------- /Function/README.md: -------------------------------------------------------------------------------- 1 | This is a Lambda function which runs once an hour and grabs the current data from the Github API and stores it in a Firebase Firestore database 2 | -------------------------------------------------------------------------------- /vendors/c3/src/scss/point.scss: -------------------------------------------------------------------------------- 1 | .c3-circle._expanded_ { 2 | stroke-width: 1px; 3 | stroke: white; 4 | } 5 | .c3-selected-circle { 6 | fill: white; 7 | stroke-width: 2px; 8 | } 9 | -------------------------------------------------------------------------------- /vendors/d3/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "d3", 3 | "description": "A JavaScript visualization library for HTML and SVG.", 4 | "main": "d3.js", 5 | "license": "BSD-3-Clause", 6 | "ignore": [] 7 | } 8 | -------------------------------------------------------------------------------- /vendors/c3/src/scss/grid.scss: -------------------------------------------------------------------------------- 1 | .c3-grid line { 2 | stroke: #aaa; 3 | } 4 | .c3-grid text { 5 | fill: #aaa; 6 | } 7 | .c3-xgrid, .c3-ygrid { 8 | stroke-dasharray: 3 3; 9 | } 10 | .c3-xgrid-focus { 11 | } 12 | -------------------------------------------------------------------------------- /vendors/c3/src/scss/axis.scss: -------------------------------------------------------------------------------- 1 | .c3-axis-x .tick { 2 | } 3 | .c3-axis-x-label { 4 | } 5 | 6 | .c3-axis-y .tick { 7 | } 8 | .c3-axis-y-label { 9 | } 10 | 11 | .c3-axis-y2 .tick { 12 | } 13 | .c3-axis-y2-label { 14 | } 15 | -------------------------------------------------------------------------------- /vendors/c3/src/scss/focus.scss: -------------------------------------------------------------------------------- 1 | .c3-target.c3-focused { 2 | opacity: 1; 3 | } 4 | .c3-target.c3-focused path.c3-line, .c3-target.c3-focused path.c3-step { 5 | stroke-width: 2px; 6 | } 7 | .c3-target.c3-defocused { 8 | opacity: 0.3 !important; 9 | } 10 | -------------------------------------------------------------------------------- /vendors/c3/src/scss/legend.scss: -------------------------------------------------------------------------------- 1 | .c3-legend-item { 2 | font-size: 12px; 3 | } 4 | .c3-legend-item-hidden { 5 | opacity: 0.15; 6 | } 7 | 8 | .c3-legend-background { 9 | opacity: 0.75; 10 | fill: white; 11 | stroke: lightgray; 12 | stroke-width: 1 13 | } 14 | -------------------------------------------------------------------------------- /vendors/c3/extensions/exporter/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "js": [ 3 | "../../bower_components/d3/d3.min.js", 4 | "../../c3.min.js" 5 | ], 6 | "css": [ 7 | "../../c3.css" 8 | ], 9 | 10 | "template": "
" 11 | } -------------------------------------------------------------------------------- /vendors/c3/rollup.config.js: -------------------------------------------------------------------------------- 1 | import babel from 'rollup-plugin-babel'; 2 | 3 | export default { 4 | entry: 'src/index.js', 5 | format: 'umd', 6 | moduleName: 'c3', 7 | plugins: [babel({ 8 | presets: [['es2015', { 9 | modules: false 10 | }]], 11 | plugins: [ 12 | 'external-helpers' 13 | ] 14 | })] 15 | }; 16 | -------------------------------------------------------------------------------- /vendors/c3/circle.yml: -------------------------------------------------------------------------------- 1 | machine: 2 | node: 3 | verison: 6 4 | dependencies: 5 | pre: 6 | - curl -L -o google-chrome.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb 7 | - sudo dpkg -i google-chrome.deb 8 | - sudo sed -i 's|HERE/chrome\"|HERE/chrome\" --disable-setuid-sandbox|g' /opt/google/chrome/google-chrome 9 | - rm google-chrome.deb 10 | -------------------------------------------------------------------------------- /vendors/d3/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "d3", 3 | "description": "A JavaScript visualization library for HTML and SVG.", 4 | "main": "d3.js", 5 | "license": "BSD-3-Clause", 6 | "ignore": [], 7 | "homepage": "https://github.com/mbostock-bower/d3-bower", 8 | "version": "3.5.17", 9 | "_release": "3.5.17", 10 | "_resolution": { 11 | "type": "version", 12 | "tag": "v3.5.17", 13 | "commit": "abe0262a205c9f3755c3a757de4dfd1d49f34b24" 14 | }, 15 | "_source": "https://github.com/mbostock-bower/d3-bower.git", 16 | "_target": "~3.5.0", 17 | "_originalSource": "d3" 18 | } -------------------------------------------------------------------------------- /style.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | padding: 0; 4 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, 5 | Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; 6 | text-align: center; 7 | } 8 | 9 | #hourChart, 10 | #tenDayChart { 11 | margin: 30px 0; 12 | } 13 | 14 | footer { 15 | margin-bottom: 20px; 16 | margin-left: 20px; 17 | margin-right: 20px; 18 | } 19 | 20 | .color-red { 21 | color: red; 22 | } 23 | 24 | .color-green { 25 | color: green; 26 | } 27 | 28 | a { 29 | color: inherit; 30 | } 31 | 32 | p { 33 | margin: 10px 20px; 34 | } 35 | -------------------------------------------------------------------------------- /vendors/c3/src/scss/chart.scss: -------------------------------------------------------------------------------- 1 | .c3 svg { 2 | font: 10px sans-serif; 3 | -webkit-tap-highlight-color: rgba(0,0,0,0); 4 | } 5 | .c3 path, .c3 line { 6 | fill: none; 7 | stroke: #000; 8 | } 9 | .c3 text { 10 | -webkit-user-select: none; 11 | -moz-user-select: none; 12 | user-select: none; 13 | } 14 | 15 | .c3-legend-item-tile, 16 | .c3-xgrid-focus, 17 | .c3-ygrid, 18 | .c3-event-rect, 19 | .c3-bars path { 20 | shape-rendering: crispEdges; 21 | } 22 | 23 | .c3-chart-arc path { 24 | stroke: #fff; 25 | 26 | } 27 | .c3-chart-arc text { 28 | fill: #fff; 29 | font-size: 13px; 30 | } 31 | -------------------------------------------------------------------------------- /grabData.js: -------------------------------------------------------------------------------- 1 | var admin = require("firebase-admin"); 2 | 3 | var serviceAccount = require("./accountKey.json"); 4 | 5 | admin.initializeApp({ 6 | credential: admin.credential.cert(serviceAccount) 7 | }); 8 | 9 | let db = admin.firestore(); 10 | 11 | db.settings({ timestampsInSnapshots: true }); 12 | 13 | db.collection("entries").orderBy("timestamp", "desc").limit(720).get().then(querySnapshot => { 14 | let data = querySnapshot.docs; 15 | 16 | data = data.map(dataPoint => dataPoint.data()); 17 | 18 | let str = "window.vsIssueTrackerDataPoints = " + JSON.stringify(data); 19 | 20 | console.log(str); 21 | }); 22 | 23 | -------------------------------------------------------------------------------- /vendors/c3/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "c3", 3 | "main": [ 4 | "c3.css", 5 | "c3.js" 6 | ], 7 | "homepage": "https://github.com/masayuki0812/c3", 8 | "authors": [ 9 | "Masayuki Tanaka " 10 | ], 11 | "description": "D3-based reusable chart library", 12 | "keywords": [ 13 | "chart", 14 | "d3" 15 | ], 16 | "license": "MIT", 17 | "ignore": [ 18 | "**/.*", 19 | "node_modules", 20 | "bower_components", 21 | "htdocs", 22 | "spec", 23 | "src/**/*.js", 24 | "package.json", 25 | "component.json", 26 | "Gruntfile.*" 27 | ], 28 | "dependencies": { 29 | "d3": "~3.5.0" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /vendors/c3/src/scss/arc.scss: -------------------------------------------------------------------------------- 1 | .c3-chart-arcs-title { 2 | dominant-baseline: middle; 3 | font-size: 1.3em; 4 | } 5 | 6 | .c3-chart-arcs .c3-chart-arcs-background { 7 | fill: #e0e0e0; 8 | stroke: none; 9 | } 10 | .c3-chart-arcs .c3-chart-arcs-gauge-unit { 11 | fill: #000; 12 | font-size: 16px; 13 | } 14 | .c3-chart-arcs .c3-chart-arcs-gauge-max { 15 | fill: #777; 16 | } 17 | .c3-chart-arcs .c3-chart-arcs-gauge-min { 18 | fill: #777; 19 | } 20 | 21 | .c3-chart-arc .c3-gauge-value { 22 | fill: #000; 23 | /* font-size: 28px !important;*/ 24 | } 25 | 26 | .c3-chart-arc.c3-target g path { 27 | opacity: 1; 28 | } 29 | 30 | .c3-chart-arc.c3-target.c3-focused g path { 31 | opacity: 1; 32 | } 33 | -------------------------------------------------------------------------------- /vendors/c3/karma.conf.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | 3 | module.exports = function(config) { 4 | config.set({ 5 | frameworks: ['jasmine', 'browserify'], 6 | files: [ 7 | 'c3.css', 8 | 'spec/*-helper.js', 9 | 'spec/*.js' 10 | ], 11 | preprocessors: { 12 | 'spec/*.js': ['browserify'] 13 | }, 14 | browserify: { 15 | debug: true, 16 | transform: [['babelify', { presets: ['es2015'], plugins: ['istanbul'] }]] 17 | }, 18 | reporters: ['spec', 'coverage-istanbul'], 19 | coverageIstanbulReporter: { 20 | reports: ['html', 'lcovonly', 'text-summary'] 21 | }, 22 | autoWatch: true, 23 | browsers: ['Chrome'], 24 | singleRun: true, 25 | browserNoActivityTimeout: 120000, 26 | }) 27 | }; 28 | -------------------------------------------------------------------------------- /Function/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vscode-issue-tracker", 3 | "version": "1.0.0", 4 | "description": "Lambda function to see open and closed issue count on microsoft/vscode github repo", 5 | "main": "index.js", 6 | "scripts": { 7 | "postinstall": "npm rebuild grpc --target=12.18.2 --target_arch=x64 --target_platform=linux --target_libc=glibc", 8 | "clean": "rm vscodeFunc.zip", 9 | "deploy": "zip -r vscodeFunc.zip * && aws lambda update-function-code --function-name \"vscode-issue-tracker\" --zip-file fileb://vscodeFunc.zip" 10 | }, 11 | "keywords": [], 12 | "author": "Benjamin Lannon", 13 | "license": "MIT", 14 | "dependencies": { 15 | "dotenv-extended": "^2.8.0", 16 | "firebase-admin": "^9.2.0", 17 | "moment": "^2.28.0", 18 | "node-fetch": "^2.6.1" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /vendors/c3/src/scss/main.scss: -------------------------------------------------------------------------------- 1 | /*-- Chart --*/ 2 | 3 | @import 'chart'; 4 | 5 | /*-- Axis --*/ 6 | 7 | @import 'axis'; 8 | 9 | /*-- Grid --*/ 10 | 11 | @import 'grid'; 12 | 13 | /*-- Text on Chart --*/ 14 | 15 | @import 'text'; 16 | 17 | /*-- Line --*/ 18 | 19 | @import 'line'; 20 | 21 | /*-- Point --*/ 22 | 23 | @import 'point'; 24 | 25 | /*-- Bar --*/ 26 | 27 | @import 'bar'; 28 | 29 | /*-- Focus --*/ 30 | 31 | @import 'focus'; 32 | 33 | /*-- Region --*/ 34 | 35 | @import 'region'; 36 | 37 | /*-- Brush --*/ 38 | 39 | @import 'brush'; 40 | 41 | /*-- Select - Drag --*/ 42 | 43 | @import 'select_drag'; 44 | 45 | /*-- Legend --*/ 46 | 47 | @import 'legend'; 48 | 49 | /*-- Title --*/ 50 | 51 | @import 'title'; 52 | 53 | /*-- Tooltip --*/ 54 | 55 | @import 'tooltip'; 56 | 57 | /*-- Area --*/ 58 | 59 | @import 'area'; 60 | 61 | /*-- Arc --*/ 62 | 63 | @import 'arc'; 64 | -------------------------------------------------------------------------------- /vendors/c3/src/scss/tooltip.scss: -------------------------------------------------------------------------------- 1 | .c3-tooltip-container { 2 | z-index: 10; 3 | } 4 | .c3-tooltip { 5 | border-collapse:collapse; 6 | border-spacing:0; 7 | background-color:#fff; 8 | empty-cells:show; 9 | -webkit-box-shadow: 7px 7px 12px -9px rgb(119,119,119); 10 | -moz-box-shadow: 7px 7px 12px -9px rgb(119,119,119); 11 | box-shadow: 7px 7px 12px -9px rgb(119,119,119); 12 | opacity: 0.9; 13 | } 14 | .c3-tooltip tr { 15 | border:1px solid #CCC; 16 | } 17 | .c3-tooltip th { 18 | background-color: #aaa; 19 | font-size:14px; 20 | padding:2px 5px; 21 | text-align:left; 22 | color:#FFF; 23 | } 24 | .c3-tooltip td { 25 | font-size:13px; 26 | padding: 3px 6px; 27 | background-color:#fff; 28 | border-left:1px dotted #999; 29 | } 30 | .c3-tooltip td > span { 31 | display: inline-block; 32 | width: 10px; 33 | height: 10px; 34 | margin-right: 6px; 35 | } 36 | .c3-tooltip td.value{ 37 | text-align: right; 38 | } 39 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vscode-issue-tracker", 3 | "version": "1.0.0", 4 | "description": "A simple website to present how many issues are open over time for [microsoft/vscode](https://github.com/microsoft/vscode). I Wanted to visualize the progress on [microsoft/vscode#58336](https://github.com/Microsoft/vscode/issues/58336) so I used the Github API to graph open issues over time for VS Code", 5 | "main": "main.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git+https://github.com/lannonbr/vscode-issue-tracker.git" 12 | }, 13 | "keywords": [], 14 | "author": "", 15 | "license": "ISC", 16 | "bugs": { 17 | "url": "https://github.com/lannonbr/vscode-issue-tracker/issues" 18 | }, 19 | "homepage": "https://github.com/lannonbr/vscode-issue-tracker#readme", 20 | "dependencies": { 21 | "firebase-admin": "^9.2.0" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendors/d3/README.md: -------------------------------------------------------------------------------- 1 | # Data-Driven Documents 2 | 3 | 4 | 5 | **D3.js** is a JavaScript library for manipulating documents based on data. **D3** helps you bring data to life using HTML, SVG, and CSS. **D3** emphasizes web standards and combines powerful visualization components with a data-driven approach to DOM manipulation, giving you the full capabilities of modern browsers without tying yourself to a proprietary framework. 6 | 7 | Want to learn more? [See the wiki.](https://github.com/mbostock/d3/wiki) 8 | 9 | For examples, [see the gallery](https://github.com/mbostock/d3/wiki/Gallery) and [mbostock’s bl.ocks](http://bl.ocks.org/mbostock). 10 | 11 | ## Good News, Everyone! 12 | 13 | The next major release of D3, 4.0, is coming! See the [4.0 development branch](https://github.com/mbostock/d3/tree/4) and read the [new API reference](https://github.com/mbostock/d3/blob/4/README.md) to get ready. 14 | -------------------------------------------------------------------------------- /vendors/c3/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "c3", 3 | "main": [ 4 | "c3.css", 5 | "c3.js" 6 | ], 7 | "homepage": "https://github.com/masayuki0812/c3", 8 | "authors": [ 9 | "Masayuki Tanaka " 10 | ], 11 | "description": "D3-based reusable chart library", 12 | "keywords": [ 13 | "chart", 14 | "d3" 15 | ], 16 | "license": "MIT", 17 | "ignore": [ 18 | "**/.*", 19 | "node_modules", 20 | "bower_components", 21 | "htdocs", 22 | "spec", 23 | "src/**/*.js", 24 | "package.json", 25 | "component.json", 26 | "Gruntfile.*" 27 | ], 28 | "dependencies": { 29 | "d3": "~3.5.0" 30 | }, 31 | "version": "0.4.15", 32 | "_release": "0.4.15", 33 | "_resolution": { 34 | "type": "version", 35 | "tag": "v0.4.15", 36 | "commit": "9372354e6c5a1637f02d08287fa3747f8ef0031b" 37 | }, 38 | "_source": "https://github.com/masayuki0812/c3.git", 39 | "_target": "^0.4.15", 40 | "_originalSource": "c3", 41 | "_direct": true 42 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2018 Benjamin Lannnon 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this 4 | software and associated documentation files (the "Software"), to deal in the Software 5 | without restriction, including without limitation the rights to use, copy, modify, merge, 6 | publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons 7 | to whom the Software is furnished to do so, subject to the following conditions: 8 | 9 | The above copyright notice and this permission notice shall be included in all copies or 10 | substantial portions of the Software. 11 | 12 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 13 | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 14 | PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE 15 | FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 16 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /vendors/c3/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013 Masayuki Tanaka 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /vendors/c3/extensions/chart-bubble/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
7 | 8 | 9 | 10 | 11 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /vendors/d3/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010-2016, Michael Bostock 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | * The name Michael Bostock may not be used to endorse or promote products 15 | derived from this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 20 | DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT, 21 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 22 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 24 | OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 25 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 26 | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # NOTICE 2 | 3 | This site is considered deprecated and no longer collecting data on the VS Code github repo. See the following blogpost for info: [VSCode Issue Tracker Post Mortem](https://lannonbr.com/blog/vscode-issue-tracker-post-mortem/) 4 | 5 | # VS Code Issue Tracker 6 | 7 | ![Issue Tracker Screenshot](images/issueTrackerPreview.png) 8 | 9 | The VS Code Issue Tracker is a visualization of the issue count on the [Microsoft/vscode](https://github.com/microsoft/vscode) repository over time. 10 | 11 | The initial inspiration for this was to track the progress of [microsoft/vscode#58336](https://github.com/Microsoft/vscode/issues/58336). 12 | 13 | You can visit the site live here: [vscode-issue-tracker.netlify.com](https://vscode-issue-tracker.netlify.com/) 14 | 15 | # Webstack Description 16 | 17 | The basis of the issue tracker is a serverless backend combined with a static frontend. 18 | 19 | The backend consists of an AWS Lambda function which sends a query to the [Github V4 GraphQL API](https://developer.github.com/v4/) once an hour to see the current number of issues on the repository. That is stored in a [Cloud Firestore](https://firebase.google.com/docs/firestore/) database. 20 | 21 | Then, I have a scheduled job to pull the last 3 days as well as last month of entries for the recent and monthly graphs. It saves these entries to a local JS file and commits it to the repo once an hour through Git. 22 | 23 | Finally, I wrote a simple frontend using [C3.js](https://c3js.org/) to display the two graphs on a page. This is then committed to GitHub here and deployed to [Netlify](https://www.netlify.com/) across their Application Delivery Network. 24 | 25 | Future plans include making this more generalized so anyone can spin up a very similar project with ease. 26 | -------------------------------------------------------------------------------- /Function/index.js: -------------------------------------------------------------------------------- 1 | const fetch = require("node-fetch"); 2 | const moment = require("moment"); 3 | 4 | var admin = require("firebase-admin"); 5 | 6 | var serviceAccount = require("./accountKey.json"); 7 | 8 | admin.initializeApp({ 9 | credential: admin.credential.cert(serviceAccount) 10 | }); 11 | 12 | let db = admin.firestore(); 13 | 14 | db.settings({ timestampsInSnapshots: true }); 15 | 16 | const body = state => 17 | JSON.stringify({ 18 | query: ` 19 | query { 20 | repository(owner: "Microsoft", name:"vscode") { 21 | issues(states:${state}) { 22 | totalCount 23 | } 24 | } 25 | }` 26 | }); 27 | 28 | function getIssues(body) { 29 | const url = "https://api.github.com/graphql"; 30 | const options = { 31 | method: "POST", 32 | body: body, 33 | headers: { 34 | "Content-Type": "application/json", 35 | Accept: "application/json", 36 | Authorization: `bearer ${process.env.GITHUB_TOKEN}` 37 | } 38 | }; 39 | 40 | return fetch(url, options) 41 | .then(resp => resp.json()) 42 | .then(data => { 43 | return data.data.repository.issues.totalCount; 44 | }); 45 | } 46 | 47 | function getOpenIssues() { 48 | return getIssues(body("OPEN")); 49 | } 50 | 51 | function getClosedIssues() { 52 | return getIssues(body("CLOSED")); 53 | } 54 | 55 | exports.handler = async (event, context) => { 56 | var openIssues = await getOpenIssues(); 57 | var closedIssues = await getClosedIssues(); 58 | 59 | let now = moment().unix(); 60 | 61 | let docRef = db.collection("entries").doc(now.toString()); 62 | 63 | await docRef.set({ 64 | timestamp: now, 65 | openIssues: openIssues, 66 | closedIssues: closedIssues 67 | }); 68 | 69 | return "DONE"; 70 | }; 71 | -------------------------------------------------------------------------------- /vendors/c3/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Filing an issue 2 | 3 | Before filing an issue, please [search the queue](https://github.com/c3js/c3/issues) to make sure it hasn't already been reported. 4 | 5 | If a bug, please include the following — 6 | 7 | 1. What version of C3? 8 | 1. What browsers have you confirmed it in? 9 | 1. Can you isolate the issue by providing a jsFiddle demonstrating it in a minimalist capacity? 10 | 11 | Please *do not* ask for support using the issue queue. For support, please ask [on chat](https://gitter.im/c3js/c3) or [the mailing list](groups.google.com/forum/#!forum/c3js). 12 | 13 | ## Setup 14 | 1. **Clone the repo from GitHub** 15 | 16 | git clone https://github.com/c3js/c3.git 17 | cd c3 18 | 19 | 2. **Acquire build dependencies.** Make sure you have [Node.js](http://nodejs.org/) installed on your workstation. This is only needed to _build_ C3 from sources. C3 itself has no dependency on Node.js once it is built. Now run: 20 | 21 | npm install -g grunt-cli 22 | npm install 23 | 24 | The first `npm` command sets up the popular [Grunt](http://gruntjs.com/) build tool. You might need to run this command with `sudo` if you're on Linux or Mac OS X, or in an Administrator command prompt on Windows. The second `npm` command fetches the remaining build dependencies. 25 | 26 | ## Building C3 from sources 27 | npm run build 28 | 29 | 30 | ## Distribution 31 | npm run dist 32 | 33 | Now you'll find the built files in `c3.js`, `c3.min.js`, `c3.css` & `c3.min.css`. 34 | 35 | ## Running the tests 36 | npm run test 37 | 38 | This command will automatically run the specification suite and report its results. 39 | 40 | If you want to see specs running live in browser (e.g., for debugging), simply open `http://localhost:9876/` in your browser when phantomjs starts. 41 | 42 | ## Contributing your changes 43 | 44 | Add something about PRs here, indicate that PRs should not bump the version number & the build output files (`c3.js`, `c3.min.js`, `c3.css` & `c3.min.css`) should be excluded 45 | -------------------------------------------------------------------------------- /vendors/c3/c3.min.css: -------------------------------------------------------------------------------- 1 | .c3 svg{font:10px sans-serif;-webkit-tap-highlight-color:transparent}.c3 line,.c3 path{fill:none;stroke:#000}.c3 text{-webkit-user-select:none;-moz-user-select:none;user-select:none}.c3-bars path,.c3-event-rect,.c3-legend-item-tile,.c3-xgrid-focus,.c3-ygrid{shape-rendering:crispEdges}.c3-chart-arc path{stroke:#fff}.c3-chart-arc text{fill:#fff;font-size:13px}.c3-grid line{stroke:#aaa}.c3-grid text{fill:#aaa}.c3-xgrid,.c3-ygrid{stroke-dasharray:3 3}.c3-text.c3-empty{fill:grey;font-size:2em}.c3-line{stroke-width:1px}.c3-circle._expanded_{stroke-width:1px;stroke:#fff}.c3-selected-circle{fill:#fff;stroke-width:2px}.c3-bar{stroke-width:0}.c3-bar._expanded_{fill-opacity:1;fill-opacity:.75}.c3-target.c3-focused{opacity:1}.c3-target.c3-focused path.c3-line,.c3-target.c3-focused path.c3-step{stroke-width:2px}.c3-target.c3-defocused{opacity:.3!important}.c3-region{fill:#4682b4;fill-opacity:.1}.c3-brush .extent{fill-opacity:.1}.c3-legend-item{font-size:12px}.c3-legend-item-hidden{opacity:.15}.c3-legend-background{opacity:.75;fill:#fff;stroke:#d3d3d3;stroke-width:1}.c3-title{font:14px sans-serif}.c3-tooltip-container{z-index:10}.c3-tooltip{border-collapse:collapse;border-spacing:0;background-color:#fff;empty-cells:show;-webkit-box-shadow:7px 7px 12px -9px #777;-moz-box-shadow:7px 7px 12px -9px #777;box-shadow:7px 7px 12px -9px #777;opacity:.9}.c3-tooltip tr{border:1px solid #ccc}.c3-tooltip th{background-color:#aaa;font-size:14px;padding:2px 5px;text-align:left;color:#fff}.c3-tooltip td{font-size:13px;padding:3px 6px;background-color:#fff;border-left:1px dotted #999}.c3-tooltip td>span{display:inline-block;width:10px;height:10px;margin-right:6px}.c3-tooltip td.value{text-align:right}.c3-area{stroke-width:0;opacity:.2}.c3-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}.c3-chart-arcs .c3-chart-arcs-background{fill:#e0e0e0;stroke:none}.c3-chart-arcs .c3-chart-arcs-gauge-unit{fill:#000;font-size:16px}.c3-chart-arcs .c3-chart-arcs-gauge-max{fill:#777}.c3-chart-arcs .c3-chart-arcs-gauge-min{fill:#777}.c3-chart-arc .c3-gauge-value{fill:#000}.c3-chart-arc.c3-target g path{opacity:1}.c3-chart-arc.c3-target.c3-focused g path{opacity:1} -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | VS Code Issue Tracker 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |

VS Code Issue Tracker

21 |

22 | This is a timeline of how many open issues VS Code has on Github over time. 23 |

24 |

25 |

Recent Overview

26 |
27 |

Month Overview

28 |
29 |

30 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /vendors/c3/README.md: -------------------------------------------------------------------------------- 1 | c3 [![Build Status](https://travis-ci.org/c3js/c3.svg?branch=master)](https://travis-ci.org/c3js/c3) [![Dependency Status](https://david-dm.org/c3js/c3.svg)](https://david-dm.org/c3js/c3) [![devDependency Status](https://david-dm.org/c3js/c3/dev-status.svg)](https://david-dm.org/c3js/c3#info=devDependencies) [![license](http://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat)](https://github.com/c3js/c3/blob/master/LICENSE) [![codecov.io](https://codecov.io/github/c3js/c3/coverage.svg?branch=master)](https://codecov.io/github/c3js/c3?branch=master) 2 | == 3 | 4 | c3 is a D3-based reusable chart library that enables deeper integration of charts into web applications. 5 | 6 | Follow the link for more information: [http://c3js.org](http://c3js.org/) 7 | 8 | ## Tutorial and Examples 9 | 10 | + [Getting Started](http://c3js.org/gettingstarted.html) 11 | + [Examples](http://c3js.org/examples.html) 12 | 13 | Additional samples can be found in this repository: 14 | + [https://github.com/c3js/c3/tree/master/htdocs/samples](https://github.com/c3js/c3/tree/master/htdocs/samples) 15 | 16 | You can run these samples as: 17 | ``` 18 | $ npm run serve 19 | ``` 20 | 21 | ## Google Group 22 | For general C3.js-related discussion, please visit our [Google Group at https://groups.google.com/forum/#!forum/c3js](https://groups.google.com/forum/#!forum/c3js). 23 | 24 | ## Gitter 25 | [![Join the chat at https://gitter.im/c3js/c3](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/c3js/c3?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 26 | 27 | ## Using the issue queue 28 | The [issue queue](https://github.com/c3js/c3/issues) is to be used for reporting defects and problems with C3.js, in addition to feature requests and ideas. It is **not** a catch-all support forum. **For general support enquiries, please use the [Google Group](https://groups.google.com/forum/#!forum/c3js) at https://groups.google.com/forum/#!forum/c3js.** All questions involving the interplay between C3.js and any other library (such as AngularJS) should be posted there first! 29 | 30 | Before reporting an issue, please do the following: 31 | 32 | 1. [Search for existing issues](https://github.com/c3js/c3/issues) to ensure you're not posting a duplicate. 33 | 34 | 1. [Search the Google Group](https://groups.google.com/forum/#!forum/c3js) to ensure it hasn't been addressed there already. 35 | 36 | 1. Create a JSFiddle or Plunkr highlighting the issue. Please don't include any unnecessary dependencies so we can isolate that the issue is in fact with C3. *Please be advised that custom CSS can modify C3.js output!* 37 | 38 | 1. When posting the issue, please use a descriptive title and include the version of C3 (or, if cloning from Git, the commit hash — C3 is under active development and the master branch contains the latest dev commits!), along with any platform/browser/OS information that may be relevant. 39 | 40 | ## Pull requests 41 | Pull requests are welcome, though please post an issue first to see whether such a change is desirable. 42 | If you choose to submit a pull request, please do not bump the version number unless asked to, and please include test cases for any new features. Squash all your commits as well, please. 43 | 44 | ## Playground 45 | Please fork this fiddle: 46 | + [http://jsfiddle.net/masayuki0812/7kYJu/](http://jsfiddle.net/masayuki0812/7kYJu/) 47 | 48 | ## Dependency 49 | + [D3.js](https://github.com/mbostock/d3) `~3.5.0` 50 | 51 | ## License 52 | MIT 53 | -------------------------------------------------------------------------------- /vendors/c3/c3.css: -------------------------------------------------------------------------------- 1 | /*-- Chart --*/ 2 | .c3 svg { 3 | font: 10px sans-serif; 4 | -webkit-tap-highlight-color: transparent; } 5 | 6 | .c3 path, .c3 line { 7 | fill: none; 8 | stroke: #000; } 9 | 10 | .c3 text { 11 | -webkit-user-select: none; 12 | -moz-user-select: none; 13 | user-select: none; } 14 | 15 | .c3-legend-item-tile, 16 | .c3-xgrid-focus, 17 | .c3-ygrid, 18 | .c3-event-rect, 19 | .c3-bars path { 20 | shape-rendering: crispEdges; } 21 | 22 | .c3-chart-arc path { 23 | stroke: #fff; } 24 | 25 | .c3-chart-arc text { 26 | fill: #fff; 27 | font-size: 13px; } 28 | 29 | /*-- Axis --*/ 30 | /*-- Grid --*/ 31 | .c3-grid line { 32 | stroke: #aaa; } 33 | 34 | .c3-grid text { 35 | fill: #aaa; } 36 | 37 | .c3-xgrid, .c3-ygrid { 38 | stroke-dasharray: 3 3; } 39 | 40 | /*-- Text on Chart --*/ 41 | .c3-text.c3-empty { 42 | fill: #808080; 43 | font-size: 2em; } 44 | 45 | /*-- Line --*/ 46 | .c3-line { 47 | stroke-width: 1px; } 48 | 49 | /*-- Point --*/ 50 | .c3-circle._expanded_ { 51 | stroke-width: 1px; 52 | stroke: white; } 53 | 54 | .c3-selected-circle { 55 | fill: white; 56 | stroke-width: 2px; } 57 | 58 | /*-- Bar --*/ 59 | .c3-bar { 60 | stroke-width: 0; } 61 | 62 | .c3-bar._expanded_ { 63 | fill-opacity: 1; 64 | fill-opacity: 0.75; } 65 | 66 | /*-- Focus --*/ 67 | .c3-target.c3-focused { 68 | opacity: 1; } 69 | 70 | .c3-target.c3-focused path.c3-line, .c3-target.c3-focused path.c3-step { 71 | stroke-width: 2px; } 72 | 73 | .c3-target.c3-defocused { 74 | opacity: 0.3 !important; } 75 | 76 | /*-- Region --*/ 77 | .c3-region { 78 | fill: steelblue; 79 | fill-opacity: .1; } 80 | 81 | /*-- Brush --*/ 82 | .c3-brush .extent { 83 | fill-opacity: .1; } 84 | 85 | /*-- Select - Drag --*/ 86 | /*-- Legend --*/ 87 | .c3-legend-item { 88 | font-size: 12px; } 89 | 90 | .c3-legend-item-hidden { 91 | opacity: 0.15; } 92 | 93 | .c3-legend-background { 94 | opacity: 0.75; 95 | fill: white; 96 | stroke: lightgray; 97 | stroke-width: 1; } 98 | 99 | /*-- Title --*/ 100 | .c3-title { 101 | font: 14px sans-serif; } 102 | 103 | /*-- Tooltip --*/ 104 | .c3-tooltip-container { 105 | z-index: 10; } 106 | 107 | .c3-tooltip { 108 | border-collapse: collapse; 109 | border-spacing: 0; 110 | background-color: #fff; 111 | empty-cells: show; 112 | -webkit-box-shadow: 7px 7px 12px -9px #777777; 113 | -moz-box-shadow: 7px 7px 12px -9px #777777; 114 | box-shadow: 7px 7px 12px -9px #777777; 115 | opacity: 0.9; } 116 | 117 | .c3-tooltip tr { 118 | border: 1px solid #CCC; } 119 | 120 | .c3-tooltip th { 121 | background-color: #aaa; 122 | font-size: 14px; 123 | padding: 2px 5px; 124 | text-align: left; 125 | color: #FFF; } 126 | 127 | .c3-tooltip td { 128 | font-size: 13px; 129 | padding: 3px 6px; 130 | background-color: #fff; 131 | border-left: 1px dotted #999; } 132 | 133 | .c3-tooltip td > span { 134 | display: inline-block; 135 | width: 10px; 136 | height: 10px; 137 | margin-right: 6px; } 138 | 139 | .c3-tooltip td.value { 140 | text-align: right; } 141 | 142 | /*-- Area --*/ 143 | .c3-area { 144 | stroke-width: 0; 145 | opacity: 0.2; } 146 | 147 | /*-- Arc --*/ 148 | .c3-chart-arcs-title { 149 | dominant-baseline: middle; 150 | font-size: 1.3em; } 151 | 152 | .c3-chart-arcs .c3-chart-arcs-background { 153 | fill: #e0e0e0; 154 | stroke: none; } 155 | 156 | .c3-chart-arcs .c3-chart-arcs-gauge-unit { 157 | fill: #000; 158 | font-size: 16px; } 159 | 160 | .c3-chart-arcs .c3-chart-arcs-gauge-max { 161 | fill: #777; } 162 | 163 | .c3-chart-arcs .c3-chart-arcs-gauge-min { 164 | fill: #777; } 165 | 166 | .c3-chart-arc .c3-gauge-value { 167 | fill: #000; 168 | /* font-size: 28px !important;*/ } 169 | 170 | .c3-chart-arc.c3-target g path { 171 | opacity: 1; } 172 | 173 | .c3-chart-arc.c3-target.c3-focused g path { 174 | opacity: 1; } 175 | -------------------------------------------------------------------------------- /vendors/c3/extensions/exporter/phantom-exporter.js: -------------------------------------------------------------------------------- 1 | /** 2 | * PNG\JPEG exporter for C3.js, version 0.2 3 | * (c) 2014 Yuval Bar-On 4 | * 5 | * usage: path/to/phantomjs output options [WxH] 6 | * 7 | */ 8 | 9 | // useful python-styled string formatting, "hello {0}! Javascript is {1}".format("world", "awesome"); 10 | if (!String.prototype.format) { 11 | String.prototype.format = function() { 12 | var args = arguments; 13 | return this.replace(/{(\d+)}/g, function(match, number) { 14 | return typeof args[number] != 'undefined' 15 | ? args[number] 16 | : match 17 | ; 18 | }); 19 | }; 20 | } 21 | 22 | // defaults 23 | var page = require('webpage').create(), 24 | fs = require('fs'), 25 | system = require('system'), 26 | config = JSON.parse( fs.read('config.json') ), 27 | output, size; 28 | 29 | if (system.args.length < 3 ) { 30 | console.log('Usage: phantasm.js filename html [WxH]'); 31 | phantom.exit(1); 32 | } else { 33 | out = system.args[1]; 34 | opts = JSON.parse( system.args[2] ); 35 | 36 | if (system.args[3]) { 37 | var dimensions = system.args[3].split('x'), 38 | width = dimensions[0], 39 | height = dimensions[1]; 40 | 41 | function checkNum(check) { 42 | check = parseInt(check); 43 | if (!isNaN(check)) 44 | return check; 45 | return false; 46 | } 47 | 48 | width = checkNum(width); 49 | height = checkNum(height); 50 | 51 | if (width && height) { 52 | page.viewportSize = { 53 | height: height, 54 | width: width 55 | } 56 | } 57 | 58 | // fit chart size to img size, if undefined 59 | if (!opts.size) { 60 | opts.size = { 61 | "height": height, 62 | "width": width 63 | }; 64 | } 65 | } else { 66 | // check if size is defined in chart, 67 | // else apply defaults 68 | page.viewportSize = { 69 | height: (opts.size && opts.size.height) ? opts.size.height : 320, 70 | width: (opts.size && opts.size.width ) ? opts.size.width : 710, 71 | } 72 | } 73 | } 74 | 75 | page.onResourceRequested = function(requestData, request) { 76 | console.log('::loading resource ', requestData['url']); 77 | }; 78 | 79 | // helpful debug functions 80 | page.onConsoleMessage = function(msg){ 81 | console.log(msg); 82 | }; 83 | 84 | page.onError = function(msg, trace) { 85 | var msgStack = ['ERROR: ' + msg]; 86 | 87 | if (trace && trace.length) { 88 | msgStack.push('TRACE:'); 89 | trace.forEach(function(t) { 90 | msgStack.push(' -> ' + t.file + ': ' + t.line + (t.function ? ' (in function "' + t.function +'")' : '')); 91 | }); 92 | } 93 | 94 | console.error(msgStack.join('\n')); 95 | }; 96 | 97 | // render page 98 | function injectVerify(script) { 99 | var req = page.injectJs(script); 100 | if (!req) { 101 | console.log( '\nError!\n' + script + ' not found!\n' ); 102 | phantom.exit(1); 103 | } 104 | } 105 | 106 | page.onLoadFinished = function() { 107 | console.log('::rendering'); 108 | 109 | for (var j in config.js) { 110 | injectVerify(config.js[j]); 111 | } 112 | 113 | page.evaluate(function(chartoptions) { 114 | // phantomjs doesn't know how to handle .bind, so we override 115 | Function.prototype.bind = Function.prototype.bind || function (thisp) { 116 | var fn = this; 117 | return function () { 118 | return fn.apply(thisp, arguments); 119 | }; 120 | }; 121 | 122 | // generate chart 123 | c3.generate(chartoptions); 124 | 125 | }, opts); 126 | 127 | // setting transition to 0 has proven not to work thus far, but 300ms isn't much 128 | // so this is acceptable for now 129 | setTimeout(function() { 130 | page.render(out); 131 | phantom.exit(); 132 | }, 300); 133 | } 134 | 135 | // apply css inline because that usually renders better 136 | var css = ''; 137 | for (var i in config.css) { 138 | css += fs.read(config.css[i]); 139 | } 140 | page.content = config.template.format(css); -------------------------------------------------------------------------------- /vendors/c3/extensions/chart-bubble/bubble.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var extra = {}; 3 | 4 | c3.chart.internal.fn.additionalConfig = { 5 | data_pairs: [], 6 | }; 7 | 8 | c3.chart.internal.fn.beforeInit = function (config) { 9 | 10 | var that = this; 11 | 12 | // update internals only when chart type is "bubble" 13 | if (config.data.type !== 'bubble') { 14 | return; 15 | } 16 | 17 | // Set extra to ba able to be used in other part 18 | this.extra = extra; 19 | 20 | extra.getKey = function (x, y) { 21 | return x + '::' + y; 22 | }; 23 | 24 | this.config.data_type = 'scatter'; 25 | 26 | this.config.axis_x_padding = 0; 27 | this.config.axis_y_padding = 0; 28 | this.config.axis_x_tick_centered = true; 29 | this.config.axis_x_tick_format = function (d) { 30 | return extra.names[d]; 31 | }; 32 | this.config.axis_y_tick_format = function (d) { 33 | return extra.names[d]; 34 | }; 35 | 36 | if (!config.color || !config.color.pattern) { 37 | this.config.color_pattern = ['#1f77b4']; 38 | } 39 | 40 | this.config.point_r = function (d) { 41 | var names = extra.names, values = extra.values, base_length = extra.base_length, 42 | x = names[d.x], y = d.id, 43 | key = extra.getKey(x, y), value = !values[key] ? 0 : values[key], 44 | max, max_r, max_area, a, area, r; 45 | 46 | if (!base_length) { 47 | base_length = extra.base_length = d3.min([ 48 | that.svg.select('.c3-axis.c3-axis-y path').node().getTotalLength(), 49 | that.svg.select('.c3-axis.c3-axis-x path').node().getTotalLength(), 50 | ]); 51 | } 52 | 53 | max = d3.max(Object.keys(values).map(function (key) { return values[key]; })); 54 | max_r = (base_length / (names.length * 2)); 55 | max_area = max_r * max_r * Math.PI; 56 | 57 | a = max_area / max; 58 | 59 | area = value * a; 60 | r = Math.sqrt(area / Math.PI); 61 | 62 | return r; 63 | }; 64 | this.config.point_sensitivity = 25; 65 | this.config.point_focus_expand_enabled = false; 66 | 67 | this.config.legend_show = false; 68 | 69 | if (!config.tooltip || !config.tooltip.contents) { 70 | this.config.tooltip_contents = function (d, defaultTitleFormat, defaultValueFormat, color) { 71 | var x = extra.names[d[0].x], y = d[0].name, v = extra.values[extra.getKey(x, y)], text; 72 | 73 | text = ""; 74 | text += ""; 75 | text += ""; 76 | text += "
" + x + " / " + y + "
" + (!v ? 0 : v) + "
"; 77 | 78 | return text; 79 | }; 80 | } 81 | 82 | // construct bubble chart data and setup config based on the values 83 | 84 | var xs = this.config.data_pairs.map(function (pair) { return pair.x; }), 85 | ys = this.config.data_pairs.map(function (pair) { return pair.y; }); 86 | 87 | extra.names = d3.set(xs.concat(ys)).values().sort(); 88 | 89 | this.config.axis_y_tick_values = extra.names.map(function (name, i) { return i; }); 90 | 91 | var data_xs = {}; 92 | extra.names.forEach(function (name) { 93 | data_xs[name] = name + '_x'; 94 | }); 95 | var data_columns_xs = Object.keys(data_xs).map(function (key) { 96 | return [data_xs[key]].concat(extra.names.map(function (name, i) { return i; })); 97 | }); 98 | var data_columns_values = extra.names.map(function (name, i) { 99 | return [name].concat(extra.names.map(function (name) { return i; })); 100 | }); 101 | this.config.data_xs = data_xs; 102 | this.config.data_columns = data_columns_xs.concat(data_columns_values); 103 | 104 | var values = {}; 105 | this.config.data_pairs.forEach(function (pair) { 106 | if (!pair.x || !pair.y) { 107 | throw "x and y are required in data."; 108 | } 109 | values[extra.getKey(pair.x, pair.y)] = pair.value; 110 | }); 111 | extra.values = values; 112 | 113 | this.config.axis_x_min = this.config.axis_y_min = -0.5; 114 | this.config.axis_x_max = this.config.axis_y_max = extra.names.length - 0.5; 115 | }; 116 | })(window); 117 | -------------------------------------------------------------------------------- /main.js: -------------------------------------------------------------------------------- 1 | let entries72 = window.vsIssueTrackerDataPoints.slice(0, 72); 2 | let entries720 = window.vsIssueTrackerDataPoints; 3 | 4 | let timesArr = []; 5 | let openIssueArr = []; 6 | 7 | const nowEntry = entries72[0]; 8 | const dayAgoEntry = entries72[23]; 9 | 10 | const threeDaysAgoUnix = moment 11 | .unix(nowEntry.timestamp) 12 | .subtract(3, "days") 13 | .unix(); 14 | 15 | entries72 = entries72 16 | .reverse() 17 | .filter(entry => entry.timestamp > threeDaysAgoUnix); 18 | 19 | let now = moment.unix(entries72[0].timestamp); 20 | let nextDayOne = now 21 | .add(1, "day") 22 | .startOf("day") 23 | .unix(); 24 | let nextDayTwo = now 25 | .add(1, "days") 26 | .startOf("day") 27 | .unix(); 28 | let nextDayThree = now 29 | .add(1, "days") 30 | .startOf("day") 31 | .unix(); 32 | let nextDayFour = now 33 | .add(1, "days") 34 | .startOf("day") 35 | .unix(); 36 | 37 | const gridLines = [ 38 | { 39 | value: nextDayOne, 40 | text: moment.unix(nextDayOne).format("ddd, MMMM Do") 41 | // position: "end" 42 | }, 43 | { 44 | value: nextDayTwo, 45 | text: moment.unix(nextDayTwo).format("ddd, MMMM Do") 46 | // position: "end" 47 | }, 48 | { 49 | value: nextDayThree, 50 | text: moment.unix(nextDayThree).format("ddd, MMMM Do") 51 | // position: "end" 52 | }, 53 | { 54 | value: nextDayFour, 55 | text: moment.unix(nextDayFour).format("ddd, MMMM Do") 56 | // position: "end" 57 | } 58 | ]; 59 | 60 | for (let entry of entries72) { 61 | const { timestamp, openIssues } = entry; 62 | 63 | timesArr.push(timestamp); 64 | openIssueArr.push(openIssues); 65 | } 66 | 67 | var chart = c3.generate({ 68 | bindto: "#hourChart", 69 | data: { 70 | x: "x", 71 | columns: [["x", ...timesArr], ["open issues", ...openIssueArr]] 72 | }, 73 | subchart: { 74 | show: true 75 | }, 76 | axis: { 77 | y: { 78 | tick: { 79 | format: function(x) { 80 | return x === Math.floor(x) ? x : ""; 81 | } 82 | } 83 | }, 84 | x: { 85 | tick: { 86 | format: function(d) { 87 | return moment.unix(d).format("llll"); 88 | } 89 | } 90 | } 91 | }, 92 | tooltip: { 93 | format: { 94 | title: function(d) { 95 | return moment.unix(d).format("llll"); 96 | } 97 | } 98 | }, 99 | padding: { 100 | right: 100, 101 | left: 100 102 | }, 103 | size: { 104 | height: 400 105 | }, 106 | grid: { 107 | x: { 108 | lines: gridLines 109 | } 110 | } 111 | }); 112 | 113 | fillDiffs(nowEntry, dayAgoEntry); 114 | 115 | timesArr = []; 116 | openIssueArr = []; 117 | 118 | const firstTimestamp = entries720[entries720.length - 1].timestamp; 119 | const lastTimestamp = entries720[0].timestamp; 120 | 121 | const gridlines = getGridLines(firstTimestamp, lastTimestamp); 122 | 123 | const monthAgoUnix = moment 124 | .unix(lastTimestamp) 125 | .subtract(1, "month") 126 | .unix(); 127 | 128 | entries720 = entries720 129 | .reverse() 130 | .filter(entry => entry.timestamp > monthAgoUnix) 131 | .filter((_, idx) => idx % 4 === 0); 132 | 133 | for (let entry of entries720) { 134 | const { timestamp, openIssues } = entry; 135 | 136 | timesArr.push(timestamp); 137 | openIssueArr.push(openIssues); 138 | } 139 | 140 | var chart = c3.generate({ 141 | bindto: "#tenDayChart", 142 | data: { 143 | x: "x", 144 | columns: [["x", ...timesArr], ["open issues", ...openIssueArr]] 145 | }, 146 | subchart: { 147 | show: true 148 | }, 149 | axis: { 150 | y: { 151 | tick: { 152 | format: function(x) { 153 | return x === Math.floor(x) ? x : ""; 154 | } 155 | } 156 | }, 157 | x: { 158 | tick: { 159 | format: function(d) { 160 | return moment.unix(d).format("llll"); 161 | } 162 | } 163 | } 164 | }, 165 | tooltip: { 166 | format: { 167 | title: function(d) { 168 | return moment.unix(d).format("llll"); 169 | } 170 | } 171 | }, 172 | padding: { 173 | right: 100, 174 | left: 100 175 | }, 176 | size: { 177 | height: 400 178 | }, 179 | grid: { 180 | x: { 181 | lines: gridlines 182 | } 183 | } 184 | }); 185 | 186 | function fillDiffs(nowEntry, dayAgoEntry) { 187 | let diff = nowEntry.openIssues - dayAgoEntry.openIssues; 188 | let colorClass; 189 | let symbol; 190 | 191 | if (diff > 0) { 192 | colorClass = "red"; 193 | symbol = "▲"; 194 | } else { 195 | colorClass = "green"; 196 | symbol = "▼"; 197 | } 198 | 199 | diff = Math.abs(diff); 200 | 201 | const diffElement = document.getElementById("diff"); 202 | 203 | diffElement.className = "color-" + colorClass; 204 | 205 | diffElement.innerText = `${symbol} ${diff} ${ 206 | colorClass === "red" ? "more" : "less" 207 | } issues compared to a day ago (${dayAgoEntry.openIssues} to ${ 208 | nowEntry.openIssues 209 | })`; 210 | 211 | const totalDiffElement = document.getElementById("totalDiff"); 212 | 213 | totalDiffElement.innerHTML = ` 214 | On Sept 10, 2018 at 8:41PM EST, there were 49,181 closed issues. Now there 215 | are ${nowEntry.closedIssues.toLocaleString()} closed issues, for a total difference of 216 | ${( 217 | nowEntry.closedIssues - 49181 218 | ).toLocaleString()} issues that have been closed since I started tracking this. 219 | `; 220 | } 221 | 222 | function getGridLines(firstTimestamp, lastTimestamp) { 223 | const gridlines = []; 224 | 225 | let firstDay = moment 226 | .unix(firstTimestamp) 227 | .add(1, "days") 228 | .startOf("day"); 229 | let lastDay = moment.unix(lastTimestamp).startOf("day"); 230 | 231 | let numOfDays = lastDay.diff(firstDay, "days"); 232 | 233 | for (let i = 0; i < numOfDays + 1; i++) { 234 | gridlines.push({ 235 | value: firstDay.unix(), 236 | text: firstDay.format("ddd, MMMM Do") 237 | }); 238 | 239 | firstDay = firstDay.add(1, "day").startOf("day"); 240 | } 241 | 242 | console.log(gridlines); 243 | 244 | return gridlines; 245 | } 246 | -------------------------------------------------------------------------------- /vendors/c3/extensions/js/c3ext.js: -------------------------------------------------------------------------------- 1 | var c3ext = {}; 2 | c3ext.generate = function (options) { 3 | 4 | if (options.zoom2 != null) { 5 | zoom2_reducers = options.zoom2.reducers || {}; 6 | zoom2_enabled = options.zoom2.enabled; 7 | _zoom2_factor = options.zoom2.factor || 1; 8 | _zoom2_maxItems = options.zoom2.maxItems; 9 | } 10 | 11 | if (!zoom2_enabled) { 12 | return c3.generate(options); 13 | } 14 | 15 | 16 | var originalData = Q.copy(options.data); 17 | var zoom2_reducers; 18 | var zoom2_enabled; 19 | var _zoom2_maxItems; 20 | 21 | if (_zoom2_maxItems == null) { 22 | var el = d3.select(options.bindto)[0][0]; 23 | if (el != null) { 24 | var availWidth = el.clientWidth; 25 | 26 | var pointSize = 20; 27 | _zoom2_maxItems = Math.ceil(availWidth / pointSize); 28 | } 29 | if (_zoom2_maxItems == null || _zoom2_maxItems < 10) { 30 | _zoom2_maxItems = 10; 31 | } 32 | } 33 | 34 | function onZoomChanged(e) { 35 | refresh(); 36 | } 37 | 38 | var zoom2 = c3ext.ZoomBehavior({ changed: onZoomChanged, bindto: options.bindto }); 39 | 40 | zoom2.enhance = function () { 41 | _zoom2_maxItems *= 2; 42 | var totalItems = zoom2.getZoom().totalItems; 43 | if (_zoom2_maxItems > totalItems) 44 | _zoom2_maxItems = totalItems; 45 | refresh(); 46 | } 47 | zoom2.dehance = function () { 48 | _zoom2_maxItems = Math.ceil(_zoom2_maxItems / 2) + 1; 49 | refresh(); 50 | } 51 | 52 | zoom2.maxItems = function () { return _zoom2_maxItems; }; 53 | function zoomAndReduceData(list, zoomRange, func, maxItems) { 54 | //var maxItems = 10;//Math.ceil(10 * zoomFactor); 55 | var list2 = list.slice(zoomRange[0], zoomRange[1]); 56 | var chunkSize = 1; 57 | var list3 = list2; 58 | if (list3.length > maxItems) { 59 | var chunkSize = Math.ceil(list2.length / maxItems); 60 | list3 = list3.splitIntoChunksOf(chunkSize).map(func); 61 | } 62 | //console.log("x" + getCurrentZoomLevel() + ", maxItems=" + maxItems + " chunkSize=" + chunkSize + " totalBefore=" + list2.length + ", totalAfter=" + list3.length); 63 | return list3; 64 | } 65 | 66 | function first(t) { return t[0]; } 67 | 68 | var getDataForZoom = function (data) { 69 | if (data.columns == null || data.columns.length == 0) 70 | return; 71 | 72 | var zoomInfo = zoom2.getZoom(); 73 | if (zoomInfo.totalItems != data.columns[0].length - 1) { 74 | zoom2.setOptions({ totalItems: data.columns[0].length - 1 }); 75 | zoomInfo = zoom2.getZoom(); 76 | } 77 | data.columns = originalData.columns.map(function (column) { 78 | var name = column[0]; 79 | var reducer = zoom2_reducers[name] || first; //by default take the first 80 | 81 | var values = column.slice(1); 82 | var newValues = zoomAndReduceData(values, zoomInfo.currentZoom, reducer, _zoom2_maxItems); 83 | return [name].concat(newValues); 84 | }); 85 | return data; 86 | }; 87 | 88 | getDataForZoom(options.data); 89 | var chart = c3.generate(options); 90 | var _chart_load_org = chart.load.bind(chart); 91 | chart.zoom2 = zoom2; 92 | chart.load = function (data) { 93 | if (data.unload) { 94 | unload(data.unload); 95 | delete data.unload; 96 | } 97 | Q.copy(data, originalData); 98 | refresh(); 99 | } 100 | chart.unload = function (names) { 101 | unload(names); 102 | refresh(); 103 | } 104 | 105 | function unload(names) { 106 | originalData.columns.removeAll(function (t) { names.contains(t); }); 107 | } 108 | 109 | 110 | function refresh() { 111 | var data = Q.copy(originalData) 112 | getDataForZoom(data); 113 | _chart_load_org(data); 114 | }; 115 | 116 | 117 | return chart; 118 | } 119 | 120 | c3ext.ZoomBehavior = function (options) { 121 | var zoom = { __type: "ZoomBehavior" }; 122 | 123 | var _zoom2_factor; 124 | var _left; 125 | var totalItems; 126 | var currentZoom; 127 | var bindto = options.bindto; 128 | var _zoomChanged = options.changed || function () { }; 129 | var element; 130 | var mousewheelTimer; 131 | var deltaY = 0; 132 | var leftRatio = 0; 133 | 134 | 135 | zoom.setOptions = function (options) { 136 | if (options == null) 137 | options = {}; 138 | _zoom2_factor = options.factor || 1; 139 | _left = 0; 140 | totalItems = options.totalItems || 0; 141 | currentZoom = [0, totalItems]; 142 | _zoomChanged = options.changed || _zoomChanged; 143 | } 144 | 145 | zoom.setOptions(options); 146 | 147 | 148 | function verifyZoom(newZoom) { 149 | //newZoom.sort(); 150 | if (newZoom[1] > totalItems) { 151 | var diff = newZoom[1] - totalItems; 152 | newZoom[0] -= diff; 153 | newZoom[1] -= diff; 154 | } 155 | if (newZoom[0] < 0) { 156 | var diff = newZoom[0] * -1; 157 | newZoom[0] += diff; 158 | newZoom[1] += diff; 159 | } 160 | if (newZoom[1] > totalItems) 161 | newZoom[1] = totalItems; 162 | if (newZoom[0] < 0) 163 | newZoom[0] = 0; 164 | } 165 | 166 | function zoomAndPan(zoomFactor, left) { 167 | var itemsToShow = Math.ceil(totalItems / zoomFactor); 168 | var newZoom = [left, left + itemsToShow]; 169 | verifyZoom(newZoom); 170 | currentZoom = newZoom; 171 | onZoomChanged(); 172 | } 173 | 174 | function onZoomChanged() { 175 | if (_zoomChanged != null) 176 | _zoomChanged(zoom.getZoom()); 177 | } 178 | function applyZoomAndPan() { 179 | zoomAndPan(_zoom2_factor, _left); 180 | } 181 | function getItemsToShow() { 182 | var itemsToShow = Math.ceil(totalItems / _zoom2_factor); 183 | return itemsToShow; 184 | } 185 | 186 | 187 | zoom.getZoom = function () { 188 | return { totalItems: totalItems, currentZoom: currentZoom.slice() }; 189 | } 190 | 191 | zoom.factor = function (factor, skipDraw) { 192 | if (arguments.length == 0) 193 | return _zoom2_factor; 194 | _zoom2_factor = factor; 195 | if (_zoom2_factor < 1) 196 | _zoom2_factor = 1; 197 | if (skipDraw) 198 | return; 199 | applyZoomAndPan(); 200 | } 201 | zoom.left = function (left, skipDraw) { 202 | if (arguments.length == 0) 203 | return _left; 204 | _left = left; 205 | if (_left < 0) 206 | _left = 0; 207 | var pageSize = getItemsToShow(); 208 | //_left += pageSize; 209 | if (_left + pageSize > totalItems) 210 | _left = totalItems - pageSize; 211 | console.log({ left: _left, pageSize: pageSize }); 212 | if (skipDraw) 213 | return; 214 | applyZoomAndPan(); 215 | } 216 | 217 | zoom.zoomAndPanByRatio = function (zoomRatio, panRatio) { 218 | 219 | var pageSize = getItemsToShow(); 220 | var leftOffset = Math.round(pageSize * panRatio); 221 | var mouseLeft = _left + leftOffset; 222 | zoom.factor(zoom.factor() * zoomRatio, true); 223 | 224 | var finalLeft = mouseLeft; 225 | if (zoomRatio != 1) { 226 | var pageSize2 = getItemsToShow(); 227 | var leftOffset2 = Math.round(pageSize2 * panRatio); 228 | finalLeft = mouseLeft - leftOffset2; 229 | } 230 | zoom.left(finalLeft, true); 231 | applyZoomAndPan(); 232 | } 233 | 234 | zoom.zoomIn = function () { 235 | zoom.zoomAndPanByRatio(2, 0); 236 | } 237 | 238 | zoom.zoomOut = function () { 239 | zoom.zoomAndPanByRatio(0.5, 0); 240 | } 241 | 242 | zoom.panLeft = function () { 243 | zoom.zoomAndPanByRatio(1, -1); 244 | } 245 | zoom.panRight = function () { 246 | zoom.zoomAndPanByRatio(1, 1); 247 | } 248 | 249 | zoom.reset = function () { 250 | _left = 0; 251 | _zoom2_factor = 1; 252 | applyZoomAndPan(); 253 | } 254 | 255 | function doZoom() { 256 | if (deltaY != 0) { 257 | var maxDelta = 10; 258 | var multiply = (maxDelta + deltaY) / maxDelta; 259 | //var factor = chart.zoom2.factor()*multiply; 260 | //factor= Math.ceil(factor*100) / 100; 261 | console.log({ deltaY: deltaY, multiply: multiply }); 262 | zoom.zoomAndPanByRatio(multiply, leftRatio);//0.5);//leftRatio); 263 | deltaY = 0; 264 | } 265 | } 266 | 267 | function element_mousewheel(e) { 268 | deltaY += e.deltaY; 269 | leftRatio = (e.offsetX - 70) / (e.currentTarget.offsetWidth - 70); 270 | //console.log({ "e.offsetX": e.offsetX, "e.currentTarget.offsetWidth": e.currentTarget.offsetWidth, leftRatio: leftRatio }); 271 | mousewheelTimer.set(150); 272 | e.preventDefault(); 273 | } 274 | 275 | if (bindto != null) { 276 | element = $(options.bindto); 277 | if (element.mousewheel) { 278 | mousewheelTimer = new Timer(doZoom); 279 | element.mousewheel(element_mousewheel); 280 | } 281 | } 282 | 283 | return zoom; 284 | 285 | } 286 | 287 | if (typeof (Q) == "undefined") { 288 | var Q = function () { 289 | }; 290 | 291 | Q.copy = function (src, target, options, depth) { 292 | ///Copies an object into a target object, recursively cloning any object or array in the way, overwrite=true will overwrite a primitive field value even if exists 293 | /// 294 | /// 295 | ///{ overwrite:false } 296 | ///The copied object 297 | if (depth == null) 298 | depth = 0; 299 | if (depth == 100) { 300 | console.warn("Q.copy is in depth of 100 - possible circular reference") 301 | } 302 | options = options || { overwrite: false }; 303 | if (src == target || src == null) 304 | return target; 305 | if (typeof (src) != "object") { 306 | if (options.overwrite || target == null) 307 | return src; 308 | return target; 309 | } 310 | if (typeof (src.clone) == "function") { 311 | if (options.overwrite || target == null) 312 | return src.clone(); 313 | return target; 314 | } 315 | if (target == null) { 316 | if (src instanceof Array) 317 | target = []; 318 | else 319 | target = {}; 320 | } 321 | 322 | if (src instanceof Array) { 323 | for (var i = 0; i < src.length; i++) { 324 | var item = src[i]; 325 | var item2 = target[i]; 326 | item2 = Q.copy(item, item2, options, depth + 1); 327 | target[i] = item2; 328 | } 329 | target.splice(src.length, target.length - src.length); 330 | return target; 331 | } 332 | for (var p in src) { 333 | var value = src[p]; 334 | var value2 = target[p]; 335 | value2 = Q.copy(value, value2, options, depth + 1); 336 | target[p] = value2; 337 | } 338 | return target; 339 | } 340 | } 341 | if (typeof (Timer) == "undefined") { 342 | var Timer = function (action, ms) { 343 | this.action = action; 344 | if (ms != null) 345 | this.set(ms); 346 | } 347 | 348 | Timer.prototype.set = function (ms) { 349 | if (ms == null) 350 | ms = this._ms; 351 | else 352 | this._ms = ms; 353 | this.clear(); 354 | if (ms == null) 355 | return; 356 | this.timeout = window.setTimeout(this.onTick.bind(this), ms); 357 | } 358 | 359 | Timer.prototype.onTick = function () { 360 | this.clear(); 361 | this.action(); 362 | } 363 | 364 | Timer.prototype.clear = function (ms) { 365 | if (this.timeout == null) 366 | return; 367 | window.clearTimeout(this.timeout); 368 | this.timeout = null; 369 | } 370 | } 371 | if (typeof(Array.prototype.splitIntoChunksOf)=="undefined") { 372 | Array.prototype.splitIntoChunksOf = function (countInEachChunk) { 373 | var chunks = Math.ceil(this.length / countInEachChunk); 374 | var list = []; 375 | for (var i = 0; i < this.length; i += countInEachChunk) { 376 | list.push(this.slice(i, i + countInEachChunk)); 377 | } 378 | return list; 379 | } 380 | } -------------------------------------------------------------------------------- /data.js: -------------------------------------------------------------------------------- 1 | window.vsIssueTrackerDataPoints = [{"closedIssues":146337,"openIssues":6360,"timestamp":1679240638},{"closedIssues":146336,"openIssues":6358,"timestamp":1679237038},{"closedIssues":146336,"openIssues":6353,"timestamp":1679233439},{"closedIssues":146336,"openIssues":6353,"timestamp":1679229838},{"closedIssues":146336,"openIssues":6353,"timestamp":1679226238},{"closedIssues":146333,"openIssues":6355,"timestamp":1679222638},{"closedIssues":146332,"openIssues":6353,"timestamp":1679219038},{"closedIssues":146332,"openIssues":6353,"timestamp":1679215438},{"closedIssues":146332,"openIssues":6352,"timestamp":1679211838},{"closedIssues":146332,"openIssues":6352,"timestamp":1679208238},{"closedIssues":146332,"openIssues":6351,"timestamp":1679204639},{"closedIssues":146332,"openIssues":6349,"timestamp":1679201038},{"closedIssues":146333,"openIssues":6348,"timestamp":1679197438},{"closedIssues":146332,"openIssues":6348,"timestamp":1679193838},{"closedIssues":146330,"openIssues":6346,"timestamp":1679190238},{"closedIssues":146330,"openIssues":6346,"timestamp":1679186638},{"closedIssues":146329,"openIssues":6346,"timestamp":1679183038},{"closedIssues":146325,"openIssues":6349,"timestamp":1679179438},{"closedIssues":146325,"openIssues":6349,"timestamp":1679175838},{"closedIssues":146325,"openIssues":6348,"timestamp":1679172238},{"closedIssues":146324,"openIssues":6346,"timestamp":1679168638},{"closedIssues":146324,"openIssues":6344,"timestamp":1679165038},{"closedIssues":146324,"openIssues":6342,"timestamp":1679161438},{"closedIssues":146324,"openIssues":6342,"timestamp":1679157838},{"closedIssues":146324,"openIssues":6334,"timestamp":1679154238},{"closedIssues":146323,"openIssues":6335,"timestamp":1679150638},{"closedIssues":146321,"openIssues":6335,"timestamp":1679147038},{"closedIssues":146321,"openIssues":6334,"timestamp":1679143438},{"closedIssues":146321,"openIssues":6329,"timestamp":1679139838},{"closedIssues":146315,"openIssues":6335,"timestamp":1679136238},{"closedIssues":146315,"openIssues":6334,"timestamp":1679132638},{"closedIssues":146315,"openIssues":6333,"timestamp":1679129038},{"closedIssues":146314,"openIssues":6331,"timestamp":1679125438},{"closedIssues":146314,"openIssues":6331,"timestamp":1679121839},{"closedIssues":146314,"openIssues":6331,"timestamp":1679118238},{"closedIssues":146314,"openIssues":6329,"timestamp":1679114638},{"closedIssues":146314,"openIssues":6327,"timestamp":1679111038},{"closedIssues":146313,"openIssues":6327,"timestamp":1679107438},{"closedIssues":146312,"openIssues":6328,"timestamp":1679103838},{"closedIssues":146312,"openIssues":6327,"timestamp":1679100238},{"closedIssues":146310,"openIssues":6327,"timestamp":1679096638},{"closedIssues":146307,"openIssues":6328,"timestamp":1679093039},{"closedIssues":146305,"openIssues":6327,"timestamp":1679089438},{"closedIssues":146305,"openIssues":6321,"timestamp":1679085838},{"closedIssues":146301,"openIssues":6319,"timestamp":1679082239},{"closedIssues":146293,"openIssues":6324,"timestamp":1679078638},{"closedIssues":146289,"openIssues":6323,"timestamp":1679075038},{"closedIssues":146288,"openIssues":6321,"timestamp":1679071438},{"closedIssues":146283,"openIssues":6323,"timestamp":1679067838},{"closedIssues":146276,"openIssues":6324,"timestamp":1679064239},{"closedIssues":146273,"openIssues":6322,"timestamp":1679060638},{"closedIssues":146269,"openIssues":6319,"timestamp":1679057038},{"closedIssues":146269,"openIssues":6316,"timestamp":1679053438},{"closedIssues":146253,"openIssues":6326,"timestamp":1679049838},{"closedIssues":146252,"openIssues":6324,"timestamp":1679046239},{"closedIssues":146251,"openIssues":6321,"timestamp":1679042638},{"closedIssues":146249,"openIssues":6319,"timestamp":1679039043},{"closedIssues":146248,"openIssues":6317,"timestamp":1679035439},{"closedIssues":146247,"openIssues":6317,"timestamp":1679031838},{"closedIssues":146247,"openIssues":6317,"timestamp":1679028238},{"closedIssues":146247,"openIssues":6316,"timestamp":1679024639},{"closedIssues":146247,"openIssues":6313,"timestamp":1679021038},{"closedIssues":146247,"openIssues":6312,"timestamp":1679017438},{"closedIssues":146247,"openIssues":6311,"timestamp":1679013838},{"closedIssues":146246,"openIssues":6308,"timestamp":1679010238},{"closedIssues":146242,"openIssues":6308,"timestamp":1679006638},{"closedIssues":146238,"openIssues":6311,"timestamp":1679003038},{"closedIssues":146237,"openIssues":6308,"timestamp":1678999439},{"closedIssues":146225,"openIssues":6317,"timestamp":1678995839},{"closedIssues":146221,"openIssues":6318,"timestamp":1678992239},{"closedIssues":146215,"openIssues":6318,"timestamp":1678988638},{"closedIssues":146206,"openIssues":6328,"timestamp":1678985039},{"closedIssues":146204,"openIssues":6323,"timestamp":1678981438},{"closedIssues":146201,"openIssues":6323,"timestamp":1678977838},{"closedIssues":146197,"openIssues":6326,"timestamp":1678974239},{"closedIssues":146196,"openIssues":6324,"timestamp":1678970639},{"closedIssues":146192,"openIssues":6322,"timestamp":1678967039},{"closedIssues":146178,"openIssues":6333,"timestamp":1678963438},{"closedIssues":146176,"openIssues":6331,"timestamp":1678959839},{"closedIssues":146171,"openIssues":6329,"timestamp":1678956238},{"closedIssues":146169,"openIssues":6327,"timestamp":1678952638},{"closedIssues":146168,"openIssues":6326,"timestamp":1678949038},{"closedIssues":146168,"openIssues":6324,"timestamp":1678945438},{"closedIssues":146168,"openIssues":6317,"timestamp":1678941838},{"closedIssues":146168,"openIssues":6317,"timestamp":1678938239},{"closedIssues":146168,"openIssues":6317,"timestamp":1678934638},{"closedIssues":146162,"openIssues":6321,"timestamp":1678931039},{"closedIssues":146161,"openIssues":6322,"timestamp":1678927438},{"closedIssues":146159,"openIssues":6323,"timestamp":1678923838},{"closedIssues":146156,"openIssues":6321,"timestamp":1678920238},{"closedIssues":146154,"openIssues":6319,"timestamp":1678916638},{"closedIssues":146151,"openIssues":6319,"timestamp":1678913038},{"closedIssues":146148,"openIssues":6320,"timestamp":1678909438},{"closedIssues":146145,"openIssues":6320,"timestamp":1678905838},{"closedIssues":146143,"openIssues":6318,"timestamp":1678902238},{"closedIssues":146136,"openIssues":6317,"timestamp":1678898638},{"closedIssues":146131,"openIssues":6316,"timestamp":1678895038},{"closedIssues":146121,"openIssues":6319,"timestamp":1678891439},{"closedIssues":146118,"openIssues":6309,"timestamp":1678887838},{"closedIssues":146113,"openIssues":6307,"timestamp":1678884238},{"closedIssues":146111,"openIssues":6301,"timestamp":1678880638},{"closedIssues":146055,"openIssues":6354,"timestamp":1678877038},{"closedIssues":146051,"openIssues":6354,"timestamp":1678873439},{"closedIssues":146046,"openIssues":6352,"timestamp":1678869838},{"closedIssues":146042,"openIssues":6351,"timestamp":1678866238},{"closedIssues":146039,"openIssues":6353,"timestamp":1678862638},{"closedIssues":146038,"openIssues":6350,"timestamp":1678859038},{"closedIssues":146037,"openIssues":6346,"timestamp":1678855438},{"closedIssues":146036,"openIssues":6345,"timestamp":1678851838},{"closedIssues":146035,"openIssues":6343,"timestamp":1678848238},{"closedIssues":146034,"openIssues":6339,"timestamp":1678844639},{"closedIssues":146031,"openIssues":6339,"timestamp":1678841038},{"closedIssues":146029,"openIssues":6339,"timestamp":1678837438},{"closedIssues":146028,"openIssues":6338,"timestamp":1678833838},{"closedIssues":146027,"openIssues":6337,"timestamp":1678830238},{"closedIssues":146026,"openIssues":6335,"timestamp":1678826639},{"closedIssues":146022,"openIssues":6338,"timestamp":1678823039},{"closedIssues":146017,"openIssues":6343,"timestamp":1678819438},{"closedIssues":146010,"openIssues":6348,"timestamp":1678815838},{"closedIssues":146001,"openIssues":6353,"timestamp":1678812238},{"closedIssues":146001,"openIssues":6344,"timestamp":1678808638},{"closedIssues":145999,"openIssues":6342,"timestamp":1678805038},{"closedIssues":145997,"openIssues":6337,"timestamp":1678801438},{"closedIssues":145996,"openIssues":6332,"timestamp":1678797838},{"closedIssues":145994,"openIssues":6330,"timestamp":1678794238},{"closedIssues":145978,"openIssues":6343,"timestamp":1678790638},{"closedIssues":145975,"openIssues":6344,"timestamp":1678787038},{"closedIssues":145975,"openIssues":6338,"timestamp":1678783438},{"closedIssues":145973,"openIssues":6336,"timestamp":1678779838},{"closedIssues":145971,"openIssues":6335,"timestamp":1678776238},{"closedIssues":145967,"openIssues":6336,"timestamp":1678772638},{"closedIssues":145967,"openIssues":6335,"timestamp":1678769038},{"closedIssues":145967,"openIssues":6333,"timestamp":1678765438},{"closedIssues":145966,"openIssues":6331,"timestamp":1678761839},{"closedIssues":145959,"openIssues":6335,"timestamp":1678758238},{"closedIssues":145959,"openIssues":6331,"timestamp":1678754638},{"closedIssues":145956,"openIssues":6331,"timestamp":1678751039},{"closedIssues":145955,"openIssues":6327,"timestamp":1678747438},{"closedIssues":145954,"openIssues":6327,"timestamp":1678743838},{"closedIssues":145952,"openIssues":6329,"timestamp":1678740239},{"closedIssues":145951,"openIssues":6324,"timestamp":1678736638},{"closedIssues":145949,"openIssues":6322,"timestamp":1678733038},{"closedIssues":145948,"openIssues":6321,"timestamp":1678729438},{"closedIssues":145946,"openIssues":6321,"timestamp":1678725838},{"closedIssues":145943,"openIssues":6317,"timestamp":1678722238},{"closedIssues":145934,"openIssues":6323,"timestamp":1678718639},{"closedIssues":145934,"openIssues":6321,"timestamp":1678715039},{"closedIssues":145933,"openIssues":6317,"timestamp":1678711438},{"closedIssues":145933,"openIssues":6313,"timestamp":1678707838},{"closedIssues":145921,"openIssues":6323,"timestamp":1678704239},{"closedIssues":145920,"openIssues":6321,"timestamp":1678700638},{"closedIssues":145919,"openIssues":6320,"timestamp":1678697038},{"closedIssues":145916,"openIssues":6317,"timestamp":1678693438},{"closedIssues":145915,"openIssues":6317,"timestamp":1678689838},{"closedIssues":145913,"openIssues":6319,"timestamp":1678686239},{"closedIssues":145913,"openIssues":6319,"timestamp":1678682638},{"closedIssues":145913,"openIssues":6316,"timestamp":1678679038},{"closedIssues":145913,"openIssues":6315,"timestamp":1678675439},{"closedIssues":145910,"openIssues":6317,"timestamp":1678671838},{"closedIssues":145909,"openIssues":6311,"timestamp":1678668238},{"closedIssues":145909,"openIssues":6309,"timestamp":1678664638},{"closedIssues":145906,"openIssues":6310,"timestamp":1678661038},{"closedIssues":145904,"openIssues":6306,"timestamp":1678657438},{"closedIssues":145904,"openIssues":6304,"timestamp":1678653838},{"closedIssues":145904,"openIssues":6302,"timestamp":1678650238},{"closedIssues":145903,"openIssues":6302,"timestamp":1678646638},{"closedIssues":145901,"openIssues":6306,"timestamp":1678643038},{"closedIssues":145898,"openIssues":6308,"timestamp":1678639438},{"closedIssues":145898,"openIssues":6306,"timestamp":1678635838},{"closedIssues":145897,"openIssues":6305,"timestamp":1678632238},{"closedIssues":145897,"openIssues":6305,"timestamp":1678628638},{"closedIssues":145897,"openIssues":6302,"timestamp":1678625038},{"closedIssues":145897,"openIssues":6300,"timestamp":1678621438},{"closedIssues":145894,"openIssues":6302,"timestamp":1678617838},{"closedIssues":145894,"openIssues":6301,"timestamp":1678614238},{"closedIssues":145894,"openIssues":6301,"timestamp":1678610638},{"closedIssues":145893,"openIssues":6301,"timestamp":1678607038},{"closedIssues":145891,"openIssues":6301,"timestamp":1678603438},{"closedIssues":145890,"openIssues":6300,"timestamp":1678599839},{"closedIssues":145890,"openIssues":6299,"timestamp":1678596238},{"closedIssues":145890,"openIssues":6298,"timestamp":1678592638},{"closedIssues":145890,"openIssues":6294,"timestamp":1678589038},{"closedIssues":145888,"openIssues":6295,"timestamp":1678585438},{"closedIssues":145887,"openIssues":6294,"timestamp":1678581838},{"closedIssues":145887,"openIssues":6293,"timestamp":1678578238},{"closedIssues":145887,"openIssues":6292,"timestamp":1678574639},{"closedIssues":145885,"openIssues":6294,"timestamp":1678571039},{"closedIssues":145885,"openIssues":6291,"timestamp":1678567438},{"closedIssues":145882,"openIssues":6292,"timestamp":1678563838},{"closedIssues":145882,"openIssues":6288,"timestamp":1678560238},{"closedIssues":145882,"openIssues":6288,"timestamp":1678556638},{"closedIssues":145880,"openIssues":6290,"timestamp":1678553038},{"closedIssues":145880,"openIssues":6285,"timestamp":1678549438},{"closedIssues":145880,"openIssues":6282,"timestamp":1678545838},{"closedIssues":145880,"openIssues":6280,"timestamp":1678542238},{"closedIssues":145880,"openIssues":6279,"timestamp":1678538638},{"closedIssues":145880,"openIssues":6278,"timestamp":1678535038},{"closedIssues":145875,"openIssues":6280,"timestamp":1678531438},{"closedIssues":145874,"openIssues":6279,"timestamp":1678527838},{"closedIssues":145874,"openIssues":6277,"timestamp":1678524238},{"closedIssues":145874,"openIssues":6276,"timestamp":1678520638},{"closedIssues":145873,"openIssues":6275,"timestamp":1678517038},{"closedIssues":145873,"openIssues":6274,"timestamp":1678513438},{"closedIssues":145873,"openIssues":6274,"timestamp":1678509839},{"closedIssues":145873,"openIssues":6273,"timestamp":1678506238},{"closedIssues":145873,"openIssues":6271,"timestamp":1678502638},{"closedIssues":145873,"openIssues":6268,"timestamp":1678499039},{"closedIssues":145872,"openIssues":6269,"timestamp":1678495439},{"closedIssues":145871,"openIssues":6268,"timestamp":1678491838},{"closedIssues":145870,"openIssues":6267,"timestamp":1678488239},{"closedIssues":145870,"openIssues":6266,"timestamp":1678484638},{"closedIssues":145870,"openIssues":6266,"timestamp":1678481038},{"closedIssues":145869,"openIssues":6266,"timestamp":1678477438},{"closedIssues":145867,"openIssues":6266,"timestamp":1678473838},{"closedIssues":145867,"openIssues":6261,"timestamp":1678470238},{"closedIssues":145866,"openIssues":6254,"timestamp":1678466638},{"closedIssues":145863,"openIssues":6252,"timestamp":1678463038},{"closedIssues":145862,"openIssues":6244,"timestamp":1678459438},{"closedIssues":145860,"openIssues":6239,"timestamp":1678455838},{"closedIssues":145860,"openIssues":6237,"timestamp":1678452239},{"closedIssues":145854,"openIssues":6231,"timestamp":1678448639},{"closedIssues":145850,"openIssues":6230,"timestamp":1678445038},{"closedIssues":145850,"openIssues":6229,"timestamp":1678441439},{"closedIssues":145848,"openIssues":6226,"timestamp":1678437838},{"closedIssues":145846,"openIssues":6223,"timestamp":1678434239},{"closedIssues":145842,"openIssues":6221,"timestamp":1678430639},{"closedIssues":145841,"openIssues":6220,"timestamp":1678427038},{"closedIssues":145841,"openIssues":6216,"timestamp":1678423438},{"closedIssues":145841,"openIssues":6213,"timestamp":1678419838},{"closedIssues":145840,"openIssues":6210,"timestamp":1678416239},{"closedIssues":145835,"openIssues":6215,"timestamp":1678412638},{"closedIssues":145836,"openIssues":6211,"timestamp":1678409038},{"closedIssues":145836,"openIssues":6208,"timestamp":1678405439},{"closedIssues":145836,"openIssues":6206,"timestamp":1678401838},{"closedIssues":145836,"openIssues":6203,"timestamp":1678398238},{"closedIssues":145834,"openIssues":6200,"timestamp":1678394640},{"closedIssues":145831,"openIssues":6201,"timestamp":1678391038},{"closedIssues":145826,"openIssues":6200,"timestamp":1678387438},{"closedIssues":145819,"openIssues":6202,"timestamp":1678383838},{"closedIssues":145815,"openIssues":6199,"timestamp":1678380239},{"closedIssues":145811,"openIssues":6197,"timestamp":1678376638},{"closedIssues":145807,"openIssues":6198,"timestamp":1678373038},{"closedIssues":145803,"openIssues":6196,"timestamp":1678369438},{"closedIssues":145801,"openIssues":6195,"timestamp":1678365839},{"closedIssues":145796,"openIssues":6196,"timestamp":1678362238},{"closedIssues":145785,"openIssues":6204,"timestamp":1678358638},{"closedIssues":145784,"openIssues":6197,"timestamp":1678355038},{"closedIssues":145784,"openIssues":6194,"timestamp":1678351438},{"closedIssues":145783,"openIssues":6193,"timestamp":1678347838},{"closedIssues":145781,"openIssues":6184,"timestamp":1678344238},{"closedIssues":145780,"openIssues":6182,"timestamp":1678340638},{"closedIssues":145780,"openIssues":6175,"timestamp":1678337038},{"closedIssues":145780,"openIssues":6171,"timestamp":1678333438},{"closedIssues":145773,"openIssues":6175,"timestamp":1678329838},{"closedIssues":145764,"openIssues":6183,"timestamp":1678326238},{"closedIssues":145764,"openIssues":6182,"timestamp":1678322638},{"closedIssues":145764,"openIssues":6182,"timestamp":1678319038},{"closedIssues":145763,"openIssues":6180,"timestamp":1678315438},{"closedIssues":145760,"openIssues":6178,"timestamp":1678311839},{"closedIssues":145759,"openIssues":6175,"timestamp":1678308238},{"closedIssues":145756,"openIssues":6175,"timestamp":1678304638},{"closedIssues":145753,"openIssues":6168,"timestamp":1678301039},{"closedIssues":145749,"openIssues":6168,"timestamp":1678297438},{"closedIssues":145749,"openIssues":6166,"timestamp":1678293838},{"closedIssues":145745,"openIssues":6170,"timestamp":1678290239},{"closedIssues":145741,"openIssues":6171,"timestamp":1678286638},{"closedIssues":145734,"openIssues":6172,"timestamp":1678283038},{"closedIssues":145733,"openIssues":6169,"timestamp":1678279438},{"closedIssues":145733,"openIssues":6167,"timestamp":1678275838},{"closedIssues":145721,"openIssues":6175,"timestamp":1678272238},{"closedIssues":145716,"openIssues":6176,"timestamp":1678268638},{"closedIssues":145716,"openIssues":6173,"timestamp":1678265038},{"closedIssues":145715,"openIssues":6171,"timestamp":1678261439},{"closedIssues":145711,"openIssues":6165,"timestamp":1678257838},{"closedIssues":145711,"openIssues":6163,"timestamp":1678254238},{"closedIssues":145711,"openIssues":6160,"timestamp":1678250638},{"closedIssues":145710,"openIssues":6158,"timestamp":1678247038},{"closedIssues":145709,"openIssues":6159,"timestamp":1678243438},{"closedIssues":145708,"openIssues":6159,"timestamp":1678239839},{"closedIssues":145707,"openIssues":6158,"timestamp":1678236238},{"closedIssues":145705,"openIssues":6158,"timestamp":1678232639},{"closedIssues":145704,"openIssues":6156,"timestamp":1678229038},{"closedIssues":145701,"openIssues":6157,"timestamp":1678225438},{"closedIssues":145698,"openIssues":6155,"timestamp":1678221838},{"closedIssues":145696,"openIssues":6156,"timestamp":1678218238},{"closedIssues":145693,"openIssues":6154,"timestamp":1678214639},{"closedIssues":145690,"openIssues":6155,"timestamp":1678211039},{"closedIssues":145686,"openIssues":6160,"timestamp":1678207438},{"closedIssues":145682,"openIssues":6158,"timestamp":1678203838},{"closedIssues":145675,"openIssues":6159,"timestamp":1678200238},{"closedIssues":145675,"openIssues":6158,"timestamp":1678196639},{"closedIssues":145672,"openIssues":6150,"timestamp":1678193039},{"closedIssues":145672,"openIssues":6145,"timestamp":1678189438},{"closedIssues":145659,"openIssues":6152,"timestamp":1678185839},{"closedIssues":145656,"openIssues":6148,"timestamp":1678182238},{"closedIssues":145656,"openIssues":6145,"timestamp":1678178639},{"closedIssues":145656,"openIssues":6139,"timestamp":1678175039},{"closedIssues":145655,"openIssues":6139,"timestamp":1678171439},{"closedIssues":145655,"openIssues":6139,"timestamp":1678167839},{"closedIssues":145655,"openIssues":6139,"timestamp":1678164238},{"closedIssues":145654,"openIssues":6139,"timestamp":1678160638},{"closedIssues":145653,"openIssues":6138,"timestamp":1678157038},{"closedIssues":145651,"openIssues":6138,"timestamp":1678153439},{"closedIssues":145648,"openIssues":6137,"timestamp":1678149838},{"closedIssues":145646,"openIssues":6136,"timestamp":1678146238},{"closedIssues":145644,"openIssues":6132,"timestamp":1678142638},{"closedIssues":145644,"openIssues":6133,"timestamp":1678139039},{"closedIssues":145642,"openIssues":6131,"timestamp":1678135438},{"closedIssues":145640,"openIssues":6131,"timestamp":1678131838},{"closedIssues":145638,"openIssues":6126,"timestamp":1678128239},{"closedIssues":145636,"openIssues":6125,"timestamp":1678124639},{"closedIssues":145629,"openIssues":6126,"timestamp":1678121038},{"closedIssues":145620,"openIssues":6116,"timestamp":1678117438},{"closedIssues":145616,"openIssues":6115,"timestamp":1678113839},{"closedIssues":145612,"openIssues":6117,"timestamp":1678110238},{"closedIssues":145612,"openIssues":6115,"timestamp":1678106639},{"closedIssues":145611,"openIssues":6115,"timestamp":1678103038},{"closedIssues":145606,"openIssues":6113,"timestamp":1678099438},{"closedIssues":145606,"openIssues":6107,"timestamp":1678095838},{"closedIssues":145606,"openIssues":6105,"timestamp":1678092238},{"closedIssues":145603,"openIssues":6106,"timestamp":1678088638},{"closedIssues":145602,"openIssues":6095,"timestamp":1678085038},{"closedIssues":145602,"openIssues":6095,"timestamp":1678081438},{"closedIssues":145602,"openIssues":6094,"timestamp":1678077838},{"closedIssues":145601,"openIssues":6095,"timestamp":1678074239},{"closedIssues":145601,"openIssues":6094,"timestamp":1678070638},{"closedIssues":145601,"openIssues":6093,"timestamp":1678067038},{"closedIssues":145600,"openIssues":6092,"timestamp":1678063438},{"closedIssues":145600,"openIssues":6090,"timestamp":1678059838},{"closedIssues":145599,"openIssues":6090,"timestamp":1678056238},{"closedIssues":145595,"openIssues":6094,"timestamp":1678052638},{"closedIssues":145595,"openIssues":6094,"timestamp":1678049038},{"closedIssues":145595,"openIssues":6092,"timestamp":1678045438},{"closedIssues":145593,"openIssues":6090,"timestamp":1678041838},{"closedIssues":145593,"openIssues":6087,"timestamp":1678038238},{"closedIssues":145593,"openIssues":6087,"timestamp":1678034638},{"closedIssues":145593,"openIssues":6085,"timestamp":1678031038},{"closedIssues":145593,"openIssues":6084,"timestamp":1678027438},{"closedIssues":145592,"openIssues":6082,"timestamp":1678023838},{"closedIssues":145592,"openIssues":6081,"timestamp":1678020239},{"closedIssues":145592,"openIssues":6078,"timestamp":1678016638},{"closedIssues":145588,"openIssues":6082,"timestamp":1678013038},{"closedIssues":145587,"openIssues":6083,"timestamp":1678009438},{"closedIssues":145587,"openIssues":6078,"timestamp":1678005838},{"closedIssues":145587,"openIssues":6077,"timestamp":1678002238},{"closedIssues":145587,"openIssues":6078,"timestamp":1677998638},{"closedIssues":145587,"openIssues":6074,"timestamp":1677995038},{"closedIssues":145587,"openIssues":6073,"timestamp":1677991438},{"closedIssues":145587,"openIssues":6073,"timestamp":1677987838},{"closedIssues":145579,"openIssues":6080,"timestamp":1677984238},{"closedIssues":145579,"openIssues":6078,"timestamp":1677980638},{"closedIssues":145576,"openIssues":6080,"timestamp":1677977038},{"closedIssues":145576,"openIssues":6079,"timestamp":1677973438},{"closedIssues":145576,"openIssues":6076,"timestamp":1677969838},{"closedIssues":145576,"openIssues":6074,"timestamp":1677966239},{"closedIssues":145575,"openIssues":6075,"timestamp":1677962638},{"closedIssues":145575,"openIssues":6074,"timestamp":1677959038},{"closedIssues":145575,"openIssues":6070,"timestamp":1677955438},{"closedIssues":145575,"openIssues":6069,"timestamp":1677951838},{"closedIssues":145575,"openIssues":6067,"timestamp":1677948238},{"closedIssues":145575,"openIssues":6066,"timestamp":1677944638},{"closedIssues":145575,"openIssues":6065,"timestamp":1677941038},{"closedIssues":145575,"openIssues":6065,"timestamp":1677937438},{"closedIssues":145574,"openIssues":6065,"timestamp":1677933838},{"closedIssues":145574,"openIssues":6063,"timestamp":1677930238},{"closedIssues":145568,"openIssues":6069,"timestamp":1677926638},{"closedIssues":145568,"openIssues":6067,"timestamp":1677923039},{"closedIssues":145568,"openIssues":6066,"timestamp":1677919438},{"closedIssues":145568,"openIssues":6066,"timestamp":1677915838},{"closedIssues":145568,"openIssues":6065,"timestamp":1677912238},{"closedIssues":145566,"openIssues":6067,"timestamp":1677908638},{"closedIssues":145566,"openIssues":6066,"timestamp":1677905039},{"closedIssues":145565,"openIssues":6063,"timestamp":1677901438},{"closedIssues":145564,"openIssues":6062,"timestamp":1677897838},{"closedIssues":145564,"openIssues":6061,"timestamp":1677894238},{"closedIssues":145564,"openIssues":6060,"timestamp":1677890638},{"closedIssues":145561,"openIssues":6062,"timestamp":1677887038},{"closedIssues":145560,"openIssues":6062,"timestamp":1677883438},{"closedIssues":145560,"openIssues":6062,"timestamp":1677879838},{"closedIssues":145555,"openIssues":6067,"timestamp":1677876238},{"closedIssues":145552,"openIssues":6070,"timestamp":1677872639},{"closedIssues":145550,"openIssues":6069,"timestamp":1677869038},{"closedIssues":145548,"openIssues":6067,"timestamp":1677865438},{"closedIssues":145544,"openIssues":6066,"timestamp":1677861839},{"closedIssues":145537,"openIssues":6062,"timestamp":1677858238},{"closedIssues":145533,"openIssues":6061,"timestamp":1677854638},{"closedIssues":145532,"openIssues":6058,"timestamp":1677851038},{"closedIssues":145531,"openIssues":6056,"timestamp":1677847438},{"closedIssues":145530,"openIssues":6054,"timestamp":1677843838},{"closedIssues":145514,"openIssues":6069,"timestamp":1677840239},{"closedIssues":145513,"openIssues":6066,"timestamp":1677836638},{"closedIssues":145511,"openIssues":6064,"timestamp":1677833038},{"closedIssues":145510,"openIssues":6064,"timestamp":1677829438},{"closedIssues":145509,"openIssues":6062,"timestamp":1677825838},{"closedIssues":145509,"openIssues":6058,"timestamp":1677822238},{"closedIssues":145508,"openIssues":6057,"timestamp":1677818638},{"closedIssues":145507,"openIssues":6053,"timestamp":1677815038},{"closedIssues":145508,"openIssues":6050,"timestamp":1677811438},{"closedIssues":145507,"openIssues":6050,"timestamp":1677807838},{"closedIssues":145505,"openIssues":6047,"timestamp":1677804238},{"closedIssues":145505,"openIssues":6045,"timestamp":1677800638},{"closedIssues":145505,"openIssues":6043,"timestamp":1677797038},{"closedIssues":145503,"openIssues":6041,"timestamp":1677793438},{"closedIssues":145501,"openIssues":6038,"timestamp":1677789838},{"closedIssues":145499,"openIssues":6038,"timestamp":1677786239},{"closedIssues":145497,"openIssues":6033,"timestamp":1677782639},{"closedIssues":145495,"openIssues":6028,"timestamp":1677779038},{"closedIssues":145490,"openIssues":6024,"timestamp":1677775438},{"closedIssues":145486,"openIssues":6023,"timestamp":1677771839},{"closedIssues":145479,"openIssues":6023,"timestamp":1677768238},{"closedIssues":145475,"openIssues":6023,"timestamp":1677764639},{"closedIssues":145470,"openIssues":6024,"timestamp":1677761038},{"closedIssues":145469,"openIssues":6020,"timestamp":1677757439},{"closedIssues":145457,"openIssues":6024,"timestamp":1677753838},{"closedIssues":145455,"openIssues":6021,"timestamp":1677750238},{"closedIssues":145454,"openIssues":6014,"timestamp":1677746639},{"closedIssues":145452,"openIssues":6014,"timestamp":1677743038},{"closedIssues":145451,"openIssues":6013,"timestamp":1677739439},{"closedIssues":145451,"openIssues":6010,"timestamp":1677735838},{"closedIssues":145451,"openIssues":6008,"timestamp":1677732238},{"closedIssues":145450,"openIssues":6005,"timestamp":1677728638},{"closedIssues":145450,"openIssues":6001,"timestamp":1677725039},{"closedIssues":145450,"openIssues":6000,"timestamp":1677721438},{"closedIssues":145448,"openIssues":6002,"timestamp":1677717838},{"closedIssues":145447,"openIssues":6000,"timestamp":1677714238},{"closedIssues":145446,"openIssues":5999,"timestamp":1677710638},{"closedIssues":145445,"openIssues":5997,"timestamp":1677707038},{"closedIssues":145443,"openIssues":5992,"timestamp":1677703439},{"closedIssues":145439,"openIssues":5988,"timestamp":1677699838},{"closedIssues":145434,"openIssues":5989,"timestamp":1677696238},{"closedIssues":145432,"openIssues":5982,"timestamp":1677692638},{"closedIssues":145429,"openIssues":5982,"timestamp":1677689038},{"closedIssues":145428,"openIssues":5980,"timestamp":1677685438},{"closedIssues":145427,"openIssues":5979,"timestamp":1677681838},{"closedIssues":145427,"openIssues":5976,"timestamp":1677678239},{"closedIssues":145427,"openIssues":5974,"timestamp":1677674638},{"closedIssues":145426,"openIssues":5973,"timestamp":1677671038},{"closedIssues":145413,"openIssues":5981,"timestamp":1677667438},{"closedIssues":145413,"openIssues":5980,"timestamp":1677663838},{"closedIssues":145413,"openIssues":5979,"timestamp":1677660238},{"closedIssues":145411,"openIssues":5976,"timestamp":1677656638},{"closedIssues":145410,"openIssues":5974,"timestamp":1677653039},{"closedIssues":145408,"openIssues":5974,"timestamp":1677649438},{"closedIssues":145408,"openIssues":5974,"timestamp":1677645839},{"closedIssues":145408,"openIssues":5974,"timestamp":1677642238},{"closedIssues":145406,"openIssues":5975,"timestamp":1677638638},{"closedIssues":145406,"openIssues":5975,"timestamp":1677635038},{"closedIssues":145404,"openIssues":5976,"timestamp":1677631438},{"closedIssues":145400,"openIssues":5979,"timestamp":1677627838},{"closedIssues":145398,"openIssues":5977,"timestamp":1677624238},{"closedIssues":145395,"openIssues":5980,"timestamp":1677620638},{"closedIssues":145391,"openIssues":5980,"timestamp":1677617038},{"closedIssues":145388,"openIssues":5980,"timestamp":1677613438},{"closedIssues":145380,"openIssues":5986,"timestamp":1677609838},{"closedIssues":145375,"openIssues":5989,"timestamp":1677606239},{"closedIssues":145373,"openIssues":5988,"timestamp":1677602638},{"closedIssues":145365,"openIssues":5988,"timestamp":1677599039},{"closedIssues":145352,"openIssues":5998,"timestamp":1677595438},{"closedIssues":145341,"openIssues":6005,"timestamp":1677591838},{"closedIssues":145340,"openIssues":6005,"timestamp":1677588238},{"closedIssues":145340,"openIssues":6004,"timestamp":1677584638},{"closedIssues":145320,"openIssues":6019,"timestamp":1677581038},{"closedIssues":145319,"openIssues":6017,"timestamp":1677577439},{"closedIssues":145317,"openIssues":6019,"timestamp":1677573839},{"closedIssues":145316,"openIssues":6016,"timestamp":1677570238},{"closedIssues":145315,"openIssues":6013,"timestamp":1677566639},{"closedIssues":145314,"openIssues":6013,"timestamp":1677563038},{"closedIssues":145313,"openIssues":6012,"timestamp":1677559438},{"closedIssues":145313,"openIssues":6009,"timestamp":1677555838},{"closedIssues":145312,"openIssues":6008,"timestamp":1677552238},{"closedIssues":145305,"openIssues":6013,"timestamp":1677548638},{"closedIssues":145304,"openIssues":6013,"timestamp":1677545038},{"closedIssues":145303,"openIssues":6011,"timestamp":1677541439},{"closedIssues":145298,"openIssues":6014,"timestamp":1677537838},{"closedIssues":145288,"openIssues":6021,"timestamp":1677534238},{"closedIssues":145286,"openIssues":6020,"timestamp":1677530638},{"closedIssues":145285,"openIssues":6020,"timestamp":1677527038},{"closedIssues":145268,"openIssues":6035,"timestamp":1677523438},{"closedIssues":145261,"openIssues":6036,"timestamp":1677519838},{"closedIssues":145254,"openIssues":6041,"timestamp":1677516239},{"closedIssues":145242,"openIssues":6049,"timestamp":1677512638},{"closedIssues":145237,"openIssues":6051,"timestamp":1677509038},{"closedIssues":145237,"openIssues":6048,"timestamp":1677505438},{"closedIssues":145230,"openIssues":6053,"timestamp":1677501838},{"closedIssues":145230,"openIssues":6053,"timestamp":1677498238},{"closedIssues":145221,"openIssues":6060,"timestamp":1677494638},{"closedIssues":145219,"openIssues":6037,"timestamp":1677491038},{"closedIssues":145217,"openIssues":6038,"timestamp":1677487438},{"closedIssues":145215,"openIssues":6037,"timestamp":1677483838},{"closedIssues":145215,"openIssues":6037,"timestamp":1677480238},{"closedIssues":145215,"openIssues":6036,"timestamp":1677476638},{"closedIssues":145214,"openIssues":6036,"timestamp":1677473038},{"closedIssues":145212,"openIssues":6036,"timestamp":1677469438},{"closedIssues":145212,"openIssues":6033,"timestamp":1677465838},{"closedIssues":145210,"openIssues":6033,"timestamp":1677462238},{"closedIssues":145210,"openIssues":6027,"timestamp":1677458638},{"closedIssues":145210,"openIssues":6026,"timestamp":1677455038},{"closedIssues":145208,"openIssues":6028,"timestamp":1677451438},{"closedIssues":145208,"openIssues":6027,"timestamp":1677447838},{"closedIssues":145208,"openIssues":6025,"timestamp":1677444238},{"closedIssues":145207,"openIssues":6024,"timestamp":1677440638},{"closedIssues":145207,"openIssues":6023,"timestamp":1677437038},{"closedIssues":145207,"openIssues":6023,"timestamp":1677433438},{"closedIssues":145207,"openIssues":6022,"timestamp":1677429838},{"closedIssues":145207,"openIssues":6020,"timestamp":1677426238},{"closedIssues":145207,"openIssues":6019,"timestamp":1677422638},{"closedIssues":145207,"openIssues":6017,"timestamp":1677419038},{"closedIssues":145206,"openIssues":6016,"timestamp":1677415438},{"closedIssues":145206,"openIssues":6012,"timestamp":1677411838},{"closedIssues":145203,"openIssues":6012,"timestamp":1677408238},{"closedIssues":145203,"openIssues":6011,"timestamp":1677404639},{"closedIssues":145202,"openIssues":6011,"timestamp":1677401038},{"closedIssues":145202,"openIssues":6011,"timestamp":1677397439},{"closedIssues":145202,"openIssues":6011,"timestamp":1677393838},{"closedIssues":145202,"openIssues":6011,"timestamp":1677390238},{"closedIssues":145202,"openIssues":6011,"timestamp":1677386638},{"closedIssues":145202,"openIssues":6010,"timestamp":1677383038},{"closedIssues":145198,"openIssues":6013,"timestamp":1677379439},{"closedIssues":145198,"openIssues":6013,"timestamp":1677375838},{"closedIssues":145197,"openIssues":6012,"timestamp":1677372239},{"closedIssues":145197,"openIssues":6011,"timestamp":1677368638},{"closedIssues":145197,"openIssues":6010,"timestamp":1677365038},{"closedIssues":145195,"openIssues":6011,"timestamp":1677361438},{"closedIssues":145193,"openIssues":6011,"timestamp":1677357838},{"closedIssues":145193,"openIssues":6010,"timestamp":1677354238},{"closedIssues":145193,"openIssues":6007,"timestamp":1677350639},{"closedIssues":145193,"openIssues":6007,"timestamp":1677347039},{"closedIssues":145193,"openIssues":6004,"timestamp":1677343438},{"closedIssues":145193,"openIssues":6004,"timestamp":1677339838},{"closedIssues":145191,"openIssues":6004,"timestamp":1677336239},{"closedIssues":145191,"openIssues":6004,"timestamp":1677332638},{"closedIssues":145191,"openIssues":6001,"timestamp":1677329038},{"closedIssues":145190,"openIssues":6000,"timestamp":1677325438},{"closedIssues":145187,"openIssues":6001,"timestamp":1677321839},{"closedIssues":145185,"openIssues":6001,"timestamp":1677318238},{"closedIssues":145185,"openIssues":6000,"timestamp":1677314638},{"closedIssues":145185,"openIssues":5998,"timestamp":1677311039},{"closedIssues":145185,"openIssues":5998,"timestamp":1677307438},{"closedIssues":145184,"openIssues":5998,"timestamp":1677303838},{"closedIssues":145184,"openIssues":5997,"timestamp":1677300238},{"closedIssues":145184,"openIssues":5994,"timestamp":1677296638},{"closedIssues":145184,"openIssues":5994,"timestamp":1677293038},{"closedIssues":145184,"openIssues":5993,"timestamp":1677289438},{"closedIssues":145184,"openIssues":5992,"timestamp":1677285839},{"closedIssues":145183,"openIssues":5991,"timestamp":1677282238},{"closedIssues":145180,"openIssues":5988,"timestamp":1677278638},{"closedIssues":145178,"openIssues":5987,"timestamp":1677275038},{"closedIssues":145178,"openIssues":5987,"timestamp":1677271439},{"closedIssues":145174,"openIssues":5991,"timestamp":1677267838},{"closedIssues":145168,"openIssues":5993,"timestamp":1677264238},{"closedIssues":145165,"openIssues":5996,"timestamp":1677260639},{"closedIssues":145164,"openIssues":5994,"timestamp":1677257039},{"closedIssues":145157,"openIssues":5991,"timestamp":1677253438},{"closedIssues":145153,"openIssues":5991,"timestamp":1677249838},{"closedIssues":145152,"openIssues":5990,"timestamp":1677246238},{"closedIssues":145150,"openIssues":5988,"timestamp":1677242638},{"closedIssues":145149,"openIssues":5987,"timestamp":1677239038},{"closedIssues":145136,"openIssues":6001,"timestamp":1677235439},{"closedIssues":145136,"openIssues":5997,"timestamp":1677231839},{"closedIssues":145135,"openIssues":5996,"timestamp":1677228238},{"closedIssues":145135,"openIssues":5992,"timestamp":1677224638},{"closedIssues":145135,"openIssues":5988,"timestamp":1677221038},{"closedIssues":145131,"openIssues":5991,"timestamp":1677217438},{"closedIssues":145131,"openIssues":5989,"timestamp":1677213838},{"closedIssues":145131,"openIssues":5989,"timestamp":1677210239},{"closedIssues":145131,"openIssues":5989,"timestamp":1677206638},{"closedIssues":145130,"openIssues":5989,"timestamp":1677203039},{"closedIssues":145130,"openIssues":5988,"timestamp":1677199438},{"closedIssues":145129,"openIssues":5986,"timestamp":1677195838},{"closedIssues":145126,"openIssues":5988,"timestamp":1677192239},{"closedIssues":145124,"openIssues":5987,"timestamp":1677188639},{"closedIssues":145124,"openIssues":5982,"timestamp":1677185039},{"closedIssues":145122,"openIssues":5980,"timestamp":1677181438},{"closedIssues":145120,"openIssues":5980,"timestamp":1677177839},{"closedIssues":145117,"openIssues":5979,"timestamp":1677174239},{"closedIssues":145113,"openIssues":5979,"timestamp":1677170639},{"closedIssues":145114,"openIssues":5972,"timestamp":1677167039},{"closedIssues":145110,"openIssues":5974,"timestamp":1677163438},{"closedIssues":145105,"openIssues":5977,"timestamp":1677159838},{"closedIssues":145103,"openIssues":5973,"timestamp":1677156239},{"closedIssues":145099,"openIssues":5973,"timestamp":1677152639},{"closedIssues":145090,"openIssues":5977,"timestamp":1677149038},{"closedIssues":145089,"openIssues":5974,"timestamp":1677145438},{"closedIssues":145088,"openIssues":5973,"timestamp":1677141838},{"closedIssues":145084,"openIssues":5976,"timestamp":1677138239},{"closedIssues":145084,"openIssues":5973,"timestamp":1677134638},{"closedIssues":145084,"openIssues":5971,"timestamp":1677131038},{"closedIssues":145084,"openIssues":5968,"timestamp":1677127438},{"closedIssues":145083,"openIssues":5967,"timestamp":1677123838},{"closedIssues":145082,"openIssues":5966,"timestamp":1677120238},{"closedIssues":145082,"openIssues":5965,"timestamp":1677116639},{"closedIssues":145079,"openIssues":5967,"timestamp":1677113038},{"closedIssues":145079,"openIssues":5965,"timestamp":1677109438},{"closedIssues":145076,"openIssues":5966,"timestamp":1677105839},{"closedIssues":145074,"openIssues":5965,"timestamp":1677102238},{"closedIssues":145068,"openIssues":5964,"timestamp":1677098638},{"closedIssues":145061,"openIssues":5964,"timestamp":1677095039},{"closedIssues":145055,"openIssues":5969,"timestamp":1677091438},{"closedIssues":145051,"openIssues":5969,"timestamp":1677087839},{"closedIssues":145033,"openIssues":5979,"timestamp":1677084239},{"closedIssues":145026,"openIssues":5983,"timestamp":1677080638},{"closedIssues":145019,"openIssues":5986,"timestamp":1677077038},{"closedIssues":145017,"openIssues":5981,"timestamp":1677073438},{"closedIssues":145013,"openIssues":5980,"timestamp":1677069838},{"closedIssues":145011,"openIssues":5978,"timestamp":1677066238},{"closedIssues":144995,"openIssues":5991,"timestamp":1677062639},{"closedIssues":144993,"openIssues":5993,"timestamp":1677059039},{"closedIssues":144991,"openIssues":5993,"timestamp":1677055439},{"closedIssues":144989,"openIssues":5990,"timestamp":1677051838},{"closedIssues":144985,"openIssues":5991,"timestamp":1677048239},{"closedIssues":144978,"openIssues":5992,"timestamp":1677044639},{"closedIssues":144976,"openIssues":5994,"timestamp":1677041038},{"closedIssues":144963,"openIssues":6006,"timestamp":1677037438},{"closedIssues":144962,"openIssues":6004,"timestamp":1677033838},{"closedIssues":144961,"openIssues":6001,"timestamp":1677030238},{"closedIssues":144957,"openIssues":5993,"timestamp":1677026638},{"closedIssues":144954,"openIssues":5986,"timestamp":1677023038},{"closedIssues":144950,"openIssues":5984,"timestamp":1677019438},{"closedIssues":144944,"openIssues":5977,"timestamp":1677015839},{"closedIssues":144937,"openIssues":5974,"timestamp":1677012238},{"closedIssues":144931,"openIssues":5976,"timestamp":1677008638},{"closedIssues":144926,"openIssues":5968,"timestamp":1677005038},{"closedIssues":144922,"openIssues":5947,"timestamp":1677001438},{"closedIssues":144916,"openIssues":5941,"timestamp":1676997839},{"closedIssues":144898,"openIssues":5956,"timestamp":1676994238},{"closedIssues":144891,"openIssues":5954,"timestamp":1676990638},{"closedIssues":144885,"openIssues":5957,"timestamp":1676987038},{"closedIssues":144883,"openIssues":5958,"timestamp":1676983438},{"closedIssues":144881,"openIssues":5954,"timestamp":1676979838},{"closedIssues":144867,"openIssues":5953,"timestamp":1676976238},{"closedIssues":144867,"openIssues":5947,"timestamp":1676972638},{"closedIssues":144864,"openIssues":5947,"timestamp":1676969038},{"closedIssues":144864,"openIssues":5944,"timestamp":1676965439},{"closedIssues":144863,"openIssues":5943,"timestamp":1676961838},{"closedIssues":144863,"openIssues":5943,"timestamp":1676958238},{"closedIssues":144863,"openIssues":5942,"timestamp":1676954639},{"closedIssues":144862,"openIssues":5942,"timestamp":1676951038},{"closedIssues":144854,"openIssues":5950,"timestamp":1676947438},{"closedIssues":144814,"openIssues":5990,"timestamp":1676943838},{"closedIssues":144814,"openIssues":5987,"timestamp":1676940238},{"closedIssues":144813,"openIssues":5986,"timestamp":1676936638},{"closedIssues":144811,"openIssues":5982,"timestamp":1676933038},{"closedIssues":144811,"openIssues":5982,"timestamp":1676929438},{"closedIssues":144806,"openIssues":5983,"timestamp":1676925838},{"closedIssues":144806,"openIssues":5982,"timestamp":1676922238},{"closedIssues":144808,"openIssues":5978,"timestamp":1676918639},{"closedIssues":144807,"openIssues":5977,"timestamp":1676915038},{"closedIssues":144802,"openIssues":5981,"timestamp":1676911439},{"closedIssues":144793,"openIssues":5992,"timestamp":1676907838},{"closedIssues":144785,"openIssues":5999,"timestamp":1676904238},{"closedIssues":144784,"openIssues":5998,"timestamp":1676900638},{"closedIssues":144779,"openIssues":6002,"timestamp":1676897038},{"closedIssues":144776,"openIssues":5999,"timestamp":1676893439},{"closedIssues":144770,"openIssues":6004,"timestamp":1676889838},{"closedIssues":144769,"openIssues":6003,"timestamp":1676886238},{"closedIssues":144766,"openIssues":6006,"timestamp":1676882638},{"closedIssues":144764,"openIssues":6003,"timestamp":1676879038},{"closedIssues":144762,"openIssues":6004,"timestamp":1676875438},{"closedIssues":144762,"openIssues":6003,"timestamp":1676871838},{"closedIssues":144762,"openIssues":6001,"timestamp":1676868238},{"closedIssues":144762,"openIssues":6001,"timestamp":1676864638},{"closedIssues":144761,"openIssues":6000,"timestamp":1676861039},{"closedIssues":144761,"openIssues":5999,"timestamp":1676857438},{"closedIssues":144760,"openIssues":5999,"timestamp":1676853838},{"closedIssues":144759,"openIssues":5999,"timestamp":1676850238},{"closedIssues":144759,"openIssues":5996,"timestamp":1676846638},{"closedIssues":144759,"openIssues":5994,"timestamp":1676843039},{"closedIssues":144759,"openIssues":5993,"timestamp":1676839438},{"closedIssues":144759,"openIssues":5992,"timestamp":1676835838},{"closedIssues":144759,"openIssues":5991,"timestamp":1676832238},{"closedIssues":144759,"openIssues":5991,"timestamp":1676828638},{"closedIssues":144758,"openIssues":5990,"timestamp":1676825038},{"closedIssues":144757,"openIssues":5989,"timestamp":1676821439},{"closedIssues":144757,"openIssues":5988,"timestamp":1676817838},{"closedIssues":144757,"openIssues":5987,"timestamp":1676814238},{"closedIssues":144757,"openIssues":5985,"timestamp":1676810638},{"closedIssues":144757,"openIssues":5984,"timestamp":1676807039},{"closedIssues":144755,"openIssues":5985,"timestamp":1676803438},{"closedIssues":144754,"openIssues":5985,"timestamp":1676799838},{"closedIssues":144754,"openIssues":5984,"timestamp":1676796238},{"closedIssues":144754,"openIssues":5983,"timestamp":1676792638},{"closedIssues":144753,"openIssues":5982,"timestamp":1676789038},{"closedIssues":144754,"openIssues":5981,"timestamp":1676785438},{"closedIssues":144754,"openIssues":5979,"timestamp":1676781839},{"closedIssues":144753,"openIssues":5975,"timestamp":1676778238},{"closedIssues":144752,"openIssues":5974,"timestamp":1676774638},{"closedIssues":144749,"openIssues":5976,"timestamp":1676771038},{"closedIssues":144749,"openIssues":5976,"timestamp":1676767438},{"closedIssues":144749,"openIssues":5974,"timestamp":1676763838},{"closedIssues":144749,"openIssues":5972,"timestamp":1676760238},{"closedIssues":144749,"openIssues":5971,"timestamp":1676756638},{"closedIssues":144749,"openIssues":5970,"timestamp":1676753038},{"closedIssues":144749,"openIssues":5969,"timestamp":1676749438},{"closedIssues":144749,"openIssues":5968,"timestamp":1676745838},{"closedIssues":144749,"openIssues":5967,"timestamp":1676742238},{"closedIssues":144749,"openIssues":5964,"timestamp":1676738638},{"closedIssues":144748,"openIssues":5964,"timestamp":1676735038},{"closedIssues":144748,"openIssues":5962,"timestamp":1676731439},{"closedIssues":144748,"openIssues":5960,"timestamp":1676727838},{"closedIssues":144748,"openIssues":5960,"timestamp":1676724238},{"closedIssues":144747,"openIssues":5959,"timestamp":1676720638},{"closedIssues":144739,"openIssues":5967,"timestamp":1676717038},{"closedIssues":144736,"openIssues":5969,"timestamp":1676713439},{"closedIssues":144736,"openIssues":5966,"timestamp":1676709839},{"closedIssues":144736,"openIssues":5964,"timestamp":1676706239},{"closedIssues":144735,"openIssues":5962,"timestamp":1676702639},{"closedIssues":144735,"openIssues":5962,"timestamp":1676699038},{"closedIssues":144735,"openIssues":5959,"timestamp":1676695439},{"closedIssues":144735,"openIssues":5959,"timestamp":1676691838},{"closedIssues":144735,"openIssues":5957,"timestamp":1676688238},{"closedIssues":144735,"openIssues":5957,"timestamp":1676684639},{"closedIssues":144735,"openIssues":5957,"timestamp":1676681038},{"closedIssues":144731,"openIssues":5959,"timestamp":1676677439},{"closedIssues":144729,"openIssues":5958,"timestamp":1676673838},{"closedIssues":144730,"openIssues":5957,"timestamp":1676670239},{"closedIssues":144729,"openIssues":5952,"timestamp":1676666638},{"closedIssues":144719,"openIssues":5959,"timestamp":1676663038},{"closedIssues":144717,"openIssues":5955,"timestamp":1676659439},{"closedIssues":144715,"openIssues":5955,"timestamp":1676655838},{"closedIssues":144712,"openIssues":5954,"timestamp":1676652238}] 2 | -------------------------------------------------------------------------------- /vendors/moment.min.js: -------------------------------------------------------------------------------- 1 | //! moment.js 2 | //! version : 2.18.1 3 | //! authors : Tim Wood, Iskren Chernev, Moment.js contributors 4 | //! license : MIT 5 | //! momentjs.com 6 | !function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function(){"use strict";function a(){return sd.apply(null,arguments)}function b(a){sd=a}function c(a){return a instanceof Array||"[object Array]"===Object.prototype.toString.call(a)}function d(a){return null!=a&&"[object Object]"===Object.prototype.toString.call(a)}function e(a){var b;for(b in a)return!1;return!0}function f(a){return void 0===a}function g(a){return"number"==typeof a||"[object Number]"===Object.prototype.toString.call(a)}function h(a){return a instanceof Date||"[object Date]"===Object.prototype.toString.call(a)}function i(a,b){var c,d=[];for(c=0;c0)for(c=0;c0?"future":"past"];return z(c)?c(b):c.replace(/%s/i,b)}function J(a,b){var c=a.toLowerCase();Hd[c]=Hd[c+"s"]=Hd[b]=a}function K(a){return"string"==typeof a?Hd[a]||Hd[a.toLowerCase()]:void 0}function L(a){var b,c,d={};for(c in a)j(a,c)&&(b=K(c),b&&(d[b]=a[c]));return d}function M(a,b){Id[a]=b}function N(a){var b=[];for(var c in a)b.push({unit:c,priority:Id[c]});return b.sort(function(a,b){return a.priority-b.priority}),b}function O(b,c){return function(d){return null!=d?(Q(this,b,d),a.updateOffset(this,c),this):P(this,b)}}function P(a,b){return a.isValid()?a._d["get"+(a._isUTC?"UTC":"")+b]():NaN}function Q(a,b,c){a.isValid()&&a._d["set"+(a._isUTC?"UTC":"")+b](c)}function R(a){return a=K(a),z(this[a])?this[a]():this}function S(a,b){if("object"==typeof a){a=L(a);for(var c=N(a),d=0;d=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d}function U(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(Md[a]=e),b&&(Md[b[0]]=function(){return T(e.apply(this,arguments),b[1],b[2])}),c&&(Md[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function V(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function W(a){var b,c,d=a.match(Jd);for(b=0,c=d.length;b=0&&Kd.test(a);)a=a.replace(Kd,c),Kd.lastIndex=0,d-=1;return a}function Z(a,b,c){ce[a]=z(b)?b:function(a,d){return a&&c?c:b}}function $(a,b){return j(ce,a)?ce[a](b._strict,b._locale):new RegExp(_(a))}function _(a){return aa(a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}))}function aa(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ba(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),g(b)&&(d=function(a,c){c[b]=u(a)}),c=0;c=0&&isFinite(h.getFullYear())&&h.setFullYear(a),h}function ta(a){var b=new Date(Date.UTC.apply(null,arguments));return a<100&&a>=0&&isFinite(b.getUTCFullYear())&&b.setUTCFullYear(a),b}function ua(a,b,c){var d=7+b-c,e=(7+ta(a,0,d).getUTCDay()-b)%7;return-e+d-1}function va(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=ua(a,d,e),j=1+7*(b-1)+h+i;return j<=0?(f=a-1,g=pa(f)+j):j>pa(a)?(f=a+1,g=j-pa(a)):(f=a,g=j),{year:f,dayOfYear:g}}function wa(a,b,c){var d,e,f=ua(a.year(),b,c),g=Math.floor((a.dayOfYear()-f-1)/7)+1;return g<1?(e=a.year()-1,d=g+xa(e,b,c)):g>xa(a.year(),b,c)?(d=g-xa(a.year(),b,c),e=a.year()+1):(e=a.year(),d=g),{week:d,year:e}}function xa(a,b,c){var d=ua(a,b,c),e=ua(a+1,b,c);return(pa(a)-d+e)/7}function ya(a){return wa(a,this._week.dow,this._week.doy).week}function za(){return this._week.dow}function Aa(){return this._week.doy}function Ba(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function Ca(a){var b=wa(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}function Da(a,b){return"string"!=typeof a?a:isNaN(a)?(a=b.weekdaysParse(a),"number"==typeof a?a:null):parseInt(a,10)}function Ea(a,b){return"string"==typeof a?b.weekdaysParse(a)%7||7:isNaN(a)?null:a}function Fa(a,b){return a?c(this._weekdays)?this._weekdays[a.day()]:this._weekdays[this._weekdays.isFormat.test(b)?"format":"standalone"][a.day()]:c(this._weekdays)?this._weekdays:this._weekdays.standalone}function Ga(a){return a?this._weekdaysShort[a.day()]:this._weekdaysShort}function Ha(a){return a?this._weekdaysMin[a.day()]:this._weekdaysMin}function Ia(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],d=0;d<7;++d)f=l([2e3,1]).day(d),this._minWeekdaysParse[d]=this.weekdaysMin(f,"").toLocaleLowerCase(),this._shortWeekdaysParse[d]=this.weekdaysShort(f,"").toLocaleLowerCase(),this._weekdaysParse[d]=this.weekdays(f,"").toLocaleLowerCase();return c?"dddd"===b?(e=ne.call(this._weekdaysParse,g),e!==-1?e:null):"ddd"===b?(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:null):(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null):"dddd"===b?(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null))):"ddd"===b?(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null))):(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:null)))}function Ja(a,b,c){var d,e,f;if(this._weekdaysParseExact)return Ia.call(this,a,b,c);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),d=0;d<7;d++){if(e=l([2e3,1]).day(d),c&&!this._fullWeekdaysParse[d]&&(this._fullWeekdaysParse[d]=new RegExp("^"+this.weekdays(e,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[d]=new RegExp("^"+this.weekdaysShort(e,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[d]=new RegExp("^"+this.weekdaysMin(e,"").replace(".",".?")+"$","i")),this._weekdaysParse[d]||(f="^"+this.weekdays(e,"")+"|^"+this.weekdaysShort(e,"")+"|^"+this.weekdaysMin(e,""),this._weekdaysParse[d]=new RegExp(f.replace(".",""),"i")),c&&"dddd"===b&&this._fullWeekdaysParse[d].test(a))return d;if(c&&"ddd"===b&&this._shortWeekdaysParse[d].test(a))return d;if(c&&"dd"===b&&this._minWeekdaysParse[d].test(a))return d;if(!c&&this._weekdaysParse[d].test(a))return d}}function Ka(a){if(!this.isValid())return null!=a?this:NaN;var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Da(a,this.localeData()),this.add(a-b,"d")):b}function La(a){if(!this.isValid())return null!=a?this:NaN;var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function Ma(a){if(!this.isValid())return null!=a?this:NaN;if(null!=a){var b=Ea(a,this.localeData());return this.day(this.day()%7?b:b-7)}return this.day()||7}function Na(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysStrictRegex:this._weekdaysRegex):(j(this,"_weekdaysRegex")||(this._weekdaysRegex=ye),this._weekdaysStrictRegex&&a?this._weekdaysStrictRegex:this._weekdaysRegex)}function Oa(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(j(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=ze),this._weekdaysShortStrictRegex&&a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Pa(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(j(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Ae),this._weekdaysMinStrictRegex&&a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Qa(){function a(a,b){return b.length-a.length}var b,c,d,e,f,g=[],h=[],i=[],j=[];for(b=0;b<7;b++)c=l([2e3,1]).day(b),d=this.weekdaysMin(c,""),e=this.weekdaysShort(c,""),f=this.weekdays(c,""),g.push(d),h.push(e),i.push(f),j.push(d),j.push(e),j.push(f);for(g.sort(a),h.sort(a),i.sort(a),j.sort(a),b=0;b<7;b++)h[b]=aa(h[b]),i[b]=aa(i[b]),j[b]=aa(j[b]);this._weekdaysRegex=new RegExp("^("+j.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+g.join("|")+")","i")}function Ra(){return this.hours()%12||12}function Sa(){return this.hours()||24}function Ta(a,b){U(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}function Ua(a,b){return b._meridiemParse}function Va(a){return"p"===(a+"").toLowerCase().charAt(0)}function Wa(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Xa(a){return a?a.toLowerCase().replace("_","-"):a}function Ya(a){for(var b,c,d,e,f=0;f0;){if(d=Za(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&v(e,c,!0)>=b-1)break;b--}f++}return null}function Za(a){var b=null;if(!Fe[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=Be._abbr,require("./locale/"+a),$a(b)}catch(a){}return Fe[a]}function $a(a,b){var c;return a&&(c=f(b)?bb(a):_a(a,b),c&&(Be=c)),Be._abbr}function _a(a,b){if(null!==b){var c=Ee;if(b.abbr=a,null!=Fe[a])y("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),c=Fe[a]._config;else if(null!=b.parentLocale){if(null==Fe[b.parentLocale])return Ge[b.parentLocale]||(Ge[b.parentLocale]=[]),Ge[b.parentLocale].push({name:a,config:b}),null;c=Fe[b.parentLocale]._config}return Fe[a]=new C(B(c,b)),Ge[a]&&Ge[a].forEach(function(a){_a(a.name,a.config)}),$a(a),Fe[a]}return delete Fe[a],null}function ab(a,b){if(null!=b){var c,d=Ee;null!=Fe[a]&&(d=Fe[a]._config),b=B(d,b),c=new C(b),c.parentLocale=Fe[a],Fe[a]=c,$a(a)}else null!=Fe[a]&&(null!=Fe[a].parentLocale?Fe[a]=Fe[a].parentLocale:null!=Fe[a]&&delete Fe[a]);return Fe[a]}function bb(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return Be;if(!c(a)){if(b=Za(a))return b;a=[a]}return Ya(a)}function cb(){return Ad(Fe)}function db(a){var b,c=a._a;return c&&n(a).overflow===-2&&(b=c[fe]<0||c[fe]>11?fe:c[ge]<1||c[ge]>ea(c[ee],c[fe])?ge:c[he]<0||c[he]>24||24===c[he]&&(0!==c[ie]||0!==c[je]||0!==c[ke])?he:c[ie]<0||c[ie]>59?ie:c[je]<0||c[je]>59?je:c[ke]<0||c[ke]>999?ke:-1,n(a)._overflowDayOfYear&&(bge)&&(b=ge),n(a)._overflowWeeks&&b===-1&&(b=le),n(a)._overflowWeekday&&b===-1&&(b=me),n(a).overflow=b),a}function eb(a){var b,c,d,e,f,g,h=a._i,i=He.exec(h)||Ie.exec(h);if(i){for(n(a).iso=!0,b=0,c=Ke.length;b10?"YYYY ":"YY "),f="HH:mm"+(c[4]?":ss":""),c[1]){var l=new Date(c[2]),m=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][l.getDay()];if(c[1].substr(0,3)!==m)return n(a).weekdayMismatch=!0,void(a._isValid=!1)}switch(c[5].length){case 2:0===i?h=" +0000":(i=k.indexOf(c[5][1].toUpperCase())-12,h=(i<0?" -":" +")+(""+i).replace(/^-?/,"0").match(/..$/)[0]+"00");break;case 4:h=j[c[5]];break;default:h=j[" GMT"]}c[5]=h,a._i=c.splice(1).join(""),g=" ZZ",a._f=d+e+f+g,lb(a),n(a).rfc2822=!0}else a._isValid=!1}function gb(b){var c=Me.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(eb(b),void(b._isValid===!1&&(delete b._isValid,fb(b),b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b)))))}function hb(a,b,c){return null!=a?a:null!=b?b:c}function ib(b){var c=new Date(a.now());return b._useUTC?[c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()]:[c.getFullYear(),c.getMonth(),c.getDate()]}function jb(a){var b,c,d,e,f=[];if(!a._d){for(d=ib(a),a._w&&null==a._a[ge]&&null==a._a[fe]&&kb(a),null!=a._dayOfYear&&(e=hb(a._a[ee],d[ee]),(a._dayOfYear>pa(e)||0===a._dayOfYear)&&(n(a)._overflowDayOfYear=!0),c=ta(e,0,a._dayOfYear),a._a[fe]=c.getUTCMonth(),a._a[ge]=c.getUTCDate()),b=0;b<3&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;b<7;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[he]&&0===a._a[ie]&&0===a._a[je]&&0===a._a[ke]&&(a._nextDay=!0,a._a[he]=0),a._d=(a._useUTC?ta:sa).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[he]=24)}}function kb(a){var b,c,d,e,f,g,h,i;if(b=a._w,null!=b.GG||null!=b.W||null!=b.E)f=1,g=4,c=hb(b.GG,a._a[ee],wa(tb(),1,4).year),d=hb(b.W,1),e=hb(b.E,1),(e<1||e>7)&&(i=!0);else{f=a._locale._week.dow,g=a._locale._week.doy;var j=wa(tb(),f,g);c=hb(b.gg,a._a[ee],j.year),d=hb(b.w,j.week),null!=b.d?(e=b.d,(e<0||e>6)&&(i=!0)):null!=b.e?(e=b.e+f,(b.e<0||b.e>6)&&(i=!0)):e=f}d<1||d>xa(c,f,g)?n(a)._overflowWeeks=!0:null!=i?n(a)._overflowWeekday=!0:(h=va(c,d,e,f,g),a._a[ee]=h.year,a._dayOfYear=h.dayOfYear)}function lb(b){if(b._f===a.ISO_8601)return void eb(b);if(b._f===a.RFC_2822)return void fb(b);b._a=[],n(b).empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=Y(b._f,b._locale).match(Jd)||[],c=0;c0&&n(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),Md[f]?(d?n(b).empty=!1:n(b).unusedTokens.push(f),da(f,d,b)):b._strict&&!d&&n(b).unusedTokens.push(f);n(b).charsLeftOver=i-j,h.length>0&&n(b).unusedInput.push(h),b._a[he]<=12&&n(b).bigHour===!0&&b._a[he]>0&&(n(b).bigHour=void 0),n(b).parsedDateParts=b._a.slice(0),n(b).meridiem=b._meridiem,b._a[he]=mb(b._locale,b._a[he],b._meridiem),jb(b),db(b)}function mb(a,b,c){var d;return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&b<12&&(b+=12),d||12!==b||(b=0),b):b}function nb(a){var b,c,d,e,f;if(0===a._f.length)return n(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;ethis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ob(){if(!f(this._isDSTShifted))return this._isDSTShifted;var a={};if(q(a,this),a=qb(a),a._a){var b=a._isUTC?l(a._a):tb(a._a);this._isDSTShifted=this.isValid()&&v(a._a,b.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Pb(){return!!this.isValid()&&!this._isUTC}function Qb(){return!!this.isValid()&&this._isUTC}function Rb(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Sb(a,b){var c,d,e,f=a,h=null;return Bb(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:g(a)?(f={},b?f[b]=a:f.milliseconds=a):(h=Te.exec(a))?(c="-"===h[1]?-1:1,f={y:0,d:u(h[ge])*c,h:u(h[he])*c,m:u(h[ie])*c,s:u(h[je])*c,ms:u(Cb(1e3*h[ke]))*c}):(h=Ue.exec(a))?(c="-"===h[1]?-1:1,f={y:Tb(h[2],c),M:Tb(h[3],c),w:Tb(h[4],c),d:Tb(h[5],c),h:Tb(h[6],c),m:Tb(h[7],c),s:Tb(h[8],c)}):null==f?f={}:"object"==typeof f&&("from"in f||"to"in f)&&(e=Vb(tb(f.from),tb(f.to)),f={},f.ms=e.milliseconds,f.M=e.months),d=new Ab(f),Bb(a)&&j(a,"_locale")&&(d._locale=a._locale),d}function Tb(a,b){var c=a&&parseFloat(a.replace(",","."));return(isNaN(c)?0:c)*b}function Ub(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function Vb(a,b){var c;return a.isValid()&&b.isValid()?(b=Fb(b,a),a.isBefore(b)?c=Ub(a,b):(c=Ub(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c):{milliseconds:0,months:0}}function Wb(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(y(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Sb(c,d),Xb(this,e,a),this}}function Xb(b,c,d,e){var f=c._milliseconds,g=Cb(c._days),h=Cb(c._months);b.isValid()&&(e=null==e||e,f&&b._d.setTime(b._d.valueOf()+f*d),g&&Q(b,"Date",P(b,"Date")+g*d),h&&ja(b,P(b,"Month")+h*d),e&&a.updateOffset(b,g||h))}function Yb(a,b){var c=a.diff(b,"days",!0);return c<-6?"sameElse":c<-1?"lastWeek":c<0?"lastDay":c<1?"sameDay":c<2?"nextDay":c<7?"nextWeek":"sameElse"}function Zb(b,c){var d=b||tb(),e=Fb(d,this).startOf("day"),f=a.calendarFormat(this,e)||"sameElse",g=c&&(z(c[f])?c[f].call(this,d):c[f]);return this.format(g||this.localeData().calendar(f,this,tb(d)))}function $b(){return new r(this)}function _b(a,b){var c=s(a)?a:tb(a);return!(!this.isValid()||!c.isValid())&&(b=K(f(b)?"millisecond":b),"millisecond"===b?this.valueOf()>c.valueOf():c.valueOf()9999?X(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):z(Date.prototype.toISOString)?this.toDate().toISOString():X(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function jc(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var a="moment",b="";this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",b="Z");var c="["+a+'("]',d=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",e="-MM-DD[T]HH:mm:ss.SSS",f=b+'[")]';return this.format(c+d+e+f)}function kc(b){b||(b=this.isUtc()?a.defaultFormatUtc:a.defaultFormat);var c=X(this,b);return this.localeData().postformat(c)}function lc(a,b){return this.isValid()&&(s(a)&&a.isValid()||tb(a).isValid())?Sb({to:this,from:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function mc(a){return this.from(tb(),a)}function nc(a,b){return this.isValid()&&(s(a)&&a.isValid()||tb(a).isValid())?Sb({from:this,to:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function oc(a){return this.to(tb(),a)}function pc(a){var b;return void 0===a?this._locale._abbr:(b=bb(a),null!=b&&(this._locale=b),this)}function qc(){return this._locale}function rc(a){switch(a=K(a)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===a&&this.weekday(0),"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this}function sc(a){return a=K(a),void 0===a||"millisecond"===a?this:("date"===a&&(a="day"),this.startOf(a).add(1,"isoWeek"===a?"week":a).subtract(1,"ms"))}function tc(){return this._d.valueOf()-6e4*(this._offset||0)}function uc(){return Math.floor(this.valueOf()/1e3)}function vc(){return new Date(this.valueOf())}function wc(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.minute(),a.second(),a.millisecond()]}function xc(){var a=this;return{years:a.year(),months:a.month(),date:a.date(),hours:a.hours(),minutes:a.minutes(),seconds:a.seconds(),milliseconds:a.milliseconds()}}function yc(){return this.isValid()?this.toISOString():null}function zc(){return o(this)}function Ac(){ 7 | return k({},n(this))}function Bc(){return n(this).overflow}function Cc(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Dc(a,b){U(0,[a,a.length],0,b)}function Ec(a){return Ic.call(this,a,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Fc(a){return Ic.call(this,a,this.isoWeek(),this.isoWeekday(),1,4)}function Gc(){return xa(this.year(),1,4)}function Hc(){var a=this.localeData()._week;return xa(this.year(),a.dow,a.doy)}function Ic(a,b,c,d,e){var f;return null==a?wa(this,d,e).year:(f=xa(a,d,e),b>f&&(b=f),Jc.call(this,a,b,c,d,e))}function Jc(a,b,c,d,e){var f=va(a,b,c,d,e),g=ta(f.year,0,f.dayOfYear);return this.year(g.getUTCFullYear()),this.month(g.getUTCMonth()),this.date(g.getUTCDate()),this}function Kc(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)}function Lc(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function Mc(a,b){b[ke]=u(1e3*("0."+a))}function Nc(){return this._isUTC?"UTC":""}function Oc(){return this._isUTC?"Coordinated Universal Time":""}function Pc(a){return tb(1e3*a)}function Qc(){return tb.apply(null,arguments).parseZone()}function Rc(a){return a}function Sc(a,b,c,d){var e=bb(),f=l().set(d,b);return e[c](f,a)}function Tc(a,b,c){if(g(a)&&(b=a,a=void 0),a=a||"",null!=b)return Sc(a,b,c,"month");var d,e=[];for(d=0;d<12;d++)e[d]=Sc(a,d,c,"month");return e}function Uc(a,b,c,d){"boolean"==typeof a?(g(b)&&(c=b,b=void 0),b=b||""):(b=a,c=b,a=!1,g(b)&&(c=b,b=void 0),b=b||"");var e=bb(),f=a?e._week.dow:0;if(null!=c)return Sc(b,(c+f)%7,d,"day");var h,i=[];for(h=0;h<7;h++)i[h]=Sc(b,(h+f)%7,d,"day");return i}function Vc(a,b){return Tc(a,b,"months")}function Wc(a,b){return Tc(a,b,"monthsShort")}function Xc(a,b,c){return Uc(a,b,c,"weekdays")}function Yc(a,b,c){return Uc(a,b,c,"weekdaysShort")}function Zc(a,b,c){return Uc(a,b,c,"weekdaysMin")}function $c(){var a=this._data;return this._milliseconds=df(this._milliseconds),this._days=df(this._days),this._months=df(this._months),a.milliseconds=df(a.milliseconds),a.seconds=df(a.seconds),a.minutes=df(a.minutes),a.hours=df(a.hours),a.months=df(a.months),a.years=df(a.years),this}function _c(a,b,c,d){var e=Sb(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}function ad(a,b){return _c(this,a,b,1)}function bd(a,b){return _c(this,a,b,-1)}function cd(a){return a<0?Math.floor(a):Math.ceil(a)}function dd(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data;return f>=0&&g>=0&&h>=0||f<=0&&g<=0&&h<=0||(f+=864e5*cd(fd(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=t(f/1e3),i.seconds=a%60,b=t(a/60),i.minutes=b%60,c=t(b/60),i.hours=c%24,g+=t(c/24),e=t(ed(g)),h+=e,g-=cd(fd(e)),d=t(h/12),h%=12,i.days=g,i.months=h,i.years=d,this}function ed(a){return 4800*a/146097}function fd(a){return 146097*a/4800}function gd(a){if(!this.isValid())return NaN;var b,c,d=this._milliseconds;if(a=K(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+ed(b),"month"===a?c:c/12;switch(b=this._days+Math.round(fd(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3;case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a)}}function hd(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*u(this._months/12):NaN}function id(a){return function(){return this.as(a)}}function jd(a){return a=K(a),this.isValid()?this[a+"s"]():NaN}function kd(a){return function(){return this.isValid()?this._data[a]:NaN}}function ld(){return t(this.days()/7)}function md(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function nd(a,b,c){var d=Sb(a).abs(),e=uf(d.as("s")),f=uf(d.as("m")),g=uf(d.as("h")),h=uf(d.as("d")),i=uf(d.as("M")),j=uf(d.as("y")),k=e<=vf.ss&&["s",e]||e0,k[4]=c,md.apply(null,k)}function od(a){return void 0===a?uf:"function"==typeof a&&(uf=a,!0)}function pd(a,b){return void 0!==vf[a]&&(void 0===b?vf[a]:(vf[a]=b,"s"===a&&(vf.ss=b-1),!0))}function qd(a){if(!this.isValid())return this.localeData().invalidDate();var b=this.localeData(),c=nd(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function rd(){if(!this.isValid())return this.localeData().invalidDate();var a,b,c,d=wf(this._milliseconds)/1e3,e=wf(this._days),f=wf(this._months);a=t(d/60),b=t(a/60),d%=60,a%=60,c=t(f/12),f%=12;var g=c,h=f,i=e,j=b,k=a,l=d,m=this.asSeconds();return m?(m<0?"-":"")+"P"+(g?g+"Y":"")+(h?h+"M":"")+(i?i+"D":"")+(j||k||l?"T":"")+(j?j+"H":"")+(k?k+"M":"")+(l?l+"S":""):"P0D"}var sd,td;td=Array.prototype.some?Array.prototype.some:function(a){for(var b=Object(this),c=b.length>>>0,d=0;d68?1900:2e3)};var te=O("FullYear",!0);U("w",["ww",2],"wo","week"),U("W",["WW",2],"Wo","isoWeek"),J("week","w"),J("isoWeek","W"),M("week",5),M("isoWeek",5),Z("w",Sd),Z("ww",Sd,Od),Z("W",Sd),Z("WW",Sd,Od),ca(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=u(a)});var ue={dow:0,doy:6};U("d",0,"do","day"),U("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),U("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),U("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),U("e",0,0,"weekday"),U("E",0,0,"isoWeekday"),J("day","d"),J("weekday","e"),J("isoWeekday","E"),M("day",11),M("weekday",11),M("isoWeekday",11),Z("d",Sd),Z("e",Sd),Z("E",Sd),Z("dd",function(a,b){return b.weekdaysMinRegex(a)}),Z("ddd",function(a,b){return b.weekdaysShortRegex(a)}),Z("dddd",function(a,b){return b.weekdaysRegex(a)}),ca(["dd","ddd","dddd"],function(a,b,c,d){var e=c._locale.weekdaysParse(a,d,c._strict);null!=e?b.d=e:n(c).invalidWeekday=a}),ca(["d","e","E"],function(a,b,c,d){b[d]=u(a)});var ve="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),we="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),xe="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ye=be,ze=be,Ae=be;U("H",["HH",2],0,"hour"),U("h",["hh",2],0,Ra),U("k",["kk",2],0,Sa),U("hmm",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)}),U("hmmss",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)+T(this.seconds(),2)}),U("Hmm",0,0,function(){return""+this.hours()+T(this.minutes(),2)}),U("Hmmss",0,0,function(){return""+this.hours()+T(this.minutes(),2)+T(this.seconds(),2)}),Ta("a",!0),Ta("A",!1),J("hour","h"),M("hour",13),Z("a",Ua),Z("A",Ua),Z("H",Sd),Z("h",Sd),Z("k",Sd),Z("HH",Sd,Od),Z("hh",Sd,Od),Z("kk",Sd,Od),Z("hmm",Td),Z("hmmss",Ud),Z("Hmm",Td),Z("Hmmss",Ud),ba(["H","HH"],he),ba(["k","kk"],function(a,b,c){var d=u(a);b[he]=24===d?0:d}),ba(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),ba(["h","hh"],function(a,b,c){b[he]=u(a),n(c).bigHour=!0}),ba("hmm",function(a,b,c){var d=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d)),n(c).bigHour=!0}),ba("hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d,2)),b[je]=u(a.substr(e)),n(c).bigHour=!0}),ba("Hmm",function(a,b,c){var d=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d))}),ba("Hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d,2)),b[je]=u(a.substr(e))});var Be,Ce=/[ap]\.?m?\.?/i,De=O("Hours",!0),Ee={calendar:Bd,longDateFormat:Cd,invalidDate:Dd,ordinal:Ed,dayOfMonthOrdinalParse:Fd,relativeTime:Gd,months:pe,monthsShort:qe,week:ue,weekdays:ve,weekdaysMin:xe,weekdaysShort:we,meridiemParse:Ce},Fe={},Ge={},He=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Ie=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Je=/Z|[+-]\d\d(?::?\d\d)?/,Ke=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Le=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Me=/^\/?Date\((\-?\d+)/i,Ne=/^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d?\d\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(?:\d\d)?\d\d\s)(\d\d:\d\d)(\:\d\d)?(\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\d{4}))$/;a.createFromInputFallback=x("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),a.ISO_8601=function(){},a.RFC_2822=function(){};var Oe=x("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=tb.apply(null,arguments);return this.isValid()&&a.isValid()?athis?this:a:p()}),Qe=function(){return Date.now?Date.now():+new Date},Re=["year","quarter","month","week","day","hour","minute","second","millisecond"];Db("Z",":"),Db("ZZ",""),Z("Z",_d),Z("ZZ",_d),ba(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Eb(_d,a)});var Se=/([\+\-]|\d\d)/gi;a.updateOffset=function(){};var Te=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ue=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Sb.fn=Ab.prototype,Sb.invalid=zb;var Ve=Wb(1,"add"),We=Wb(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",a.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Xe=x("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});U(0,["gg",2],0,function(){return this.weekYear()%100}),U(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Dc("gggg","weekYear"),Dc("ggggg","weekYear"),Dc("GGGG","isoWeekYear"),Dc("GGGGG","isoWeekYear"),J("weekYear","gg"),J("isoWeekYear","GG"),M("weekYear",1),M("isoWeekYear",1),Z("G",Zd),Z("g",Zd),Z("GG",Sd,Od),Z("gg",Sd,Od),Z("GGGG",Wd,Qd),Z("gggg",Wd,Qd),Z("GGGGG",Xd,Rd),Z("ggggg",Xd,Rd),ca(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=u(a)}),ca(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}),U("Q",0,"Qo","quarter"),J("quarter","Q"),M("quarter",7),Z("Q",Nd),ba("Q",function(a,b){b[fe]=3*(u(a)-1)}),U("D",["DD",2],"Do","date"),J("date","D"),M("date",9),Z("D",Sd),Z("DD",Sd,Od),Z("Do",function(a,b){return a?b._dayOfMonthOrdinalParse||b._ordinalParse:b._dayOfMonthOrdinalParseLenient}),ba(["D","DD"],ge),ba("Do",function(a,b){b[ge]=u(a.match(Sd)[0],10)});var Ye=O("Date",!0);U("DDD",["DDDD",3],"DDDo","dayOfYear"),J("dayOfYear","DDD"),M("dayOfYear",4),Z("DDD",Vd),Z("DDDD",Pd),ba(["DDD","DDDD"],function(a,b,c){c._dayOfYear=u(a)}),U("m",["mm",2],0,"minute"),J("minute","m"),M("minute",14),Z("m",Sd),Z("mm",Sd,Od),ba(["m","mm"],ie);var Ze=O("Minutes",!1);U("s",["ss",2],0,"second"),J("second","s"),M("second",15),Z("s",Sd),Z("ss",Sd,Od),ba(["s","ss"],je);var $e=O("Seconds",!1);U("S",0,0,function(){return~~(this.millisecond()/100)}),U(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),U(0,["SSS",3],0,"millisecond"),U(0,["SSSS",4],0,function(){return 10*this.millisecond()}),U(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),U(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),U(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),U(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),U(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),J("millisecond","ms"),M("millisecond",16),Z("S",Vd,Nd),Z("SS",Vd,Od),Z("SSS",Vd,Pd);var _e;for(_e="SSSS";_e.length<=9;_e+="S")Z(_e,Yd);for(_e="S";_e.length<=9;_e+="S")ba(_e,Mc);var af=O("Milliseconds",!1);U("z",0,0,"zoneAbbr"),U("zz",0,0,"zoneName");var bf=r.prototype;bf.add=Ve,bf.calendar=Zb,bf.clone=$b,bf.diff=fc,bf.endOf=sc,bf.format=kc,bf.from=lc,bf.fromNow=mc,bf.to=nc,bf.toNow=oc,bf.get=R,bf.invalidAt=Bc,bf.isAfter=_b,bf.isBefore=ac,bf.isBetween=bc,bf.isSame=cc,bf.isSameOrAfter=dc,bf.isSameOrBefore=ec,bf.isValid=zc,bf.lang=Xe,bf.locale=pc,bf.localeData=qc,bf.max=Pe,bf.min=Oe,bf.parsingFlags=Ac,bf.set=S,bf.startOf=rc,bf.subtract=We,bf.toArray=wc,bf.toObject=xc,bf.toDate=vc,bf.toISOString=ic,bf.inspect=jc,bf.toJSON=yc,bf.toString=hc,bf.unix=uc,bf.valueOf=tc,bf.creationData=Cc,bf.year=te,bf.isLeapYear=ra,bf.weekYear=Ec,bf.isoWeekYear=Fc,bf.quarter=bf.quarters=Kc,bf.month=ka,bf.daysInMonth=la,bf.week=bf.weeks=Ba,bf.isoWeek=bf.isoWeeks=Ca,bf.weeksInYear=Hc,bf.isoWeeksInYear=Gc,bf.date=Ye,bf.day=bf.days=Ka,bf.weekday=La,bf.isoWeekday=Ma,bf.dayOfYear=Lc,bf.hour=bf.hours=De,bf.minute=bf.minutes=Ze,bf.second=bf.seconds=$e,bf.millisecond=bf.milliseconds=af,bf.utcOffset=Hb,bf.utc=Jb,bf.local=Kb,bf.parseZone=Lb,bf.hasAlignedHourOffset=Mb,bf.isDST=Nb,bf.isLocal=Pb,bf.isUtcOffset=Qb,bf.isUtc=Rb,bf.isUTC=Rb,bf.zoneAbbr=Nc,bf.zoneName=Oc,bf.dates=x("dates accessor is deprecated. Use date instead.",Ye),bf.months=x("months accessor is deprecated. Use month instead",ka),bf.years=x("years accessor is deprecated. Use year instead",te),bf.zone=x("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Ib),bf.isDSTShifted=x("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ob);var cf=C.prototype;cf.calendar=D,cf.longDateFormat=E,cf.invalidDate=F,cf.ordinal=G,cf.preparse=Rc,cf.postformat=Rc,cf.relativeTime=H,cf.pastFuture=I,cf.set=A,cf.months=fa,cf.monthsShort=ga,cf.monthsParse=ia,cf.monthsRegex=na,cf.monthsShortRegex=ma,cf.week=ya,cf.firstDayOfYear=Aa,cf.firstDayOfWeek=za,cf.weekdays=Fa,cf.weekdaysMin=Ha,cf.weekdaysShort=Ga,cf.weekdaysParse=Ja,cf.weekdaysRegex=Na,cf.weekdaysShortRegex=Oa,cf.weekdaysMinRegex=Pa,cf.isPM=Va,cf.meridiem=Wa,$a("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===u(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),a.lang=x("moment.lang is deprecated. Use moment.locale instead.",$a),a.langData=x("moment.langData is deprecated. Use moment.localeData instead.",bb);var df=Math.abs,ef=id("ms"),ff=id("s"),gf=id("m"),hf=id("h"),jf=id("d"),kf=id("w"),lf=id("M"),mf=id("y"),nf=kd("milliseconds"),of=kd("seconds"),pf=kd("minutes"),qf=kd("hours"),rf=kd("days"),sf=kd("months"),tf=kd("years"),uf=Math.round,vf={ss:44,s:45,m:45,h:22,d:26,M:11},wf=Math.abs,xf=Ab.prototype;return xf.isValid=yb,xf.abs=$c,xf.add=ad,xf.subtract=bd,xf.as=gd,xf.asMilliseconds=ef,xf.asSeconds=ff,xf.asMinutes=gf,xf.asHours=hf,xf.asDays=jf,xf.asWeeks=kf,xf.asMonths=lf,xf.asYears=mf,xf.valueOf=hd,xf._bubble=dd,xf.get=jd,xf.milliseconds=nf,xf.seconds=of,xf.minutes=pf,xf.hours=qf,xf.days=rf,xf.weeks=ld,xf.months=sf,xf.years=tf,xf.humanize=qd,xf.toISOString=rd,xf.toString=rd,xf.toJSON=rd,xf.locale=pc,xf.localeData=qc,xf.toIsoString=x("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",rd),xf.lang=Xe,U("X",0,0,"unix"),U("x",0,0,"valueOf"),Z("x",Zd),Z("X",ae),ba("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),ba("x",function(a,b,c){c._d=new Date(u(a))}),a.version="2.18.1",b(tb),a.fn=bf,a.min=vb,a.max=wb,a.now=Qe,a.utc=l,a.unix=Pc,a.months=Vc,a.isDate=h,a.locale=$a,a.invalid=p,a.duration=Sb,a.isMoment=s,a.weekdays=Xc,a.parseZone=Qc,a.localeData=bb,a.isDuration=Bb,a.monthsShort=Wc,a.weekdaysMin=Zc,a.defineLocale=_a,a.updateLocale=ab,a.locales=cb,a.weekdaysShort=Yc,a.normalizeUnits=K,a.relativeTimeRounding=od,a.relativeTimeThreshold=pd,a.calendarFormat=Yb,a.prototype=bf,a}); -------------------------------------------------------------------------------- /Function/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vscode-issue-tracker", 3 | "version": "1.0.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@firebase/app-types": { 8 | "version": "0.6.1", 9 | "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.6.1.tgz", 10 | "integrity": "sha512-L/ZnJRAq7F++utfuoTKX4CLBG5YR7tFO3PLzG1/oXXKEezJ0kRL3CMRoueBEmTCzVb/6SIs2Qlaw++uDgi5Xyg==" 11 | }, 12 | "@firebase/auth-interop-types": { 13 | "version": "0.1.5", 14 | "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.1.5.tgz", 15 | "integrity": "sha512-88h74TMQ6wXChPA6h9Q3E1Jg6TkTHep2+k63OWg3s0ozyGVMeY+TTOti7PFPzq5RhszQPQOoCi59es4MaRvgCw==" 16 | }, 17 | "@firebase/component": { 18 | "version": "0.1.19", 19 | "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.1.19.tgz", 20 | "integrity": "sha512-L0S3g8eqaerg8y0zox3oOHSTwn/FE8RbcRHiurnbESvDViZtP5S5WnhuAPd7FnFxa8ElWK0z1Tr3ikzWDv1xdQ==", 21 | "requires": { 22 | "@firebase/util": "0.3.2", 23 | "tslib": "^1.11.1" 24 | } 25 | }, 26 | "@firebase/database": { 27 | "version": "0.6.13", 28 | "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.6.13.tgz", 29 | "integrity": "sha512-NommVkAPzU7CKd1gyehmi3lz0K78q0KOfiex7Nfy7MBMwknLm7oNqKovXSgQV1PCLvKXvvAplDSFhDhzIf9obA==", 30 | "requires": { 31 | "@firebase/auth-interop-types": "0.1.5", 32 | "@firebase/component": "0.1.19", 33 | "@firebase/database-types": "0.5.2", 34 | "@firebase/logger": "0.2.6", 35 | "@firebase/util": "0.3.2", 36 | "faye-websocket": "0.11.3", 37 | "tslib": "^1.11.1" 38 | } 39 | }, 40 | "@firebase/database-types": { 41 | "version": "0.5.2", 42 | "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.5.2.tgz", 43 | "integrity": "sha512-ap2WQOS3LKmGuVFKUghFft7RxXTyZTDr0Xd8y2aqmWsbJVjgozi0huL/EUMgTjGFrATAjcf2A7aNs8AKKZ2a8g==", 44 | "requires": { 45 | "@firebase/app-types": "0.6.1" 46 | } 47 | }, 48 | "@firebase/logger": { 49 | "version": "0.2.6", 50 | "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.2.6.tgz", 51 | "integrity": "sha512-KIxcUvW/cRGWlzK9Vd2KB864HlUnCfdTH0taHE0sXW5Xl7+W68suaeau1oKNEqmc3l45azkd4NzXTCWZRZdXrw==" 52 | }, 53 | "@firebase/util": { 54 | "version": "0.3.2", 55 | "resolved": "https://registry.npmjs.org/@firebase/util/-/util-0.3.2.tgz", 56 | "integrity": "sha512-Dqs00++c8rwKky6KCKLLY2T1qYO4Q+X5t+lF7DInXDNF4ae1Oau35bkD+OpJ9u7l1pEv7KHowP6CUKuySCOc8g==", 57 | "requires": { 58 | "tslib": "^1.11.1" 59 | } 60 | }, 61 | "@google-cloud/common": { 62 | "version": "3.4.0", 63 | "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-3.4.0.tgz", 64 | "integrity": "sha512-bVMQlK4aZEeopo2oJwDUJiBhPVjRRQHfFCCv9JowmKS3L//PBHNDJzC/LxJixGZEU3fh3YXkUwm67JZ5TBCCNQ==", 65 | "optional": true, 66 | "requires": { 67 | "@google-cloud/projectify": "^2.0.0", 68 | "@google-cloud/promisify": "^2.0.0", 69 | "arrify": "^2.0.1", 70 | "duplexify": "^4.1.1", 71 | "ent": "^2.2.0", 72 | "extend": "^3.0.2", 73 | "google-auth-library": "^6.0.0", 74 | "retry-request": "^4.1.1", 75 | "teeny-request": "^7.0.0" 76 | }, 77 | "dependencies": { 78 | "duplexify": { 79 | "version": "4.1.1", 80 | "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz", 81 | "integrity": "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==", 82 | "optional": true, 83 | "requires": { 84 | "end-of-stream": "^1.4.1", 85 | "inherits": "^2.0.3", 86 | "readable-stream": "^3.1.1", 87 | "stream-shift": "^1.0.0" 88 | } 89 | }, 90 | "readable-stream": { 91 | "version": "3.6.0", 92 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 93 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 94 | "optional": true, 95 | "requires": { 96 | "inherits": "^2.0.3", 97 | "string_decoder": "^1.1.1", 98 | "util-deprecate": "^1.0.1" 99 | } 100 | } 101 | } 102 | }, 103 | "@google-cloud/firestore": { 104 | "version": "4.2.0", 105 | "resolved": "https://registry.npmjs.org/@google-cloud/firestore/-/firestore-4.2.0.tgz", 106 | "integrity": "sha512-YCiKaTYCbXSoEvZ8cTmpgg4ebAvmFUOu3hj/aX+lHiOK7LsoFVi4jgNknogSqIiv04bxAysTBodpgn8XoZ4l5g==", 107 | "optional": true, 108 | "requires": { 109 | "fast-deep-equal": "^3.1.1", 110 | "functional-red-black-tree": "^1.0.1", 111 | "google-gax": "^2.2.0" 112 | } 113 | }, 114 | "@google-cloud/paginator": { 115 | "version": "3.0.5", 116 | "resolved": "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-3.0.5.tgz", 117 | "integrity": "sha512-N4Uk4BT1YuskfRhKXBs0n9Lg2YTROZc6IMpkO/8DIHODtm5s3xY8K5vVBo23v/2XulY3azwITQlYWgT4GdLsUw==", 118 | "optional": true, 119 | "requires": { 120 | "arrify": "^2.0.0", 121 | "extend": "^3.0.2" 122 | } 123 | }, 124 | "@google-cloud/projectify": { 125 | "version": "2.0.1", 126 | "resolved": "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-2.0.1.tgz", 127 | "integrity": "sha512-ZDG38U/Yy6Zr21LaR3BTiiLtpJl6RkPS/JwoRT453G+6Q1DhlV0waNf8Lfu+YVYGIIxgKnLayJRfYlFJfiI8iQ==", 128 | "optional": true 129 | }, 130 | "@google-cloud/promisify": { 131 | "version": "2.0.3", 132 | "resolved": "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-2.0.3.tgz", 133 | "integrity": "sha512-d4VSA86eL/AFTe5xtyZX+ePUjE8dIFu2T8zmdeNBSa5/kNgXPCx/o/wbFNHAGLJdGnk1vddRuMESD9HbOC8irw==", 134 | "optional": true 135 | }, 136 | "@google-cloud/storage": { 137 | "version": "5.3.0", 138 | "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-5.3.0.tgz", 139 | "integrity": "sha512-3t5UF3SZ14Bw2kcBHubCai6EIugU2GnQOstYWVSFuoO8IJ94RAaIOPq/dtexvQbUTpBTAGpd5smVR9WPL1mJVw==", 140 | "optional": true, 141 | "requires": { 142 | "@google-cloud/common": "^3.3.0", 143 | "@google-cloud/paginator": "^3.0.0", 144 | "@google-cloud/promisify": "^2.0.0", 145 | "arrify": "^2.0.0", 146 | "compressible": "^2.0.12", 147 | "concat-stream": "^2.0.0", 148 | "date-and-time": "^0.14.0", 149 | "duplexify": "^3.5.0", 150 | "extend": "^3.0.2", 151 | "gaxios": "^3.0.0", 152 | "gcs-resumable-upload": "^3.1.0", 153 | "hash-stream-validation": "^0.2.2", 154 | "mime": "^2.2.0", 155 | "mime-types": "^2.0.8", 156 | "onetime": "^5.1.0", 157 | "p-limit": "^3.0.1", 158 | "pumpify": "^2.0.0", 159 | "snakeize": "^0.1.0", 160 | "stream-events": "^1.0.1", 161 | "xdg-basedir": "^4.0.0" 162 | }, 163 | "dependencies": { 164 | "p-limit": { 165 | "version": "3.0.2", 166 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz", 167 | "integrity": "sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==", 168 | "optional": true, 169 | "requires": { 170 | "p-try": "^2.0.0" 171 | } 172 | } 173 | } 174 | }, 175 | "@grpc/grpc-js": { 176 | "version": "1.1.7", 177 | "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.1.7.tgz", 178 | "integrity": "sha512-EuxMstI0u778dp0nk6Fe3gHXYPeV6FYsWOe0/QFwxv1NQ6bc5Wl/0Yxa4xl9uBlKElL6AIxuASmSfu7KEJhqiw==", 179 | "optional": true, 180 | "requires": { 181 | "@grpc/proto-loader": "^0.6.0-pre14", 182 | "@types/node": "^12.12.47", 183 | "google-auth-library": "^6.0.0", 184 | "semver": "^6.2.0" 185 | }, 186 | "dependencies": { 187 | "@grpc/proto-loader": { 188 | "version": "0.6.0-pre9", 189 | "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.0-pre9.tgz", 190 | "integrity": "sha512-oM+LjpEjNzW5pNJjt4/hq1HYayNeQT+eGrOPABJnYHv7TyNPDNzkQ76rDYZF86X5swJOa4EujEMzQ9iiTdPgww==", 191 | "optional": true, 192 | "requires": { 193 | "@types/long": "^4.0.1", 194 | "lodash.camelcase": "^4.3.0", 195 | "long": "^4.0.0", 196 | "protobufjs": "^6.9.0", 197 | "yargs": "^15.3.1" 198 | } 199 | }, 200 | "@types/node": { 201 | "version": "12.12.62", 202 | "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.62.tgz", 203 | "integrity": "sha512-qAfo81CsD7yQIM9mVyh6B/U47li5g7cfpVQEDMfQeF8pSZVwzbhwU3crc0qG4DmpsebpJPR49AKOExQyJ05Cpg==", 204 | "optional": true 205 | } 206 | } 207 | }, 208 | "@grpc/proto-loader": { 209 | "version": "0.5.5", 210 | "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.5.5.tgz", 211 | "integrity": "sha512-WwN9jVNdHRQoOBo9FDH7qU+mgfjPc8GygPYms3M+y3fbQLfnCe/Kv/E01t7JRgnrsOHH8euvSbed3mIalXhwqQ==", 212 | "optional": true, 213 | "requires": { 214 | "lodash.camelcase": "^4.3.0", 215 | "protobufjs": "^6.8.6" 216 | } 217 | }, 218 | "@protobufjs/aspromise": { 219 | "version": "1.1.2", 220 | "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", 221 | "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=", 222 | "optional": true 223 | }, 224 | "@protobufjs/base64": { 225 | "version": "1.1.2", 226 | "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", 227 | "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", 228 | "optional": true 229 | }, 230 | "@protobufjs/codegen": { 231 | "version": "2.0.4", 232 | "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", 233 | "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", 234 | "optional": true 235 | }, 236 | "@protobufjs/eventemitter": { 237 | "version": "1.1.0", 238 | "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", 239 | "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=", 240 | "optional": true 241 | }, 242 | "@protobufjs/fetch": { 243 | "version": "1.1.0", 244 | "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", 245 | "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", 246 | "optional": true, 247 | "requires": { 248 | "@protobufjs/aspromise": "^1.1.1", 249 | "@protobufjs/inquire": "^1.1.0" 250 | } 251 | }, 252 | "@protobufjs/float": { 253 | "version": "1.0.2", 254 | "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", 255 | "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=", 256 | "optional": true 257 | }, 258 | "@protobufjs/inquire": { 259 | "version": "1.1.0", 260 | "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", 261 | "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=", 262 | "optional": true 263 | }, 264 | "@protobufjs/path": { 265 | "version": "1.1.2", 266 | "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", 267 | "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=", 268 | "optional": true 269 | }, 270 | "@protobufjs/pool": { 271 | "version": "1.1.0", 272 | "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", 273 | "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=", 274 | "optional": true 275 | }, 276 | "@protobufjs/utf8": { 277 | "version": "1.1.0", 278 | "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", 279 | "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=", 280 | "optional": true 281 | }, 282 | "@tootallnate/once": { 283 | "version": "1.1.2", 284 | "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", 285 | "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", 286 | "optional": true 287 | }, 288 | "@types/color-name": { 289 | "version": "1.1.1", 290 | "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", 291 | "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", 292 | "optional": true 293 | }, 294 | "@types/long": { 295 | "version": "4.0.1", 296 | "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", 297 | "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==", 298 | "optional": true 299 | }, 300 | "@types/node": { 301 | "version": "10.17.35", 302 | "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.35.tgz", 303 | "integrity": "sha512-gXx7jAWpMddu0f7a+L+txMplp3FnHl53OhQIF9puXKq3hDGY/GjH+MF04oWnV/adPSCrbtHumDCFwzq2VhltWA==" 304 | }, 305 | "abort-controller": { 306 | "version": "3.0.0", 307 | "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", 308 | "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", 309 | "optional": true, 310 | "requires": { 311 | "event-target-shim": "^5.0.0" 312 | } 313 | }, 314 | "agent-base": { 315 | "version": "6.0.1", 316 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.1.tgz", 317 | "integrity": "sha512-01q25QQDwLSsyfhrKbn8yuur+JNw0H+0Y4JiGIKd3z9aYk/w/2kxD/Upc+t2ZBBSUNff50VjPsSW2YxM8QYKVg==", 318 | "optional": true, 319 | "requires": { 320 | "debug": "4" 321 | } 322 | }, 323 | "ansi-regex": { 324 | "version": "5.0.0", 325 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", 326 | "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", 327 | "optional": true 328 | }, 329 | "ansi-styles": { 330 | "version": "4.2.1", 331 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", 332 | "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", 333 | "optional": true, 334 | "requires": { 335 | "@types/color-name": "^1.1.1", 336 | "color-convert": "^2.0.1" 337 | } 338 | }, 339 | "arrify": { 340 | "version": "2.0.1", 341 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", 342 | "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", 343 | "optional": true 344 | }, 345 | "auto-parse": { 346 | "version": "1.8.0", 347 | "resolved": "https://registry.npmjs.org/auto-parse/-/auto-parse-1.8.0.tgz", 348 | "integrity": "sha512-Uri4uC+K5cSi5hjM4snFrqPrjqUpwxeSW5EMTPvN7Ju3PlDzmXXDr5tjdzxPvvwgT3J7bmMDJ3Rm625nbrc72A==", 349 | "requires": { 350 | "typpy": "2.3.11" 351 | } 352 | }, 353 | "base64-js": { 354 | "version": "1.3.1", 355 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", 356 | "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", 357 | "optional": true 358 | }, 359 | "bignumber.js": { 360 | "version": "9.0.0", 361 | "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", 362 | "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==", 363 | "optional": true 364 | }, 365 | "buffer-equal-constant-time": { 366 | "version": "1.0.1", 367 | "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", 368 | "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" 369 | }, 370 | "buffer-from": { 371 | "version": "1.1.1", 372 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", 373 | "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", 374 | "optional": true 375 | }, 376 | "camelcase": { 377 | "version": "5.3.1", 378 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", 379 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" 380 | }, 381 | "cliui": { 382 | "version": "6.0.0", 383 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", 384 | "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", 385 | "optional": true, 386 | "requires": { 387 | "string-width": "^4.2.0", 388 | "strip-ansi": "^6.0.0", 389 | "wrap-ansi": "^6.2.0" 390 | } 391 | }, 392 | "color-convert": { 393 | "version": "2.0.1", 394 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 395 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 396 | "optional": true, 397 | "requires": { 398 | "color-name": "~1.1.4" 399 | } 400 | }, 401 | "color-name": { 402 | "version": "1.1.4", 403 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 404 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 405 | "optional": true 406 | }, 407 | "compressible": { 408 | "version": "2.0.18", 409 | "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", 410 | "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", 411 | "optional": true, 412 | "requires": { 413 | "mime-db": ">= 1.43.0 < 2" 414 | } 415 | }, 416 | "concat-stream": { 417 | "version": "2.0.0", 418 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", 419 | "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", 420 | "optional": true, 421 | "requires": { 422 | "buffer-from": "^1.0.0", 423 | "inherits": "^2.0.3", 424 | "readable-stream": "^3.0.2", 425 | "typedarray": "^0.0.6" 426 | }, 427 | "dependencies": { 428 | "readable-stream": { 429 | "version": "3.6.0", 430 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 431 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 432 | "optional": true, 433 | "requires": { 434 | "inherits": "^2.0.3", 435 | "string_decoder": "^1.1.1", 436 | "util-deprecate": "^1.0.1" 437 | } 438 | } 439 | } 440 | }, 441 | "configstore": { 442 | "version": "5.0.1", 443 | "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", 444 | "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", 445 | "optional": true, 446 | "requires": { 447 | "dot-prop": "^5.2.0", 448 | "graceful-fs": "^4.1.2", 449 | "make-dir": "^3.0.0", 450 | "unique-string": "^2.0.0", 451 | "write-file-atomic": "^3.0.0", 452 | "xdg-basedir": "^4.0.0" 453 | } 454 | }, 455 | "core-util-is": { 456 | "version": "1.0.2", 457 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 458 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 459 | "optional": true 460 | }, 461 | "cross-spawn": { 462 | "version": "7.0.3", 463 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 464 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 465 | "requires": { 466 | "path-key": "^3.1.0", 467 | "shebang-command": "^2.0.0", 468 | "which": "^2.0.1" 469 | } 470 | }, 471 | "crypto-random-string": { 472 | "version": "2.0.0", 473 | "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", 474 | "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", 475 | "optional": true 476 | }, 477 | "date-and-time": { 478 | "version": "0.14.1", 479 | "resolved": "https://registry.npmjs.org/date-and-time/-/date-and-time-0.14.1.tgz", 480 | "integrity": "sha512-M4RggEH5OF2ZuCOxgOU67R6Z9ohjKbxGvAQz48vj53wLmL0bAgumkBvycR32f30pK+Og9pIR+RFDyChbaE4oLA==", 481 | "optional": true 482 | }, 483 | "debug": { 484 | "version": "4.2.0", 485 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", 486 | "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", 487 | "optional": true, 488 | "requires": { 489 | "ms": "2.1.2" 490 | } 491 | }, 492 | "decamelize": { 493 | "version": "1.2.0", 494 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 495 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", 496 | "optional": true 497 | }, 498 | "dicer": { 499 | "version": "0.3.0", 500 | "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.3.0.tgz", 501 | "integrity": "sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==", 502 | "requires": { 503 | "streamsearch": "0.1.2" 504 | } 505 | }, 506 | "dot-prop": { 507 | "version": "5.3.0", 508 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", 509 | "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", 510 | "optional": true, 511 | "requires": { 512 | "is-obj": "^2.0.0" 513 | } 514 | }, 515 | "dotenv": { 516 | "version": "8.2.0", 517 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", 518 | "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==" 519 | }, 520 | "dotenv-extended": { 521 | "version": "2.8.0", 522 | "resolved": "https://registry.npmjs.org/dotenv-extended/-/dotenv-extended-2.8.0.tgz", 523 | "integrity": "sha512-7R3lSD7JcKkIZ+JnVN4LPJmJ2oR3pi+taqRxVpuod0gpCw/ZjYehEXiqceblP9pQinXY0Gt4nEmVh/1um4c2Mw==", 524 | "requires": { 525 | "auto-parse": "^1.3.0", 526 | "camelcase": "^5.3.1", 527 | "cross-spawn": "^7.0.1", 528 | "dotenv": "^8.2.0" 529 | } 530 | }, 531 | "duplexify": { 532 | "version": "3.7.1", 533 | "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", 534 | "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", 535 | "optional": true, 536 | "requires": { 537 | "end-of-stream": "^1.0.0", 538 | "inherits": "^2.0.1", 539 | "readable-stream": "^2.0.0", 540 | "stream-shift": "^1.0.0" 541 | } 542 | }, 543 | "ecdsa-sig-formatter": { 544 | "version": "1.0.11", 545 | "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", 546 | "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", 547 | "requires": { 548 | "safe-buffer": "^5.0.1" 549 | } 550 | }, 551 | "emoji-regex": { 552 | "version": "8.0.0", 553 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 554 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 555 | "optional": true 556 | }, 557 | "end-of-stream": { 558 | "version": "1.4.4", 559 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 560 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 561 | "optional": true, 562 | "requires": { 563 | "once": "^1.4.0" 564 | } 565 | }, 566 | "ent": { 567 | "version": "2.2.0", 568 | "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", 569 | "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", 570 | "optional": true 571 | }, 572 | "event-target-shim": { 573 | "version": "5.0.1", 574 | "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", 575 | "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", 576 | "optional": true 577 | }, 578 | "extend": { 579 | "version": "3.0.2", 580 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 581 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", 582 | "optional": true 583 | }, 584 | "fast-deep-equal": { 585 | "version": "3.1.3", 586 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 587 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 588 | "optional": true 589 | }, 590 | "fast-text-encoding": { 591 | "version": "1.0.3", 592 | "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz", 593 | "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==", 594 | "optional": true 595 | }, 596 | "faye-websocket": { 597 | "version": "0.11.3", 598 | "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", 599 | "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", 600 | "requires": { 601 | "websocket-driver": ">=0.5.1" 602 | } 603 | }, 604 | "find-up": { 605 | "version": "4.1.0", 606 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", 607 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", 608 | "optional": true, 609 | "requires": { 610 | "locate-path": "^5.0.0", 611 | "path-exists": "^4.0.0" 612 | } 613 | }, 614 | "firebase-admin": { 615 | "version": "9.2.0", 616 | "resolved": "https://registry.npmjs.org/firebase-admin/-/firebase-admin-9.2.0.tgz", 617 | "integrity": "sha512-LhnMYl71B4gP1FlTLfwaYlOWhBCAcNF+byb2CPTfaW/T4hkp4qlXOgo2bws/zbAv5X9GTFqGir3KexMslVGsIA==", 618 | "requires": { 619 | "@firebase/database": "^0.6.10", 620 | "@firebase/database-types": "^0.5.2", 621 | "@google-cloud/firestore": "^4.0.0", 622 | "@google-cloud/storage": "^5.3.0", 623 | "@types/node": "^10.10.0", 624 | "dicer": "^0.3.0", 625 | "jsonwebtoken": "^8.5.1", 626 | "node-forge": "^0.10.0" 627 | } 628 | }, 629 | "function.name": { 630 | "version": "1.0.13", 631 | "resolved": "https://registry.npmjs.org/function.name/-/function.name-1.0.13.tgz", 632 | "integrity": "sha512-mVrqdoy5npWZyoXl4DxCeuVF6delDcQjVS9aPdvLYlBxtMTZDR2B5GVEQEoM1jJyspCqg3C0v4ABkLE7tp9xFA==", 633 | "requires": { 634 | "noop6": "^1.0.1" 635 | } 636 | }, 637 | "functional-red-black-tree": { 638 | "version": "1.0.1", 639 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 640 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 641 | "optional": true 642 | }, 643 | "gaxios": { 644 | "version": "3.2.0", 645 | "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-3.2.0.tgz", 646 | "integrity": "sha512-+6WPeVzPvOshftpxJwRi2Ozez80tn/hdtOUag7+gajDHRJvAblKxTFSSMPtr2hmnLy7p0mvYz0rMXLBl8pSO7Q==", 647 | "optional": true, 648 | "requires": { 649 | "abort-controller": "^3.0.0", 650 | "extend": "^3.0.2", 651 | "https-proxy-agent": "^5.0.0", 652 | "is-stream": "^2.0.0", 653 | "node-fetch": "^2.3.0" 654 | } 655 | }, 656 | "gcp-metadata": { 657 | "version": "4.2.0", 658 | "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.2.0.tgz", 659 | "integrity": "sha512-vQZD57cQkqIA6YPGXM/zc+PIZfNRFdukWGsGZ5+LcJzesi5xp6Gn7a02wRJi4eXPyArNMIYpPET4QMxGqtlk6Q==", 660 | "optional": true, 661 | "requires": { 662 | "gaxios": "^3.0.0", 663 | "json-bigint": "^1.0.0" 664 | } 665 | }, 666 | "gcs-resumable-upload": { 667 | "version": "3.1.1", 668 | "resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-3.1.1.tgz", 669 | "integrity": "sha512-RS1osvAicj9+MjCc6jAcVL1Pt3tg7NK2C2gXM5nqD1Gs0klF2kj5nnAFSBy97JrtslMIQzpb7iSuxaG8rFWd2A==", 670 | "optional": true, 671 | "requires": { 672 | "abort-controller": "^3.0.0", 673 | "configstore": "^5.0.0", 674 | "extend": "^3.0.2", 675 | "gaxios": "^3.0.0", 676 | "google-auth-library": "^6.0.0", 677 | "pumpify": "^2.0.0", 678 | "stream-events": "^1.0.4" 679 | } 680 | }, 681 | "get-caller-file": { 682 | "version": "2.0.5", 683 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 684 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 685 | "optional": true 686 | }, 687 | "google-auth-library": { 688 | "version": "6.0.6", 689 | "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-6.0.6.tgz", 690 | "integrity": "sha512-fWYdRdg55HSJoRq9k568jJA1lrhg9i2xgfhVIMJbskUmbDpJGHsbv9l41DGhCDXM21F9Kn4kUwdysgxSYBYJUw==", 691 | "optional": true, 692 | "requires": { 693 | "arrify": "^2.0.0", 694 | "base64-js": "^1.3.0", 695 | "ecdsa-sig-formatter": "^1.0.11", 696 | "fast-text-encoding": "^1.0.0", 697 | "gaxios": "^3.0.0", 698 | "gcp-metadata": "^4.1.0", 699 | "gtoken": "^5.0.0", 700 | "jws": "^4.0.0", 701 | "lru-cache": "^6.0.0" 702 | } 703 | }, 704 | "google-gax": { 705 | "version": "2.8.0", 706 | "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-2.8.0.tgz", 707 | "integrity": "sha512-MPaADY/FHittX5xfOUU2EVqIoE850e+OZ1ys8aO2GnUMaP4U0Bde2wop6kw5sp4fIOjKNlan4GATKAURsYbxSw==", 708 | "optional": true, 709 | "requires": { 710 | "@grpc/grpc-js": "~1.1.1", 711 | "@grpc/proto-loader": "^0.5.1", 712 | "@types/long": "^4.0.0", 713 | "abort-controller": "^3.0.0", 714 | "duplexify": "^3.6.0", 715 | "google-auth-library": "^6.0.0", 716 | "is-stream-ended": "^0.1.4", 717 | "lodash.at": "^4.6.0", 718 | "lodash.has": "^4.5.2", 719 | "node-fetch": "^2.6.0", 720 | "protobufjs": "^6.9.0", 721 | "retry-request": "^4.0.0", 722 | "semver": "^6.0.0", 723 | "walkdir": "^0.4.0" 724 | } 725 | }, 726 | "google-p12-pem": { 727 | "version": "3.0.3", 728 | "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.0.3.tgz", 729 | "integrity": "sha512-wS0ek4ZtFx/ACKYF3JhyGe5kzH7pgiQ7J5otlumqR9psmWMYc+U9cErKlCYVYHoUaidXHdZ2xbo34kB+S+24hA==", 730 | "optional": true, 731 | "requires": { 732 | "node-forge": "^0.10.0" 733 | } 734 | }, 735 | "graceful-fs": { 736 | "version": "4.2.4", 737 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", 738 | "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", 739 | "optional": true 740 | }, 741 | "gtoken": { 742 | "version": "5.0.3", 743 | "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-5.0.3.tgz", 744 | "integrity": "sha512-Nyd1wZCMRc2dj/mAD0LlfQLcAO06uKdpKJXvK85SGrF5+5+Bpfil9u/2aw35ltvEHjvl0h5FMKN5knEU+9JrOg==", 745 | "optional": true, 746 | "requires": { 747 | "gaxios": "^3.0.0", 748 | "google-p12-pem": "^3.0.0", 749 | "jws": "^4.0.0", 750 | "mime": "^2.2.0" 751 | } 752 | }, 753 | "hash-stream-validation": { 754 | "version": "0.2.4", 755 | "resolved": "https://registry.npmjs.org/hash-stream-validation/-/hash-stream-validation-0.2.4.tgz", 756 | "integrity": "sha512-Gjzu0Xn7IagXVkSu9cSFuK1fqzwtLwFhNhVL8IFJijRNMgUttFbBSIAzKuSIrsFMO1+g1RlsoN49zPIbwPDMGQ==", 757 | "optional": true 758 | }, 759 | "http-parser-js": { 760 | "version": "0.5.2", 761 | "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz", 762 | "integrity": "sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==" 763 | }, 764 | "http-proxy-agent": { 765 | "version": "4.0.1", 766 | "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", 767 | "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", 768 | "optional": true, 769 | "requires": { 770 | "@tootallnate/once": "1", 771 | "agent-base": "6", 772 | "debug": "4" 773 | } 774 | }, 775 | "https-proxy-agent": { 776 | "version": "5.0.0", 777 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", 778 | "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", 779 | "optional": true, 780 | "requires": { 781 | "agent-base": "6", 782 | "debug": "4" 783 | } 784 | }, 785 | "imurmurhash": { 786 | "version": "0.1.4", 787 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 788 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 789 | "optional": true 790 | }, 791 | "inherits": { 792 | "version": "2.0.4", 793 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 794 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 795 | "optional": true 796 | }, 797 | "is-fullwidth-code-point": { 798 | "version": "3.0.0", 799 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 800 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 801 | "optional": true 802 | }, 803 | "is-obj": { 804 | "version": "2.0.0", 805 | "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", 806 | "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", 807 | "optional": true 808 | }, 809 | "is-stream": { 810 | "version": "2.0.0", 811 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", 812 | "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", 813 | "optional": true 814 | }, 815 | "is-stream-ended": { 816 | "version": "0.1.4", 817 | "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz", 818 | "integrity": "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==", 819 | "optional": true 820 | }, 821 | "is-typedarray": { 822 | "version": "1.0.0", 823 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 824 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", 825 | "optional": true 826 | }, 827 | "isarray": { 828 | "version": "1.0.0", 829 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 830 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 831 | "optional": true 832 | }, 833 | "isexe": { 834 | "version": "2.0.0", 835 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 836 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" 837 | }, 838 | "json-bigint": { 839 | "version": "1.0.0", 840 | "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", 841 | "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", 842 | "optional": true, 843 | "requires": { 844 | "bignumber.js": "^9.0.0" 845 | } 846 | }, 847 | "jsonwebtoken": { 848 | "version": "8.5.1", 849 | "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", 850 | "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", 851 | "requires": { 852 | "jws": "^3.2.2", 853 | "lodash.includes": "^4.3.0", 854 | "lodash.isboolean": "^3.0.3", 855 | "lodash.isinteger": "^4.0.4", 856 | "lodash.isnumber": "^3.0.3", 857 | "lodash.isplainobject": "^4.0.6", 858 | "lodash.isstring": "^4.0.1", 859 | "lodash.once": "^4.0.0", 860 | "ms": "^2.1.1", 861 | "semver": "^5.6.0" 862 | }, 863 | "dependencies": { 864 | "jwa": { 865 | "version": "1.4.1", 866 | "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", 867 | "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", 868 | "requires": { 869 | "buffer-equal-constant-time": "1.0.1", 870 | "ecdsa-sig-formatter": "1.0.11", 871 | "safe-buffer": "^5.0.1" 872 | } 873 | }, 874 | "jws": { 875 | "version": "3.2.2", 876 | "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", 877 | "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", 878 | "requires": { 879 | "jwa": "^1.4.1", 880 | "safe-buffer": "^5.0.1" 881 | } 882 | }, 883 | "semver": { 884 | "version": "5.7.1", 885 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 886 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" 887 | } 888 | } 889 | }, 890 | "jwa": { 891 | "version": "2.0.0", 892 | "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", 893 | "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", 894 | "optional": true, 895 | "requires": { 896 | "buffer-equal-constant-time": "1.0.1", 897 | "ecdsa-sig-formatter": "1.0.11", 898 | "safe-buffer": "^5.0.1" 899 | } 900 | }, 901 | "jws": { 902 | "version": "4.0.0", 903 | "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", 904 | "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", 905 | "optional": true, 906 | "requires": { 907 | "jwa": "^2.0.0", 908 | "safe-buffer": "^5.0.1" 909 | } 910 | }, 911 | "locate-path": { 912 | "version": "5.0.0", 913 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", 914 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", 915 | "optional": true, 916 | "requires": { 917 | "p-locate": "^4.1.0" 918 | } 919 | }, 920 | "lodash.at": { 921 | "version": "4.6.0", 922 | "resolved": "https://registry.npmjs.org/lodash.at/-/lodash.at-4.6.0.tgz", 923 | "integrity": "sha1-k83OZk8KGZTqM9181A4jr9EbD/g=", 924 | "optional": true 925 | }, 926 | "lodash.camelcase": { 927 | "version": "4.3.0", 928 | "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", 929 | "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", 930 | "optional": true 931 | }, 932 | "lodash.has": { 933 | "version": "4.5.2", 934 | "resolved": "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz", 935 | "integrity": "sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=", 936 | "optional": true 937 | }, 938 | "lodash.includes": { 939 | "version": "4.3.0", 940 | "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", 941 | "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" 942 | }, 943 | "lodash.isboolean": { 944 | "version": "3.0.3", 945 | "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", 946 | "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" 947 | }, 948 | "lodash.isinteger": { 949 | "version": "4.0.4", 950 | "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", 951 | "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" 952 | }, 953 | "lodash.isnumber": { 954 | "version": "3.0.3", 955 | "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", 956 | "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" 957 | }, 958 | "lodash.isplainobject": { 959 | "version": "4.0.6", 960 | "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", 961 | "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" 962 | }, 963 | "lodash.isstring": { 964 | "version": "4.0.1", 965 | "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", 966 | "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" 967 | }, 968 | "lodash.once": { 969 | "version": "4.1.1", 970 | "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", 971 | "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" 972 | }, 973 | "long": { 974 | "version": "4.0.0", 975 | "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", 976 | "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", 977 | "optional": true 978 | }, 979 | "lru-cache": { 980 | "version": "6.0.0", 981 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 982 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 983 | "optional": true, 984 | "requires": { 985 | "yallist": "^4.0.0" 986 | } 987 | }, 988 | "make-dir": { 989 | "version": "3.1.0", 990 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", 991 | "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", 992 | "optional": true, 993 | "requires": { 994 | "semver": "^6.0.0" 995 | } 996 | }, 997 | "mime": { 998 | "version": "2.4.6", 999 | "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", 1000 | "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", 1001 | "optional": true 1002 | }, 1003 | "mime-db": { 1004 | "version": "1.44.0", 1005 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", 1006 | "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", 1007 | "optional": true 1008 | }, 1009 | "mime-types": { 1010 | "version": "2.1.27", 1011 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", 1012 | "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", 1013 | "optional": true, 1014 | "requires": { 1015 | "mime-db": "1.44.0" 1016 | } 1017 | }, 1018 | "mimic-fn": { 1019 | "version": "2.1.0", 1020 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 1021 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 1022 | "optional": true 1023 | }, 1024 | "moment": { 1025 | "version": "2.28.0", 1026 | "resolved": "https://registry.npmjs.org/moment/-/moment-2.28.0.tgz", 1027 | "integrity": "sha512-Z5KOjYmnHyd/ukynmFd/WwyXHd7L4J9vTI/nn5Ap9AVUgaAE15VvQ9MOGmJJygEUklupqIrFnor/tjTwRU+tQw==" 1028 | }, 1029 | "ms": { 1030 | "version": "2.1.2", 1031 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1032 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 1033 | }, 1034 | "node-fetch": { 1035 | "version": "2.6.1", 1036 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", 1037 | "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" 1038 | }, 1039 | "node-forge": { 1040 | "version": "0.10.0", 1041 | "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", 1042 | "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" 1043 | }, 1044 | "noop6": { 1045 | "version": "1.0.9", 1046 | "resolved": "https://registry.npmjs.org/noop6/-/noop6-1.0.9.tgz", 1047 | "integrity": "sha512-DB3Hwyd89dPr5HqEPg3YHjzvwh/mCqizC1zZ8vyofqc+TQRyPDnT4wgXXbLGF4z9YAzwwTLi8pNLhGqcbSjgkA==" 1048 | }, 1049 | "once": { 1050 | "version": "1.4.0", 1051 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1052 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1053 | "optional": true, 1054 | "requires": { 1055 | "wrappy": "1" 1056 | } 1057 | }, 1058 | "onetime": { 1059 | "version": "5.1.2", 1060 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", 1061 | "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", 1062 | "optional": true, 1063 | "requires": { 1064 | "mimic-fn": "^2.1.0" 1065 | } 1066 | }, 1067 | "p-limit": { 1068 | "version": "2.3.0", 1069 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 1070 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", 1071 | "optional": true, 1072 | "requires": { 1073 | "p-try": "^2.0.0" 1074 | } 1075 | }, 1076 | "p-locate": { 1077 | "version": "4.1.0", 1078 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", 1079 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", 1080 | "optional": true, 1081 | "requires": { 1082 | "p-limit": "^2.2.0" 1083 | } 1084 | }, 1085 | "p-try": { 1086 | "version": "2.2.0", 1087 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 1088 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", 1089 | "optional": true 1090 | }, 1091 | "path-exists": { 1092 | "version": "4.0.0", 1093 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 1094 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 1095 | "optional": true 1096 | }, 1097 | "path-key": { 1098 | "version": "3.1.1", 1099 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1100 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" 1101 | }, 1102 | "process-nextick-args": { 1103 | "version": "2.0.1", 1104 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 1105 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", 1106 | "optional": true 1107 | }, 1108 | "protobufjs": { 1109 | "version": "6.10.1", 1110 | "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.10.1.tgz", 1111 | "integrity": "sha512-pb8kTchL+1Ceg4lFd5XUpK8PdWacbvV5SK2ULH2ebrYtl4GjJmS24m6CKME67jzV53tbJxHlnNOSqQHbTsR9JQ==", 1112 | "optional": true, 1113 | "requires": { 1114 | "@protobufjs/aspromise": "^1.1.2", 1115 | "@protobufjs/base64": "^1.1.2", 1116 | "@protobufjs/codegen": "^2.0.4", 1117 | "@protobufjs/eventemitter": "^1.1.0", 1118 | "@protobufjs/fetch": "^1.1.0", 1119 | "@protobufjs/float": "^1.0.2", 1120 | "@protobufjs/inquire": "^1.1.0", 1121 | "@protobufjs/path": "^1.1.2", 1122 | "@protobufjs/pool": "^1.1.0", 1123 | "@protobufjs/utf8": "^1.1.0", 1124 | "@types/long": "^4.0.1", 1125 | "@types/node": "^13.7.0", 1126 | "long": "^4.0.0" 1127 | }, 1128 | "dependencies": { 1129 | "@types/node": { 1130 | "version": "13.13.21", 1131 | "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.21.tgz", 1132 | "integrity": "sha512-tlFWakSzBITITJSxHV4hg4KvrhR/7h3xbJdSFbYJBVzKubrASbnnIFuSgolUh7qKGo/ZeJPKUfbZ0WS6Jp14DQ==", 1133 | "optional": true 1134 | } 1135 | } 1136 | }, 1137 | "pump": { 1138 | "version": "3.0.0", 1139 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 1140 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 1141 | "optional": true, 1142 | "requires": { 1143 | "end-of-stream": "^1.1.0", 1144 | "once": "^1.3.1" 1145 | } 1146 | }, 1147 | "pumpify": { 1148 | "version": "2.0.1", 1149 | "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-2.0.1.tgz", 1150 | "integrity": "sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw==", 1151 | "optional": true, 1152 | "requires": { 1153 | "duplexify": "^4.1.1", 1154 | "inherits": "^2.0.3", 1155 | "pump": "^3.0.0" 1156 | }, 1157 | "dependencies": { 1158 | "duplexify": { 1159 | "version": "4.1.1", 1160 | "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz", 1161 | "integrity": "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==", 1162 | "optional": true, 1163 | "requires": { 1164 | "end-of-stream": "^1.4.1", 1165 | "inherits": "^2.0.3", 1166 | "readable-stream": "^3.1.1", 1167 | "stream-shift": "^1.0.0" 1168 | } 1169 | }, 1170 | "readable-stream": { 1171 | "version": "3.6.0", 1172 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 1173 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 1174 | "optional": true, 1175 | "requires": { 1176 | "inherits": "^2.0.3", 1177 | "string_decoder": "^1.1.1", 1178 | "util-deprecate": "^1.0.1" 1179 | } 1180 | } 1181 | } 1182 | }, 1183 | "readable-stream": { 1184 | "version": "2.3.7", 1185 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", 1186 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", 1187 | "optional": true, 1188 | "requires": { 1189 | "core-util-is": "~1.0.0", 1190 | "inherits": "~2.0.3", 1191 | "isarray": "~1.0.0", 1192 | "process-nextick-args": "~2.0.0", 1193 | "safe-buffer": "~5.1.1", 1194 | "string_decoder": "~1.1.1", 1195 | "util-deprecate": "~1.0.1" 1196 | }, 1197 | "dependencies": { 1198 | "safe-buffer": { 1199 | "version": "5.1.2", 1200 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 1201 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 1202 | "optional": true 1203 | } 1204 | } 1205 | }, 1206 | "require-directory": { 1207 | "version": "2.1.1", 1208 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 1209 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", 1210 | "optional": true 1211 | }, 1212 | "require-main-filename": { 1213 | "version": "2.0.0", 1214 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", 1215 | "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", 1216 | "optional": true 1217 | }, 1218 | "retry-request": { 1219 | "version": "4.1.3", 1220 | "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.1.3.tgz", 1221 | "integrity": "sha512-QnRZUpuPNgX0+D1xVxul6DbJ9slvo4Rm6iV/dn63e048MvGbUZiKySVt6Tenp04JqmchxjiLltGerOJys7kJYQ==", 1222 | "optional": true, 1223 | "requires": { 1224 | "debug": "^4.1.1" 1225 | } 1226 | }, 1227 | "safe-buffer": { 1228 | "version": "5.2.1", 1229 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1230 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 1231 | }, 1232 | "semver": { 1233 | "version": "6.3.0", 1234 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 1235 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", 1236 | "optional": true 1237 | }, 1238 | "set-blocking": { 1239 | "version": "2.0.0", 1240 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 1241 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", 1242 | "optional": true 1243 | }, 1244 | "shebang-command": { 1245 | "version": "2.0.0", 1246 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1247 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1248 | "requires": { 1249 | "shebang-regex": "^3.0.0" 1250 | } 1251 | }, 1252 | "shebang-regex": { 1253 | "version": "3.0.0", 1254 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1255 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" 1256 | }, 1257 | "signal-exit": { 1258 | "version": "3.0.3", 1259 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", 1260 | "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", 1261 | "optional": true 1262 | }, 1263 | "snakeize": { 1264 | "version": "0.1.0", 1265 | "resolved": "https://registry.npmjs.org/snakeize/-/snakeize-0.1.0.tgz", 1266 | "integrity": "sha1-EMCI2LWOsHazIpu1oE4jLOEmQi0=", 1267 | "optional": true 1268 | }, 1269 | "stream-events": { 1270 | "version": "1.0.5", 1271 | "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz", 1272 | "integrity": "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==", 1273 | "optional": true, 1274 | "requires": { 1275 | "stubs": "^3.0.0" 1276 | } 1277 | }, 1278 | "stream-shift": { 1279 | "version": "1.0.1", 1280 | "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", 1281 | "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", 1282 | "optional": true 1283 | }, 1284 | "streamsearch": { 1285 | "version": "0.1.2", 1286 | "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", 1287 | "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" 1288 | }, 1289 | "string-width": { 1290 | "version": "4.2.0", 1291 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", 1292 | "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", 1293 | "optional": true, 1294 | "requires": { 1295 | "emoji-regex": "^8.0.0", 1296 | "is-fullwidth-code-point": "^3.0.0", 1297 | "strip-ansi": "^6.0.0" 1298 | } 1299 | }, 1300 | "string_decoder": { 1301 | "version": "1.1.1", 1302 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 1303 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 1304 | "optional": true, 1305 | "requires": { 1306 | "safe-buffer": "~5.1.0" 1307 | }, 1308 | "dependencies": { 1309 | "safe-buffer": { 1310 | "version": "5.1.2", 1311 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 1312 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 1313 | "optional": true 1314 | } 1315 | } 1316 | }, 1317 | "strip-ansi": { 1318 | "version": "6.0.0", 1319 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", 1320 | "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", 1321 | "optional": true, 1322 | "requires": { 1323 | "ansi-regex": "^5.0.0" 1324 | } 1325 | }, 1326 | "stubs": { 1327 | "version": "3.0.0", 1328 | "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz", 1329 | "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=", 1330 | "optional": true 1331 | }, 1332 | "teeny-request": { 1333 | "version": "7.0.0", 1334 | "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-7.0.0.tgz", 1335 | "integrity": "sha512-kWD3sdGmIix6w7c8ZdVKxWq+3YwVPGWz+Mq0wRZXayEKY/YHb63b8uphfBzcFDmyq8frD9+UTc3wLyOhltRbtg==", 1336 | "optional": true, 1337 | "requires": { 1338 | "http-proxy-agent": "^4.0.0", 1339 | "https-proxy-agent": "^5.0.0", 1340 | "node-fetch": "^2.2.0", 1341 | "stream-events": "^1.0.5", 1342 | "uuid": "^8.0.0" 1343 | } 1344 | }, 1345 | "tslib": { 1346 | "version": "1.13.0", 1347 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", 1348 | "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" 1349 | }, 1350 | "typedarray": { 1351 | "version": "0.0.6", 1352 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", 1353 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", 1354 | "optional": true 1355 | }, 1356 | "typedarray-to-buffer": { 1357 | "version": "3.1.5", 1358 | "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", 1359 | "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", 1360 | "optional": true, 1361 | "requires": { 1362 | "is-typedarray": "^1.0.0" 1363 | } 1364 | }, 1365 | "typpy": { 1366 | "version": "2.3.11", 1367 | "resolved": "https://registry.npmjs.org/typpy/-/typpy-2.3.11.tgz", 1368 | "integrity": "sha512-Jh/fykZSaxeKO0ceMAs6agki9T5TNA9kiIR6fzKbvafKpIw8UlNlHhzuqKyi5lfJJ5VojJOx9tooIbyy7vHV/g==", 1369 | "requires": { 1370 | "function.name": "^1.0.3" 1371 | } 1372 | }, 1373 | "unique-string": { 1374 | "version": "2.0.0", 1375 | "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", 1376 | "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", 1377 | "optional": true, 1378 | "requires": { 1379 | "crypto-random-string": "^2.0.0" 1380 | } 1381 | }, 1382 | "util-deprecate": { 1383 | "version": "1.0.2", 1384 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1385 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 1386 | "optional": true 1387 | }, 1388 | "uuid": { 1389 | "version": "8.3.0", 1390 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.0.tgz", 1391 | "integrity": "sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ==", 1392 | "optional": true 1393 | }, 1394 | "walkdir": { 1395 | "version": "0.4.1", 1396 | "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.4.1.tgz", 1397 | "integrity": "sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==", 1398 | "optional": true 1399 | }, 1400 | "websocket-driver": { 1401 | "version": "0.7.4", 1402 | "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", 1403 | "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", 1404 | "requires": { 1405 | "http-parser-js": ">=0.5.1", 1406 | "safe-buffer": ">=5.1.0", 1407 | "websocket-extensions": ">=0.1.1" 1408 | } 1409 | }, 1410 | "websocket-extensions": { 1411 | "version": "0.1.4", 1412 | "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", 1413 | "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" 1414 | }, 1415 | "which": { 1416 | "version": "2.0.2", 1417 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 1418 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 1419 | "requires": { 1420 | "isexe": "^2.0.0" 1421 | } 1422 | }, 1423 | "which-module": { 1424 | "version": "2.0.0", 1425 | "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", 1426 | "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", 1427 | "optional": true 1428 | }, 1429 | "wrap-ansi": { 1430 | "version": "6.2.0", 1431 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", 1432 | "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", 1433 | "optional": true, 1434 | "requires": { 1435 | "ansi-styles": "^4.0.0", 1436 | "string-width": "^4.1.0", 1437 | "strip-ansi": "^6.0.0" 1438 | } 1439 | }, 1440 | "wrappy": { 1441 | "version": "1.0.2", 1442 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1443 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 1444 | "optional": true 1445 | }, 1446 | "write-file-atomic": { 1447 | "version": "3.0.3", 1448 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", 1449 | "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", 1450 | "optional": true, 1451 | "requires": { 1452 | "imurmurhash": "^0.1.4", 1453 | "is-typedarray": "^1.0.0", 1454 | "signal-exit": "^3.0.2", 1455 | "typedarray-to-buffer": "^3.1.5" 1456 | } 1457 | }, 1458 | "xdg-basedir": { 1459 | "version": "4.0.0", 1460 | "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", 1461 | "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", 1462 | "optional": true 1463 | }, 1464 | "y18n": { 1465 | "version": "4.0.0", 1466 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", 1467 | "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", 1468 | "optional": true 1469 | }, 1470 | "yallist": { 1471 | "version": "4.0.0", 1472 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 1473 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 1474 | "optional": true 1475 | }, 1476 | "yargs": { 1477 | "version": "15.4.1", 1478 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", 1479 | "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", 1480 | "optional": true, 1481 | "requires": { 1482 | "cliui": "^6.0.0", 1483 | "decamelize": "^1.2.0", 1484 | "find-up": "^4.1.0", 1485 | "get-caller-file": "^2.0.1", 1486 | "require-directory": "^2.1.1", 1487 | "require-main-filename": "^2.0.0", 1488 | "set-blocking": "^2.0.0", 1489 | "string-width": "^4.2.0", 1490 | "which-module": "^2.0.0", 1491 | "y18n": "^4.0.0", 1492 | "yargs-parser": "^18.1.2" 1493 | } 1494 | }, 1495 | "yargs-parser": { 1496 | "version": "18.1.3", 1497 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", 1498 | "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", 1499 | "optional": true, 1500 | "requires": { 1501 | "camelcase": "^5.0.0", 1502 | "decamelize": "^1.2.0" 1503 | } 1504 | } 1505 | } 1506 | } 1507 | --------------------------------------------------------------------------------