Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/HuasoFoundries/phpPgAdmin6.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Figueroa <amenadiel@gmail.com>2020-10-10 03:55:46 +0300
committerFelipe Figueroa <amenadiel@gmail.com>2020-10-10 03:55:46 +0300
commit01bca9807d014d9697cefc5039d8d0d46bbdd3ee (patch)
tree20e4b086ec9f015377e4d400f9391738689f9297
parentee213544c28fde7dc4fd3c22b1250d9dc903966d (diff)
ignore vscode
-rw-r--r--.github/workflows/coding_standards.yml63
-rw-r--r--.github/workflows/static_analysis.yml94
-rw-r--r--.gitignore6
-rw-r--r--Makefile91
-rw-r--r--README.md4
-rw-r--r--assets/js/ac_insert_row.js348
-rw-r--r--assets/js/codemirror/addon/sql-lint.js62
-rw-r--r--assets/js/codemirror/codemirror_footer.js58
-rw-r--r--assets/js/codemirror/instance_codemirror.js37
-rw-r--r--assets/js/database.js143
-rw-r--r--assets/js/display.js183
-rw-r--r--assets/js/footer_scripts.js12
-rw-r--r--assets/js/footer_sqledit.js52
-rw-r--r--assets/js/functions.js410
-rw-r--r--assets/js/indexes.js139
-rw-r--r--assets/js/insert_or_edit_row.js36
-rw-r--r--assets/js/less.min.js17
-rw-r--r--assets/js/multiactionform.js14
-rw-r--r--assets/js/polyfills.js74
-rw-r--r--assets/js/tables.js11
-rw-r--r--assets/templates/browser.twig107
-rw-r--r--assets/templates/components/common_head.twig5
-rw-r--r--assets/templates/footer.twig11
-rw-r--r--assets/templates/footer_iframe.twig30
-rw-r--r--assets/templates/footer_sqledit.twig13
-rw-r--r--assets/templates/header.twig11
-rw-r--r--assets/templates/header_datatables.twig13
-rw-r--r--assets/templates/header_highlight.twig15
-rw-r--r--assets/templates/header_select2.twig15
-rw-r--r--assets/templates/header_sqledit.twig30
-rw-r--r--assets/templates/iframe_view.twig36
-rw-r--r--composer.json142
-rw-r--r--package.json24
-rw-r--r--phpstan.neon33
-rw-r--r--psalm.xml13
-rw-r--r--src/classes/ADOdbException.php4
-rw-r--r--src/classes/Connection.php12
-rw-r--r--src/classes/ContainerUtils.php5
-rw-r--r--src/classes/Misc.php4
-rw-r--r--src/controllers/AlldbController.php2
-rw-r--r--src/controllers/BaseController.php36
-rw-r--r--src/controllers/DatabaseController.php32
-rw-r--r--src/controllers/DisplayController.php1
-rw-r--r--src/controllers/PrivilegesController.php2
-rw-r--r--src/controllers/SchemasController.php2
-rw-r--r--src/controllers/SequencesController.php62
-rw-r--r--src/controllers/TreeController.php2
-rw-r--r--src/database/databasetraits/RoleTrait.php6
-rw-r--r--src/database/databasetraits/SequenceTrait.php34
-rw-r--r--src/xhtml/HTMLHeaderController.php4
-rw-r--r--yarn.lock619
51 files changed, 1789 insertions, 1390 deletions
diff --git a/.github/workflows/coding_standards.yml b/.github/workflows/coding_standards.yml
index 6873762c..08a4117a 100644
--- a/.github/workflows/coding_standards.yml
+++ b/.github/workflows/coding_standards.yml
@@ -1,6 +1,6 @@
# https://help.github.com/en/categories/automating-your-workflow-with-github-actions
-name: 'Coding_Standards'
+name: "Coding_Standards"
on:
push:
@@ -15,25 +15,25 @@ on:
env:
MIN_COVERED_MSI: 100
MIN_MSI: 100
- PHP_EXTENSIONS: 'mbstring, pgsql'
+ PHP_EXTENSIONS: "mbstring, pgsql"
key: cache-v1 # can be any string, change to clear the extension cache.
jobs:
coding_standards:
- name: 'Coding_Standards'
+ name: "Coding_Standards"
- runs-on: 'ubuntu-latest'
+ runs-on: "ubuntu-latest"
strategy:
matrix:
php_version:
- - '7.3'
+ - "7.3"
dependencies:
- - 'locked'
+ - "locked"
steps:
- - name: 'Checkout'
- uses: 'actions/checkout@v2.3.1'
+ - name: "Checkout"
+ uses: "actions/checkout@v2.3.3"
- name: Setup cache environment
id: extcache
@@ -44,41 +44,42 @@ jobs:
key: ${{ env.key }}
- name: Cache extensions
- uses: actions/cache@v2
+ uses: "actions/cache@v2.1.1"
with:
path: ${{ steps.extcache.outputs.dir }}
key: ${{ steps.extcache.outputs.key }}
restore-keys: ${{ steps.extcache.outputs.key }}
- - name: 'Install PHP with extensions'
- uses: 'shivammathur/setup-php@v2'
+ - name: "Install PHP with extensions"
+ uses: "shivammathur/setup-php@v2.5.0"
with:
- coverage: 'none'
- extensions: '${{ env.PHP_EXTENSIONS }}'
- php-version: '${{ matrix.php_version }}'
+ coverage: "none"
+ extensions: "${{ env.PHP_EXTENSIONS }}"
+ php-version: "${{ matrix.php_version }}"
tools: composer
- - name: 'Remove ide_helper'
- run: 'rm -rf _ide_helper.php'
-
- - name: 'Remove configs'
- run: 'rm -rf bootstrap/cache/*.php'
+ - name: Cache Composer
+ uses: "actions/cache@v2.1.1"
+ with:
+ path: "~/.composer/cache"
+ key: "composer-${{ hashFiles('composer.lock') }}"
+ restore-keys: "composer-"
- - name: 'Install locked dependencies from composer.lock'
- run: 'composer install --no-interaction --no-progress --no-suggest'
+ - name: "Install locked dependencies from composer.lock"
+ run: "composer install --no-interaction --no-progress --no-suggest"
- - name: 'Run ergebnis/composer-normalize'
- run: 'composer normalize --dry-run'
+ - name: "Run ergebnis/composer-normalize"
+ run: "composer normalize --dry-run"
- - name: 'Create cache directory for friendsofphp/php-cs-fixer'
- run: 'mkdir -p .build/php-cs-fixer'
+ - name: "Create cache directory for friendsofphp/php-cs-fixer"
+ run: "mkdir -p .build/php-cs-fixer"
- - name: 'Cache cache directory for friendsofphp/php-cs-fixer'
- uses: 'actions/cache@v2'
+ - name: "Cache cache directory for friendsofphp/php-cs-fixer"
+ uses: "actions/cache@v2.1.1"
with:
- path: '.build/php-cs-fixer'
+ path: ".build/php-cs-fixer"
key: "php-${{ matrix.php_version }}-php-cs-fixer-${{ hashFiles('composer.lock') }}"
- restore-keys: 'php-${{ matrix.php_version }}-php-cs-fixer-'
+ restore-keys: "php-${{ matrix.php_version }}-php-cs-fixer-"
- - name: 'Run friendsofphp/php-cs-fixer'
- run: 'vendor/bin/php-cs-fixer fix --config=.php_cs.php --diff --diff-format=udiff --dry-run --verbose'
+ - name: "Run friendsofphp/php-cs-fixer"
+ run: "vendor/bin/php-cs-fixer fix --config=.php_cs.php --diff --diff-format=udiff --dry-run --verbose"
diff --git a/.github/workflows/static_analysis.yml b/.github/workflows/static_analysis.yml
index 901c59c2..f9a137e3 100644
--- a/.github/workflows/static_analysis.yml
+++ b/.github/workflows/static_analysis.yml
@@ -1,6 +1,6 @@
# https://help.github.com/en/categories/automating-your-workflow-with-github-actions
-name: 'Static_Analysis'
+name: "Static_Analysis"
on:
pull_request:
@@ -11,27 +11,29 @@ on:
env:
MIN_COVERED_MSI: 100
MIN_MSI: 100
- PHP_EXTENSIONS: 'mbstring, pgsql'
+ PHP_EXTENSIONS: "mbstring, pgsql"
+ GH_ACTIONS_TOKEN: ${{ secrets.GH_ACTIONS_TOKEN }}
+ PHP_TOOLS: composer, prestissimo, composer-require-checker, composer-normalize
key: cache-v1 # can be any string, change to clear the extension cache.
jobs:
Static_Analysis:
- name: 'Static_Analysis'
+ name: "Static_Analysis"
- runs-on: 'ubuntu-latest'
+ runs-on: "ubuntu-latest"
strategy:
matrix:
php_version:
- - '7.3'
+ - "7.3"
dependencies:
- - 'locked'
+ - "locked"
steps:
- - name: 'Checkout'
- uses: 'actions/checkout@v2.3.1'
+ - name: "Checkout"
+ uses: "actions/checkout@v2.3.3"
- - name: Setup cache environment
+ - name: Setup cache for extensions
id: extcache
uses: shivammathur/cache-extensions@v1
with:
@@ -39,50 +41,62 @@ jobs:
extensions: ${{ env.PHP_EXTENSIONS }}
key: ${{ env.key }}
- - name: Cache extensions
- uses: actions/cache@v2
+ - name: Create cache entry for extensions
+ uses: "actions/cache@v2.1.1"
with:
path: ${{ steps.extcache.outputs.dir }}
key: ${{ steps.extcache.outputs.key }}
restore-keys: ${{ steps.extcache.outputs.key }}
- - name: 'Install PHP with extensions'
- uses: 'shivammathur/setup-php@v2'
+ - name: "Install PHP with extensions"
+ uses: "shivammathur/setup-php@v2.5.0"
with:
- coverage: 'none'
- extensions: '${{ env.PHP_EXTENSIONS }}'
- php-version: '${{ matrix.php_version }}'
- tools: composer
+ coverage: "none"
+ extensions: "${{ env.PHP_EXTENSIONS }}"
+ php-version: "${{ matrix.php_version }}"
+ tools: "${{ env.PHP_TOOLS }}"
+ - name: Create cache entry for Composer
+ uses: "actions/cache@v2.1.1"
+ with:
+ path: "~/.composer/cache"
+ key: "composer-${{ hashFiles('composer.lock') }}"
+ restore-keys: "composer-"
- - name: 'Install locked dependencies from composer.lock'
- run: 'composer install --no-interaction --no-progress --no-suggest'
+ - name: "Install locked dependencies from composer.lock"
+ run: "composer install --no-interaction --no-progress --no-suggest"
- - name: 'Run php-parallel-lint'
- run: 'vendor/bin/parallel-lint --ignore-fails --exclude vendor --exclude .build .'
+ - name: "Run php-parallel-lint"
+ run: "vendor/bin/parallel-lint --exclude vendor --exclude .build ."
- - name: 'Create cache directory for phpstan/phpstan'
- run: 'mkdir -p .build/phpstan'
+ - name: "Create cache directory for phpstan/phpstan"
+ run: "mkdir -p .build/phpstan"
- - name: 'Cache cache directory for phpstan/phpstan'
- uses: 'actions/cache@v2'
+ - name: "Create cache entry for phpstan/phpstan"
+ uses: "actions/cache@v2.1.1"
with:
- path: '.build/phpstan'
- key: 'php-7.3-phpstan-${{ github.sha }}'
- restore-keys: 'php-7.3-phpstan-'
+ path: ".build/phpstan"
+ key: "php-7.3-phpstan-${{ github.sha }}"
+ restore-keys: "php-7.3-phpstan-"
- - name: 'Run phpstan/phpstan'
- run: 'vendor/bin/phpstan analyse --configuration=phpstan.neon --error-format=github'
+ - name: "Run phpstan/phpstan"
+ run: "vendor/bin/phpstan analyse --configuration=phpstan.neon --error-format=github"
- - name: 'Create cache directory for vimeo/psalm'
- run: 'mkdir -p .build/psalm'
+ - name: "Create cache directory for vimeo/psalm"
+ run: "mkdir -p .build/psalm"
- - name: 'Cache cache directory for vimeo/psalm'
- uses: 'actions/cache@v2'
+ - name: "Create cache entry for vimeo/psalm"
+ uses: "actions/cache@v2.1.1"
with:
- path: '.build/psalm'
- key: 'php-7.3-psalm-${{ github.sha }}'
- restore-keys: 'php-7.3-psalm-'
-
- - name: 'Run vimeo/psalm'
- run: 'vendor/bin/psalm --config=psalm.xml --show-info=false --stats --diff --diff-methods --threads=4'
+ path: ".build/psalm"
+ key: "php-7.3-psalm-${{ github.sha }}"
+ restore-keys: "php-7.3-psalm-"
+
+ - name: "Run vimeo/psalm"
+ run: "vendor/bin/psalm --config=psalm.xml --shepherd --show-info=false --stats --diff --diff-methods --threads=4"
+
+ - name: Run reviewdog
+ env:
+ REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GH_ACTIONS_TOKEN }}
+ run: |
+ reviewdog -conf=.reviewdog.yml -reporter=github-check \ No newline at end of file
diff --git a/.gitignore b/.gitignore
index bc9be95c..ef9f0bab 100644
--- a/.gitignore
+++ b/.gitignore
@@ -36,7 +36,7 @@ vendor
###> Config files other tan examples
config.yml
-.configs/
+.configs
sftp-config*
config.*.php*
!config.inc.php-dist
@@ -47,3 +47,7 @@ config.*.php*
.build
.php_cs.cache
.phpunit.result.cache
+
+tools/reviewdog
+tools/composer-require-checker
+.vscode/*
diff --git a/Makefile b/Makefile
index eb2a8fe6..0da19f61 100644
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,5 @@
+include mk_linters.mk
+
VERSION = $(shell cat composer.json | sed -n 's/.*"version": "\([^"]*\)"/\1/p')
SHELL = /usr/bin/env bash
@@ -7,6 +9,7 @@ XDSWI := $(shell command -v xd_swi 2> /dev/null)
HAS_PHPMD := $(shell command -v phpmd 2> /dev/null)
HAS_CSFIXER:= $(shell command -v php-cs-fixer 2> /dev/null)
XDSWI_STATUS:=$(shell command xd_swi stat 2> /dev/null)
+HAS_PHIVE:=$(shell command phive --version 2> /dev/null)
CURRENT_BRANCH:=$(shell command git rev-parse --abbrev-ref HEAD 2> /dev/null)
DATENOW:=`date +'%Y-%m-%d'`
YELLOW=\033[0;33m
@@ -83,40 +86,6 @@ endif
-csfixer:
- @if [ -f "vendor/bin/php-cs-fixer" ]; then \
- echo "XDEBUG was: "$(XDSWI_STATUS) ;\
- ${MAKE} disable_xdebug --no-print-directory ;\
- mkdir -p .build/php-cs-fixer ;\
- vendor/bin/php-cs-fixer fix --config=.php_cs.php --verbose ;\
- ${MAKE} enable_xdebug new_status=$(XDSWI_STATUS) --no-print-directory;\
- else \
- echo -e "$(GREEN)php-cs-fixer$(WHITE) is $(RED)NOT$(WHITE) installed. " ;\
- echo -e "Install it with $(GREEN)composer install --dev friendsofphp/php-cs-fixer$(WHITE)" ;\
- fi ;\
- sudo rm -rf temp/route.cache.php
-
-
-
-disable_xdebug:
- @if [[ "$(XDSWI)" != "" ]]; then \
- xd_swi off ;\
- fi
-
-enable_xdebug:
- @if [[ "$(XDSWI)" != "" ]]; then \
- xd_swi $(new_status) ;\
- fi
-
-phpmd:
- @if [ "$(HAS_PHPMD)" == "" ]; then \
- echo -e "$(GREEN)phpmd$(WHITE) is $(RED)NOT$(WHITE) installed. " ;\
- echo -e "Install it with $(GREEN)phive install phpmd$(WHITE)" ;\
- else \
- phpmd src text .phpmd.xml | sed "s/.*\///" ;\
- fi ;\
- echo ""
-
var_dumper:
@if [ -f "vendor/bin/var-dump-server" ]; then \
vendor/bin/var-dump-server ;\
@@ -127,57 +96,6 @@ var_dumper:
@echo ""
-
-psalm:
- @${MAKE} disable_xdebug --no-print-directory
- @if [ ! -f "vendor/bin/psalm" ]; then \
- echo -e "$(GREEN)psalm$(WHITE) is $(RED)NOT$(WHITE) installed. " ;\
- echo -e "Install it with $(GREEN)composer require --dev vimeo/psalm$(WHITE)" ;\
- exit 0 ;\
- fi
-
- @mkdir -p .build/psalm ;\
- vendor/bin/psalm --show-info=false --long-progress --threads=2 --config=psalm.xml | tee temp/psalm.output.txt
- @${MAKE} enable_xdebug new_status=$(XDSWI_STATUS) --no-print-directory ;\
- echo ""
-
-phpstan:
- @${MAKE} disable_xdebug --no-print-directory
- @if [ ! -f "vendor/bin/phpstan" ]; then \
- echo -e "$(GREEN)phpstan$(WHITE) is $(RED)NOT$(WHITE) installed. " ;\
- echo -e "Install it with $(GREEN)composer require --dev phpstan/phpstan$(WHITE)" ;\
- exit 0 ;\
- fi
-
- @mkdir -p .build/phpstan ;\
- ./vendor/bin/phpstan analyse --memory-limit=2G --configuration phpstan.neon | tee temp/phpstan.output.txt
- @${MAKE} enable_xdebug new_status=$(XDSWI_STATUS) --no-print-directory ;\
- echo ""
-
-lint:
- @if [ -f "vendor/bin/parallel-lint" ]; then \
- mkdir -p .build/parallel ;\
- ${MAKE} disable_xdebug --no-print-directory ;\
- vendor/bin/parallel-lint --ignore-fails --exclude vendor src ;\
- ${MAKE} enable_xdebug new_status=$(XDSWI_STATUS) --no-print-directory;\
- else \
- echo -e "$(GREEN)parallel-lint$(WHITE) is $(RED)NOT$(WHITE) installed. " ;\
- echo -e "Install it with $(GREEN)composer require --dev php-parallel-lint/php-parallel-lint$(WHITE)" ;\
- fi
- @find ./src -name \*.php -print0 | xargs -0 -n 1 php -l
- @echo ""
-
-update_baselines:
- @${MAKE} disable_xdebug --no-print-directory ;\
- find .build/phpstan -mtime +5 -type f -name "*.php" -exec rm -rf {} \;
- @vendor/bin/phpstan analyze --configuration phpstan.neon --generate-baseline ;\
- find .build/psalm -mtime +5 -type f -exec rm -rf {} \;
- @vendor/bin/psalm --config=psalm.xml --update-baseline --ignore-baseline --set-baseline=psalm-baseline.xml ;\
- ${MAKE} enable_xdebug new_status=$(XDSWI_STATUS) --no-print-directory
-
-
-fixers: phpmd psalm phpstan
-
create_testdb:
PGPASSWORD=scrutinizer psql -U scrutinizer -h localhost -f tests/simpletest/data/ppatests_install.sql
@@ -186,4 +104,5 @@ destroy_testdb:
run_local:
${MAKE} fix_permissions
- php -S localhost:8000 index.php \ No newline at end of file
+ php -S localhost:8000 index.php
+
diff --git a/README.md b/README.md
index ab2dfa7c..df11d495 100644
--- a/README.md
+++ b/README.md
@@ -6,8 +6,10 @@ PHP Based administration tool for PostgreSQL. Blazing fast routing with [Slim Fr
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/289a56c1c7d94216b3d089c220689e9e)](https://www.codacy.com/app/amenadiel/phpPgAdmin6?utm_source=github.com&utm_medium=referral&utm_content=HuasoFoundries/phpPgAdmin6&utm_campaign=Badge_Grade)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/HuasoFoundries/phpPgAdmin6/badges/quality-score.png?b=develop)](https://scrutinizer-ci.com/g/HuasoFoundries/phpPgAdmin6/?branch=develop)
[![Build Status](https://scrutinizer-ci.com/g/HuasoFoundries/phpPgAdmin6/badges/build.png?b=develop)](https://scrutinizer-ci.com/g/HuasoFoundries/phpPgAdmin6/build-status/develop)
+[![License](https://img.shields.io/badge/license-MIT-428f7e.svg?logo=open%20source%20initiative&logoColor=white&labelColor=555555)](LICENSE.md)
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FHuasoFoundries%2FphpPgAdmin6.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2FHuasoFoundries%2FphpPgAdmin6?ref=badge_shield)
-
+![Packagist PHP Version Support](https://img.shields.io/packagist/php-v/huasofoundries/phppgadmin6?logo=php&labelColor=efefef)
+____________
This project is inspired in [phppgadmin](https://github.com/phppgadmin/phppgadmin). Said project stalled a few years ago so we took it, refactored almost entirely and added:
- Composer Installation and dependency management
diff --git a/assets/js/ac_insert_row.js b/assets/js/ac_insert_row.js
index d6eff8fd..d982cec9 100644
--- a/assets/js/ac_insert_row.js
+++ b/assets/js/ac_insert_row.js
@@ -1,224 +1,218 @@
+/** globals jQuery */
var fkl_hasnext = false;
var fkl_hasprev = false;
/* hide the value list */
function hideAc() {
- jQuery.ppa.o = 0;
- with(jQuery.ppa) {
- fklist.hide();
- fkbg.hide();
- }
+ jQuery.ppa.o = 0;
+ with (jQuery.ppa) {
+ fklist.hide();
+ fkbg.hide();
+ }
}
/* enable/disable auto-complete feature */
function triggerAc(ac) {
- if (ac) {
- jQuery.ppa.attrs
- .bind('keyup.ac_action', autocomplete)
- .bind('focus.ac_action', autocomplete)
- .bind('keypress.ac_action', move)
- .addClass('ac_field');
- } else {
- jQuery.ppa.attrs
- .removeClass('ac_field')
- .unbind('.ac_action');
- }
+ if (ac) {
+ jQuery.ppa.attrs
+ .bind('keyup.ac_action', autocomplete)
+ .bind('focus.ac_action', autocomplete)
+ .bind('keypress.ac_action', move)
+ .addClass('ac_field');
+ } else {
+ jQuery.ppa.attrs.removeClass('ac_field').unbind('.ac_action');
+ }
}
/* select the given index value and highlight it */
function selectVal(index) {
- if (index == jQuery.ppa.i)
- return;
-
- // we catch the header as well so it takes th index 0
- var trs = jQuery.ppa.fklist.find('tr');
-
- // change colors for unselected
- if (jQuery.ppa.i > 0)
- trs.eq(jQuery.ppa.i).find('*').css({
- 'background-color': '#fff',
- 'color': ''
- });
-
- // change colors for newly selected
- trs.eq(index).find('*').css({
- 'background-color': '#3d80df',
- 'color': '#fff'
+ if (index == jQuery.ppa.i) return;
+
+ // we catch the header as well so it takes th index 0
+ var trs = jQuery.ppa.fklist.find('tr');
+
+ // change colors for unselected
+ if (jQuery.ppa.i > 0)
+ trs.eq(jQuery.ppa.i).find('*').css({
+ 'background-color': '#fff',
+ color: '',
});
- jQuery.ppa.i = index;
+ // change colors for newly selected
+ trs.eq(index).find('*').css({
+ 'background-color': '#3d80df',
+ color: '#fff',
+ });
+
+ jQuery.ppa.i = index;
}
function openlist(e) {
- var elt = jQuery(e);
- var attnum = elt.attr('id').match(/\d+/)[0];
- /* FIXME we only support the first FK constraint of the field */
- var conid = attrs['attr_' + attnum][0];
-
- var constr = constrs["constr_" + conid];
-
- // get the changed attribute position in the arrays
- for (i = 0;
- (constr.pattnums[i] != attnum); i++);
-
- var datas = {
- fattpos: i,
- fvalue: e.value,
- database: database,
- 'keys[]': constr.pattnums,
- 'keynames[]': constr.pattnames,
- 'fkeynames[]': constr.fattnames,
- f_table: constr.f_table,
- f_schema: constr.f_schema,
- offset: jQuery.ppa.o
- };
-
- jQuery.ajax({
- url: subfolder + '/src/views/acinsert.php?server=' + server,
- type: 'post',
- data: datas,
- dataType: 'html',
- cache: false,
- contentType: 'application/x-www-form-urlencoded',
- success: function (ret) {
- jQuery.ppa.i = 0;
- jQuery.ppa.fkbg.show();
- with(jQuery.ppa.fklist) {
- html(ret);
- appendTo('#row_att_' + attnum);
- css('width', elt.css('width'));
- show();
- jQuery.ppa.numrow = find('tr').length;
- }
- }
- });
+ var elt = jQuery(e);
+ var attnum = elt.attr('id').match(/\d+/)[0];
+ /* FIXME we only support the first FK constraint of the field */
+ var conid = attrs['attr_' + attnum][0];
+
+ var constr = constrs['constr_' + conid];
+
+ // get the changed attribute position in the arrays
+ for (i = 0; constr.pattnums[i] != attnum; i++);
+
+ var datas = {
+ fattpos: i,
+ fvalue: e.value,
+ database: database,
+ 'keys[]': constr.pattnums,
+ 'keynames[]': constr.pattnames,
+ 'fkeynames[]': constr.fattnames,
+ f_table: constr.f_table,
+ f_schema: constr.f_schema,
+ offset: jQuery.ppa.o,
+ };
+
+ jQuery.ajax({
+ url: subfolder + '/src/views/acinsert.php?server=' + server,
+ type: 'post',
+ data: datas,
+ dataType: 'html',
+ cache: false,
+ contentType: 'application/x-www-form-urlencoded',
+ success: function (ret) {
+ jQuery.ppa.i = 0;
+ jQuery.ppa.fkbg.show();
+ with (jQuery.ppa.fklist) {
+ html(ret);
+ appendTo('#row_att_' + attnum);
+ css('width', elt.css('width'));
+ show();
+ jQuery.ppa.numrow = find('tr').length;
+ }
+ },
+ });
}
-
/* move the cursor down or up,
* load available next/prev values if going out of bound */
function move(event) {
- /* selecting next value down.
- * if the list is closed, it will open next */
- if (event.keyCode == 40) {
- if (jQuery.ppa.fklist[0].style.display == 'block') {
- if ((jQuery.ppa.i + 1) < jQuery.ppa.numrow) {
- selectVal(jQuery.ppa.i + 1);
- } else if (fkl_hasnext == true) {
- jQuery.ppa.o += 11;
- openlist(this);
- }
- } else {
- openlist(this);
- }
+ /* selecting next value down.
+ * if the list is closed, it will open next */
+ if (event.keyCode == 40) {
+ if (jQuery.ppa.fklist[0].style.display == 'block') {
+ if (jQuery.ppa.i + 1 < jQuery.ppa.numrow) {
+ selectVal(jQuery.ppa.i + 1);
+ } else if (fkl_hasnext == true) {
+ jQuery.ppa.o += 11;
+ openlist(this);
+ }
+ } else {
+ openlist(this);
}
+ } else if (event.keyCode == 38) {
/* selecting prev value up */
- else if (event.keyCode == 38) {
- if ((jQuery.ppa.i - 1) > 0) {
- selectVal(jQuery.ppa.i - 1);
- } else if ((fkl_hasprev == true) && (jQuery.ppa.i == 1)) {
- jQuery.ppa.o -= 11;
- openlist(this);
- } else {
- selectVal(jQuery.ppa.numrow - 1);
- }
+ if (jQuery.ppa.i - 1 > 0) {
+ selectVal(jQuery.ppa.i - 1);
+ } else if (fkl_hasprev == true && jQuery.ppa.i == 1) {
+ jQuery.ppa.o -= 11;
+ openlist(this);
+ } else {
+ selectVal(jQuery.ppa.numrow - 1);
}
+ }
}
/* open/update the value list */
function autocomplete(event) {
-
- /* if pressing enter, fire a click on the selected line */
- if (event.keyCode == 13) {
- if (jQuery.ppa.i > 0) {
- jQuery.ppa.fklist.find('tr').eq(jQuery.ppa.i).click();
- }
- return false;
+ /* if pressing enter, fire a click on the selected line */
+ if (event.keyCode == 13) {
+ if (jQuery.ppa.i > 0) {
+ jQuery.ppa.fklist.find('tr').eq(jQuery.ppa.i).click();
}
+ return false;
+ } else if (event.keyCode == 38 || event.keyCode == 40) {
/* ignoring 38:up and 40:down */
- else if (event.keyCode == 38 || event.keyCode == 40) {
- return false;
- }
+ return false;
+ } else if (
/* ignoring 9:tab, 37:left, 39:right, 16:shift, ctrl: 17, alt:18, 20:lockmaj */
- else if (event.keyCode == 9 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 16 || event.keyCode == 17 || event.keyCode == 18 || event.keyCode == 20) {
- return true;
- }
+ event.keyCode == 9 ||
+ event.keyCode == 37 ||
+ event.keyCode == 39 ||
+ event.keyCode == 16 ||
+ event.keyCode == 17 ||
+ event.keyCode == 18 ||
+ event.keyCode == 20
+ ) {
+ return true;
+ } else if (event.keyCode == 27) {
/* esc */
- else if (event.keyCode == 27) {
- hideAc();
- }
+ hideAc();
+ } else {
/* request the list of possible values asynchronously */
- else {
- /* if we refresh because of a value update,
- * we reset back to offset 0 so we catch values
- * if list is smaller than 11 values */
- if (event.type == 'keyup')
- jQuery.ppa.o = 0;
- openlist(this);
- }
-
- return true;
+ /* if we refresh because of a value update,
+ * we reset back to offset 0 so we catch values
+ * if list is smaller than 11 values */
+ if (event.type == 'keyup') jQuery.ppa.o = 0;
+ openlist(this);
+ }
+
+ return true;
}
/* bind actions on values lines: hover for style change, click for select */
jQuery('tr.acline').on('mouseover', function () {
- selectVal(jQuery('table.ac_values tr').index(this));
+ selectVal(jQuery('table.ac_values tr').index(this));
});
jQuery('tr.acline').on('click', function () {
- var a = jQuery(this).find('td > a.fkval');
+ var a = jQuery(this).find('td > a.fkval');
- for (i = 0; i < a.length; i++) {
- jQuery('input[name="values[' + a[i].name + ']"]').val(jQuery(a[i]).text());
- }
- hideAc();
+ for (i = 0; i < a.length; i++) {
+ jQuery('input[name="values[' + a[i].name + ']"]').val(jQuery(a[i]).text());
+ }
+ hideAc();
});
-
jQuery(document).ready(function () {
- /* register some global value in the ppa namespace */
- jQuery.ppa = {
- fklist: jQuery('#fklist'),
- attrs: jQuery('input[id^=attr_]'), // select fields with FK
- fkbg: jQuery('#fkbg'),
- i: 0, // selected value indice
- o: 0 // offset when navigating prev/next
- };
-
- jQuery.ppa.fklist.on('click', '#fkprev', function () {
- jQuery.ppa.o -= 11;
- /* get the field that is the previous html elt from the #fklist
- * and trigger its focus to refresh the list AND actualy
- * focus back on the field */
- jQuery('#fklist').prev().focus();
- });
-
-
- jQuery.ppa.fklist.on('click', '#fknext', function () {
- jQuery.ppa.o += 11;
- /* get the field that is the previous html elt from the #fklist
- * and trigger its focus to refresh the list AND actualy
- * focus back on the field*/
- jQuery('#fklist').prev().focus();
- });
-
- /* close the list when clicking outside of it */
- jQuery.ppa.fkbg.click(function (e) {
- hideAc();
- });
-
- /* do not submit the form when selecting a value by pressing enter */
- jQuery.ppa.attrs
- .keydown(function (e) {
- if (e.keyCode == 13 && jQuery.ppa.fklist[0].style.display == 'block')
- return false;
- });
-
- /* enable/disable auto-complete according to the checkbox */
- triggerAc(
- jQuery('#no_ac').click(function () {
- triggerAc(this.checked);
- })[0].checked
- );
-}); \ No newline at end of file
+ /* register some global value in the ppa namespace */
+ jQuery.ppa = {
+ fklist: jQuery('#fklist'),
+ attrs: jQuery('input[id^=attr_]'), // select fields with FK
+ fkbg: jQuery('#fkbg'),
+ i: 0, // selected value indice
+ o: 0, // offset when navigating prev/next
+ };
+
+ jQuery.ppa.fklist.on('click', '#fkprev', function () {
+ jQuery.ppa.o -= 11;
+ /* get the field that is the previous html elt from the #fklist
+ * and trigger its focus to refresh the list AND actualy
+ * focus back on the field */
+ jQuery('#fklist').prev().focus();
+ });
+
+ jQuery.ppa.fklist.on('click', '#fknext', function () {
+ jQuery.ppa.o += 11;
+ /* get the field that is the previous html elt from the #fklist
+ * and trigger its focus to refresh the list AND actualy
+ * focus back on the field*/
+ jQuery('#fklist').prev().focus();
+ });
+
+ /* close the list when clicking outside of it */
+ jQuery.ppa.fkbg.click(function (e) {
+ hideAc();
+ });
+
+ /* do not submit the form when selecting a value by pressing enter */
+ jQuery.ppa.attrs.keydown(function (e) {
+ if (e.keyCode == 13 && jQuery.ppa.fklist[0].style.display == 'block')
+ return false;
+ });
+
+ /* enable/disable auto-complete according to the checkbox */
+ triggerAc(
+ jQuery('#no_ac').click(function () {
+ triggerAc(this.checked);
+ })[0].checked
+ );
+});
diff --git a/assets/js/codemirror/addon/sql-lint.js b/assets/js/codemirror/addon/sql-lint.js
index 800c8d7a..064bc954 100644
--- a/assets/js/codemirror/addon/sql-lint.js
+++ b/assets/js/codemirror/addon/sql-lint.js
@@ -1,38 +1,34 @@
CodeMirror.sqlLint = function (text, updateLinting, options, cm) {
- // Skipping check if text box is empty.
- if (text.trim() === '') {
- updateLinting(cm, []);
- return;
- }
-
- function handleResponse (response) {
- var found = [];
- for (var idx in response) {
- found.push({
- from: CodeMirror.Pos(
- response[idx].fromLine, response[idx].fromColumn
- ),
- to: CodeMirror.Pos(
- response[idx].toLine, response[idx].toColumn
- ),
- messageHTML: response[idx].message,
- severity : response[idx].severity
- });
- }
+ // Skipping check if text box is empty.
+ if (text.trim() === '') {
+ updateLinting(cm, []);
+ return;
+ }
- updateLinting(cm, found);
+ function handleResponse(response) {
+ var found = [];
+ for (var idx in response) {
+ found.push({
+ from: CodeMirror.Pos(response[idx].fromLine, response[idx].fromColumn),
+ to: CodeMirror.Pos(response[idx].toLine, response[idx].toColumn),
+ messageHTML: response[idx].message,
+ severity: response[idx].severity,
+ });
}
- $.ajax({
- method: 'POST',
- url: 'lint.php',
- dataType: 'json',
- data: {
- sql_query: text,
- server: PMA_commonParams.get('server'),
- options: options.lintOptions,
- no_history: true,
- },
- success: handleResponse
- });
+ updateLinting(cm, found);
+ }
+
+ $.ajax({
+ method: 'POST',
+ url: 'lint.php',
+ dataType: 'json',
+ data: {
+ sql_query: text,
+ server: PMA_commonParams.get('server'),
+ options: options.lintOptions,
+ no_history: true,
+ },
+ success: handleResponse,
+ });
};
diff --git a/assets/js/codemirror/codemirror_footer.js b/assets/js/codemirror/codemirror_footer.js
index 9613ea2c..b5b6f0ee 100644
--- a/assets/js/codemirror/codemirror_footer.js
+++ b/assets/js/codemirror/codemirror_footer.js
@@ -2,8 +2,8 @@ var avoid_bogus_character = true;
var windowsize;
function autoResize(cb) {
//console.log('window size', windowsize);
- jQuery(".CodeMirror").css(
- "height",
+ jQuery('.CodeMirror').css(
+ 'height',
jQuery(window).innerHeight() - windowsize.height_difference
);
if (cb) {
@@ -12,59 +12,59 @@ function autoResize(cb) {
}
function setResizable() {
requestAnimationFrame(() => {
- jQuery(".CodeMirror")
- .css("resize", "both")
- .attr("resizable", "true")
+ jQuery('.CodeMirror')
+ .css('resize', 'both')
+ .attr('resizable', 'true')
.resizable({
- handles: "all",
- resize: function() {
+ handles: 'all',
+ resize: function () {
window.codemirrorEditor.setSize($(this).width(), $(this).height());
- }
+ },
});
});
}
-window.addEventListener("load", event => {
+window.addEventListener('load', (event) => {
console.log("'Todos los recursos terminaron de cargar!");
if (
!avoid_bogus_character ||
- typeof CodeMirror === "undefined" ||
- !document.querySelector("textarea#query")
+ typeof CodeMirror === 'undefined' ||
+ !document.querySelector('textarea#query')
) {
return;
}
- jQuery(document).ready(function() {
+ jQuery(document).ready(function () {
windowsize = {
height: jQuery(window).innerHeight(),
- width: jQuery(window).innerWidth()
+ width: jQuery(window).innerWidth(),
};
let modeCM,
specCM,
- editorMode = "text/x-pgsql";
+ editorMode = 'text/x-pgsql';
- CodeMirror.autoLoadMode = function(instance, mode) {
+ CodeMirror.autoLoadMode = function (instance, mode) {
console.log({ instance, mode });
if (CodeMirror.modes.hasOwnProperty(mode)) {
return;
}
- CodeMirror.requireMode(mode, function() {
- instance.setOption("mode", instance.getOption("mode"));
- jQuery(".CodeMirror").css("height", $("#query").attr("rows") * 26);
+ CodeMirror.requireMode(mode, function () {
+ instance.setOption('mode', instance.getOption('mode'));
+ jQuery('.CodeMirror').css('height', $('#query').attr('rows') * 26);
requestAnimationFrame(() => {
if (window.inPopUp) {
windowsize.height_difference =
- windowsize.height - jQuery(".CodeMirror").innerHeight();
- jQuery(window).on("resize", autoResize);
+ windowsize.height - jQuery('.CodeMirror').innerHeight();
+ jQuery(window).on('resize', autoResize);
}
window.codemirrorEditor = instance;
autoResize(setResizable);
});
});
};
- CodeMirror.commands.sendQuery = function() {
- jQuery("#sqlform").submit();
+ CodeMirror.commands.sendQuery = function () {
+ jQuery('#sqlform').submit();
};
/*
window.editor = CodeMirror.fromTextArea(document.querySelector("#query"), {
@@ -89,7 +89,7 @@ window.addEventListener("load", event => {
*/
let codemirrorEditor = CodeMirror.fromTextArea(
- document.querySelector("#query"),
+ document.querySelector('#query'),
/*{
// mode: "text/x-pgsql",
indentWithTabs: true,
@@ -106,7 +106,7 @@ window.addEventListener("load", event => {
//foldGutter: {rangeFinder: CodeMirror.fold.brace },
gutters: ["CodeMirror-linenumbers", "CodeMirror-lint-markers"]
}*/ {
- mode: "text/x-pgsql",
+ mode: 'text/x-pgsql',
indentWithTabs: true,
smartIndent: true,
lineNumbers: true,
@@ -115,11 +115,11 @@ window.addEventListener("load", event => {
autofocus: true,
addModeClass: true,
extraKeys: {
- "Ctrl-Enter": "sendQuery",
- "Ctrl-Q": function(cm) {
+ 'Ctrl-Enter': 'sendQuery',
+ 'Ctrl-Q': function (cm) {
cm.foldCode(cm.getCursor());
- }
- }
+ },
+ },
//foldGutter: true,
// foldGutter: { rangeFinder: CodeMirror.fold.brace },
//gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"]
@@ -129,7 +129,7 @@ window.addEventListener("load", event => {
var modeInfo = CodeMirror.findModeByMIME(editorMode);
console.log({ editorMode, modeInfo });
if (modeInfo && modeInfo.mode) {
- codemirrorEditor.setOption("mode", editorMode);
+ codemirrorEditor.setOption('mode', editorMode);
CodeMirror.autoLoadMode(codemirrorEditor, modeInfo.mode);
}
});
diff --git a/assets/js/codemirror/instance_codemirror.js b/assets/js/codemirror/instance_codemirror.js
index 8e295b25..9dd63d02 100644
--- a/assets/js/codemirror/instance_codemirror.js
+++ b/assets/js/codemirror/instance_codemirror.js
@@ -1,27 +1,26 @@
-if (typeof CodeMirror !== "undefined") {
+if (typeof CodeMirror !== 'undefined') {
let modeCM,
specCM,
- editorMode = "text/x-pgsql";
- CodeMirror.autoLoadMode = function(instance, mode) {
+ editorMode = 'text/x-pgsql';
+ CodeMirror.autoLoadMode = function (instance, mode) {
console.log({ instance, mode });
- if (!CodeMirror.modes.hasOwnProperty(mode))
- CodeMirror.requireMode(mode, function() {
- instance.setOption("mode", instance.getOption("mode"));
- jQuery(".CodeMirror").css("height", $("#query").attr("rows") * 26);
+ if (!CodeMirror.modes.hasOwnProperty(mode)) {
+ CodeMirror.requireMode(mode, function () {
+ instance.setOption('mode', instance.getOption('mode'));
+ jQuery('.CodeMirror').css('height', $('#query').attr('rows') * 26);
- window.setTimeout(function() {
- jQuery(".CodeMirror")
- .attr("resizable", "true")
- .focus();
+ window.setTimeout(function () {
+ jQuery('.CodeMirror').attr('resizable', 'true').focus();
}, 2500);
});
+ }
};
- CodeMirror.commands.sendQuery = function() {
- jQuery("#sqlform").submit();
+ CodeMirror.commands.sendQuery = function () {
+ jQuery('#sqlform').submit();
};
- if (document.querySelector("textarea#query")) {
- window.editor = CodeMirror.fromTextArea(document.querySelector("#query"), {
+ if (document.querySelector('textarea#query')) {
+ window.editor = CodeMirror.fromTextArea(document.querySelector('#query'), {
// mode: "text/x-pgsql",
indentWithTabs: true,
smartIndent: true,
@@ -31,11 +30,11 @@ if (typeof CodeMirror !== "undefined") {
autofocus: true,
addModeClass: true,
extraKeys: {
- "Ctrl-Space": "autocomplete",
- "Ctrl-Enter": "sendQuery"
+ 'Ctrl-Space': 'autocomplete',
+ 'Ctrl-Enter': 'sendQuery',
},
//foldGutter: {rangeFinder: CodeMirror.fold.brace },
- gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"]
+ gutters: ['CodeMirror-linenumbers', 'CodeMirror-foldgutter'],
});
var modeInfo = CodeMirror.findModeByMIME(editorMode);
@@ -44,7 +43,7 @@ if (typeof CodeMirror !== "undefined") {
mode = modeInfo.mode;
spec = modeInfo;
- window.editor.setOption("mode", modeInfo);
+ window.editor.setOption('mode', modeInfo);
CodeMirror.autoLoadMode(window.editor, modeInfo.mode);
}
}
diff --git a/assets/js/database.js b/assets/js/database.js
index 7e04dea1..f42d3954 100644
--- a/assets/js/database.js
+++ b/assets/js/database.js
@@ -1,72 +1,89 @@
$(document).ready(function () {
+ var timeid = (query = null);
+ var controlLink = $('#control');
- var timeid = query = null;
- var controlLink = $('#control');
+ console.log('Database is', Database);
- console.log('Database is', Database);
+ var errmsg = $('<p class="errmsg">' + Database.errmsg + '</p>')
+ .insertBefore(controlLink)
+ .hide();
- var errmsg = $('<p class="errmsg">' + Database.errmsg + '</p>')
- .insertBefore(controlLink)
- .hide();
+ var loading = $(
+ '<img class="loading" alt="[loading]" src="' + Database.load_icon + '" />'
+ )
+ .insertAfter(controlLink)
+ .hide();
- var loading = $('<img class="loading" alt="[loading]" src="' + Database.load_icon + '" />')
- .insertAfter(controlLink)
- .hide();
+ controlLink.show();
- controlLink.show();
+ function refreshTable() {
+ if (Database.ajax_time_refresh > 0) {
+ loading.show();
+ query = $.ajax({
+ type: 'GET',
+ dataType: 'html',
+ data: {
+ server: Database.server,
+ database: Database.dbname,
+ action: Database.action,
+ },
+ url: '/src/views/database.php',
+ cache: false,
+ contentType: 'application/x-www-form-urlencoded',
+ success: function (html) {
+ $('#data_block').html(html);
+ timeid = window.setTimeout(refreshTable, Database.ajax_time_refresh);
+ loading.hide();
+ },
+ error: function () {
+ controlLink.click();
+ //errmsg.show();
+ },
+ complete: function () {
+ //loading.hide();
+ },
+ });
+ }
+ }
+ controlLink.on('click', function () {
+ console.log(timeid);
+ if (timeid === null) {
+ console.log('toggle 1');
+ timeid = window.setTimeout(refreshTable, Database.ajax_time_refresh);
+ controlLink
+ .empty()
+ .append(
+ '<img src="' +
+ Database.str_stop.icon +
+ '" alt="" />&nbsp;' +
+ Database.str_stop.text +
+ '&nbsp;&nbsp;&nbsp;'
+ );
+ } else {
+ console.log('toggle 2');
+ window.clearInterval(timeid);
+ if (query) {
+ query.abort();
+ }
+ controlLink
+ .empty()
+ .append(
+ '<img src="' +
+ Database.str_start.icon +
+ '" alt="" />&nbsp;' +
+ Database.str_start.text
+ );
+ }
+ });
- function refreshTable() {
- if (Database.ajax_time_refresh > 0) {
- loading.show();
- query = $.ajax({
- type: 'GET',
- dataType: 'html',
- data: {
- server: Database.server,
- database: Database.dbname,
- action: Database.action
- },
- url: '/src/views/database.php',
- cache: false,
- contentType: 'application/x-www-form-urlencoded',
- success: function (html) {
- $('#data_block').html(html);
- timeid = window.setTimeout(refreshTable, Database.ajax_time_refresh)
- loading.hide();
- },
- error: function () {
- controlLink.click();
- //errmsg.show();
- },
- complete: function () {
- //loading.hide();
- }
- });
- }
- }
+ /* preload images */
+ $('#control img')
+ .hide()
+ .attr('src', Database.str_start.icon)
+ .attr('src', Database.str_stop.icon)
+ .show();
- controlLink.on('click', function () {
- console.log(timeid);
- if (timeid === null) {
- console.log('toggle 1');
- timeid = window.setTimeout(refreshTable, Database.ajax_time_refresh);
- controlLink.empty().append('<img src="' + Database.str_stop.icon + '" alt="" />&nbsp;' + Database.str_stop.text + '&nbsp;&nbsp;&nbsp;');
- } else {
- console.log('toggle 2');
- window.clearInterval(timeid);
- if (query) query.abort();
- controlLink.empty().append('<img src="' + Database.str_start.icon + '" alt="" />&nbsp;' + Database.str_start.text);
- }
- });
-
-
- /* preload images */
- $('#control img').hide()
- .attr('src', Database.str_start.icon)
- .attr('src', Database.str_stop.icon)
- .show();
-
- /* start refreshing */
- controlLink.click();
-}); \ No newline at end of file
+ /* start refreshing */
+ controlLink.click();
+});
diff --git a/assets/js/display.js b/assets/js/display.js
index 10719811..a820c72b 100644
--- a/assets/js/display.js
+++ b/assets/js/display.js
@@ -1,93 +1,106 @@
$(document).ready(function () {
-
- /* init some needed tags and values */
-
- $('table#data').wrap('<div id="fkcontainer" class="fk" />');
- $('#fkcontainer').append('<div id="root" />');
-
- jQuery.ppa = {
- root: $('#root')
- };
-
- $("a.fk").on('click', function (event) {
- /* make the cursor being a waiting cursor */
- $('body').css('cursor', 'wait');
-
- query = $.ajax({
- type: 'GET',
- dataType: 'html',
- data: {
- action: 'dobrowsefk'
- },
- url: $(this).attr('href'),
- cache: false,
- context: $(this),
- contentType: 'application/x-www-form-urlencoded',
- success: function (answer) {
- pdiv = this.closest('div.fk');
- divclass = this.attr('class').split(' ')[1];
-
- /* if we are clicking on a FK from the original table
+ /* init some needed tags and values */
+
+ $('table#data').wrap('<div id="fkcontainer" class="fk" />');
+ $('#fkcontainer').append('<div id="root" />');
+
+ jQuery.ppa = {
+ root: $('#root'),
+ };
+
+ $('a.fk').on('click', function (event) {
+ /* make the cursor being a waiting cursor */
+ $('body').css('cursor', 'wait');
+
+ query = $.ajax({
+ type: 'GET',
+ dataType: 'html',
+ data: {
+ action: 'dobrowsefk',
+ },
+ url: $(this).attr('href'),
+ cache: false,
+ context: $(this),
+ contentType: 'application/x-www-form-urlencoded',
+ success: function (answer) {
+ pdiv = this.closest('div.fk');
+ divclass = this.attr('class').split(' ')[1];
+
+ /* if we are clicking on a FK from the original table
(level 0), we are using the #root div as parent-div */
- if (pdiv[0].id == 'fkcontainer') {
- /* computing top position, which is the topid as well */
- var top = this.position().top + 2 + this.height();
- /* if the requested top position is different than
+ if (pdiv[0].id == 'fkcontainer') {
+ /* computing top position, which is the topid as well */
+ var top = this.position().top + 2 + this.height();
+ /* if the requested top position is different than
the previous topid position of #root, empty and position it */
- if (top != jQuery.ppa.root.topid)
- jQuery.ppa.root.empty()
- .css({
- left: (pdiv.position().left) + 'px',
- top: top + 'px'
- })
- /* this "topid" allows to track if we are
+ if (top != jQuery.ppa.root.topid)
+ /* this "topid" allows to track if we are
opening a FK from the same line in the original table */
- .topid = top;
-
- pdiv = jQuery.ppa.root;
-
- /* Remove equal rows in the root div */
- jQuery.ppa.root.children('.' + divclass).remove();
- } else {
- /* Remove equal rows in the pdiv */
- pdiv.children('div.' + divclass).remove();
- }
-
- /* creating the data div */
- newdiv = $('<div class="fk ' + divclass + '">').html(answer);
-
- /* highlight referencing fields */
- newdiv.data('ref', this).data('refclass', $(this).attr('class').split(' ')[1])
- .mouseenter(function (event) {
- $(this).data('ref').closest('tr').find('a.' + $(this).data('refclass')).closest('div').addClass('highlight');
- })
- .mouseleave(function (event) {
- $(this).data('ref').closest('tr').find('a.' + $(this).data('refclass')).closest('div').removeClass('highlight');
- });
-
- /* appending it to the level-1 div */
- pdiv.append(newdiv);
-
- newdiv.on('click', '.fk_delete', function (event) {
- console.log('clicked .fk_delete', jQuery(this));
- with($(this).closest('div')) {
- data('ref').closest('tr').find('a.' + data('refclass')).closest('div').removeClass('highlight');
- remove();
- }
- });
- },
-
- error: function () {
- this.closest('div.fk').append('<p class="errmsg">' + Display.errmsg + '</p>');
- },
-
- complete: function () {
- $('body').css('cursor', 'auto');
- }
+ jQuery.ppa.root.empty().css({
+ left: pdiv.position().left + 'px',
+ top: top + 'px',
+ }).topid = top;
+
+ pdiv = jQuery.ppa.root;
+
+ /* Remove equal rows in the root div */
+ jQuery.ppa.root.children('.' + divclass).remove();
+ } else {
+ /* Remove equal rows in the pdiv */
+ pdiv.children('div.' + divclass).remove();
+ }
+
+ /* creating the data div */
+ newdiv = $('<div class="fk ' + divclass + '">').html(answer);
+
+ /* highlight referencing fields */
+ newdiv
+ .data('ref', this)
+ .data('refclass', $(this).attr('class').split(' ')[1])
+ .mouseenter(function (event) {
+ $(this)
+ .data('ref')
+ .closest('tr')
+ .find('a.' + $(this).data('refclass'))
+ .closest('div')
+ .addClass('highlight');
+ })
+ .mouseleave(function (event) {
+ $(this)
+ .data('ref')
+ .closest('tr')
+ .find('a.' + $(this).data('refclass'))
+ .closest('div')
+ .removeClass('highlight');
+ });
+
+ /* appending it to the level-1 div */
+ pdiv.append(newdiv);
+
+ newdiv.on('click', '.fk_delete', function (event) {
+ console.log('clicked .fk_delete', jQuery(this));
+ with ($(this).closest('div')) {
+ data('ref')
+ .closest('tr')
+ .find('a.' + data('refclass'))
+ .closest('div')
+ .removeClass('highlight');
+ remove();
+ }
});
+ },
- return false; // do not refresh the page
- });
+ error: function () {
+ this.closest('div.fk').append(
+ '<p class="errmsg">' + Display.errmsg + '</p>'
+ );
+ },
+ complete: function () {
+ $('body').css('cursor', 'auto');
+ },
+ });
-}); \ No newline at end of file
+ return false; // do not refresh the page
+ });
+});
diff --git a/assets/js/footer_scripts.js b/assets/js/footer_scripts.js
index b9cfbc20..cf1e5a03 100644
--- a/assets/js/footer_scripts.js
+++ b/assets/js/footer_scripts.js
@@ -33,9 +33,9 @@ function addBehaviorToTopLinks(amIDetailFrame) {
...parentHandle.contentDocument.querySelectorAll(
'.toplink a.toplink_popup'
),
- ].forEach(element => {
+ ].forEach((element) => {
let href = element.href;
- element.addEventListener('click', e => {
+ element.addEventListener('click', (e) => {
e.preventDefault();
window
.open(
@@ -50,7 +50,7 @@ function addBehaviorToTopLinks(amIDetailFrame) {
element.href = 'javascript:void(this.click())'; // eslint-disable-line
});
toplink_logout &&
- toplink_logout.addEventListener('click', e => {
+ toplink_logout.addEventListener('click', (e) => {
e.preventDefault();
if (confirm(stateObj.strconfdropcred)) {
window.location.href = e.target.href;
@@ -103,7 +103,7 @@ $.ready
})
.then(() => {
if (window.location.href.indexOf('servers?action=logout') !== -1) {
- window.setTimeout(function() {
+ window.setTimeout(function () {
window.parent.location.replace(`${stateObj.subfolder}/servers`);
}, 3000);
} else if (
@@ -130,12 +130,12 @@ $.ready
}
}
if (typeof hljs !== 'undefined') {
- $('pre code.hljs').each(function(i, block) {
+ $('pre code.hljs').each(function (i, block) {
hljs.highlightBlock(block);
});
}
return;
})
- .catch(err => {
+ .catch((err) => {
console.error(err);
});
diff --git a/assets/js/footer_sqledit.js b/assets/js/footer_sqledit.js
index fe4b4505..93a48ac1 100644
--- a/assets/js/footer_sqledit.js
+++ b/assets/js/footer_sqledit.js
@@ -1,57 +1,57 @@
-$(document).ready(function() {
+$(document).ready(function () {
if (window.inPopUp) {
- jQuery("table.tabs").prependTo("body");
- jQuery("table.printconnection").prependTo(".sqlform");
+ jQuery('table.tabs').prependTo('body');
+ jQuery('table.printconnection').prependTo('.sqlform');
}
- var the_action = $("#the_action").val();
+ var the_action = $('#the_action').val();
function get_action_params(from) {
var action_params = [];
- if (the_action === "sql") {
+ if (the_action === 'sql') {
action_params = [
- "query=" + encodeURI(window.editor.getValue()),
- "search_path=" +
- (from === "server" ? "public" : encodeURI($("#search_path").val()))
+ 'query=' + encodeURI(window.editor.getValue()),
+ 'search_path=' +
+ (from === 'server' ? 'public' : encodeURI($('#search_path').val())),
];
- if (jQuery("#paginate").is(":checked")) {
- action_params.push("paginate=on");
+ if (jQuery('#paginate').is(':checked')) {
+ action_params.push('paginate=on');
}
- } else if (the_action === "find") {
+ } else if (the_action === 'find') {
action_params = [
- "term=" + encodeURI($("#term").val()),
- "filter=" + encodeURI($("#filter").val())
+ 'term=' + encodeURI($('#term').val()),
+ 'filter=' + encodeURI($('#filter').val()),
];
}
return action_params;
}
- $("#selectserver").on("change", function() {
- console.log("server changed to ", $(this).val());
+ $('#selectserver').on('change', function () {
+ console.log('server changed to ', $(this).val());
- var base_location = location.href.split("&")[0],
- next_location = [base_location, "server=" + $(this).val()];
+ var base_location = location.href.split('&')[0],
+ next_location = [base_location, 'server=' + $(this).val()];
- next_location = next_location.concat(get_action_params("server"));
+ next_location = next_location.concat(get_action_params('server'));
- location.href = next_location.join("&");
+ location.href = next_location.join('&');
//console.log('next_location would be',next_location.join('&'));
});
- $("#selectdb").on("change", function() {
- console.log("database changed to ", $(this).val());
+ $('#selectdb').on('change', function () {
+ console.log('database changed to ', $(this).val());
- var base_location = location.href.split("&")[0],
+ var base_location = location.href.split('&')[0],
next_location = [
base_location,
- "server=" + $("#selectserver").val(),
- "database=" + $(this).val()
+ 'server=' + $('#selectserver').val(),
+ 'database=' + $(this).val(),
];
- next_location = next_location.concat(get_action_params("database"));
+ next_location = next_location.concat(get_action_params('database'));
- location.href = next_location.join("&");
+ location.href = next_location.join('&');
//console.log('next_location would be',next_location.join('&'));
});
});
diff --git a/assets/js/functions.js b/assets/js/functions.js
index d37e61d0..9635d1cb 100644
--- a/assets/js/functions.js
+++ b/assets/js/functions.js
@@ -5,218 +5,246 @@ function for adding arguments
*/
function addArg(subfolder) {
- var baseTR = baseArgTR(subfolder);
- console.log('addArg', subfolder);
- if (document.getElementById("args_table").insertBefore(baseTR, document.getElementById("parent_add_tr"))) {
- g_args++;
- return baseTR;
- }
+ var baseTR = baseArgTR(subfolder);
+ console.log('addArg', subfolder);
+ if (
+ document
+ .getElementById('args_table')
+ .insertBefore(baseTR, document.getElementById('parent_add_tr'))
+ ) {
+ g_args++;
+ return baseTR;
+ }
}
function buildArgImages(orig_td, subfolder) {
- var table = document.createElement("table");
- var tbody = document.createElement("tbody");
- var tr = document.createElement("tr");
- var td = document.createElement("td");
- var img = document.createElement("img");
- img.src = subfolder + "/assets/images/themes/default/RaiseArgument.png";
- td.onmouseover = function () {
- this.style.cursor = 'pointer';
- this.title = g_lang_strargraise;
- }
- td.onclick = function () {
- swapArgTR(this.parentNode.parentNode.parentNode.parentNode.parentNode.previousSibling, this.parentNode.parentNode.parentNode.parentNode.parentNode);
- }
- img.className = 'arg_icon';
- td.appendChild(img);
- td.className = "data1";
- tr.appendChild(td);
- var img = document.createElement("img");
- var td = document.createElement("td");
- img.src = subfolder + "/assets/images/themes/default/LowerArgument.png";
- img.className = 'arg_icon';
- td.appendChild(img);
- td.className = "data1";
- td.onmouseover = function () {
- this.style.cursor = 'pointer';
- this.title = g_lang_strarglower;
- }
- td.onclick = function () {
- swapArgTR(this.parentNode.parentNode.parentNode.parentNode.parentNode, this.parentNode.parentNode.parentNode.parentNode.parentNode.nextSibling);
- }
- tr.appendChild(td);
- var img = document.createElement("img");
- var td = document.createElement("td");
- img.src = subfolder + "/assets/images/themes/default/RemoveArgument.png";
- img.title = g_lang_strargremove;
- img.className = 'arg_icon';
- td.appendChild(img);
- td.className = "data1";
- td.onmouseover = function () {
- this.style.cursor = 'pointer';
- this.title = 'Remove';
- }
- td.onclick = function () {
- if (g_args > 1) {
- if (confirm(g_lang_strargremoveconfirm)) document.getElementById("args_table").removeChild(this.parentNode.parentNode.parentNode.parentNode.parentNode);
- g_args--;
- } else {
- if (g_no_args == false) {
- disableArgTR(this.parentNode.parentNode.parentNode.parentNode.parentNode);
- this.childNodes[0].src = subfolder + '/images/themes/default/EnableArgument.png';
- this.childNodes[0].title = g_lang_strargenableargs;
- this.childNodes[0].id = "1st_arg_iag";
- alert(g_lang_strargnoargs);
- g_no_args = true;
- g_args--;
- } else {
- enableArgTR(this.parentNode.parentNode.parentNode.parentNode.parentNode);
- this.childNodes[0].src = subfolder + '/images/themes/default/RemoveArgument.png';
- this.childNodes[0].title = g_lang_strargremove;
- g_args++;
- g_no_args = false;
- }
- }
- }
- td.onmouseout = function () {}
- if (g_args == 0) {
- td.id = "1st_arg_td";
- }
- tr.className = 'arg_tr_pc';
- tr.appendChild(td);
- tbody.appendChild(tr);
- table.appendChild(tbody);
- orig_td.appendChild(table);
- return orig_td;
+ var table = document.createElement('table');
+ var tbody = document.createElement('tbody');
+ var tr = document.createElement('tr');
+ var td = document.createElement('td');
+ var img = document.createElement('img');
+ img.src = subfolder + '/assets/images/themes/default/RaiseArgument.png';
+ td.onmouseover = function () {
+ this.style.cursor = 'pointer';
+ this.title = g_lang_strargraise;
+ };
+ td.onclick = function () {
+ swapArgTR(
+ this.parentNode.parentNode.parentNode.parentNode.parentNode
+ .previousSibling,
+ this.parentNode.parentNode.parentNode.parentNode.parentNode
+ );
+ };
+ img.className = 'arg_icon';
+ td.appendChild(img);
+ td.className = 'data1';
+ tr.appendChild(td);
+ var img = document.createElement('img');
+ var td = document.createElement('td');
+ img.src = subfolder + '/assets/images/themes/default/LowerArgument.png';
+ img.className = 'arg_icon';
+ td.appendChild(img);
+ td.className = 'data1';
+ td.onmouseover = function () {
+ this.style.cursor = 'pointer';
+ this.title = g_lang_strarglower;
+ };
+ td.onclick = function () {
+ swapArgTR(
+ this.parentNode.parentNode.parentNode.parentNode.parentNode,
+ this.parentNode.parentNode.parentNode.parentNode.parentNode.nextSibling
+ );
+ };
+ tr.appendChild(td);
+ var img = document.createElement('img');
+ var td = document.createElement('td');
+ img.src = subfolder + '/assets/images/themes/default/RemoveArgument.png';
+ img.title = g_lang_strargremove;
+ img.className = 'arg_icon';
+ td.appendChild(img);
+ td.className = 'data1';
+ td.onmouseover = function () {
+ this.style.cursor = 'pointer';
+ this.title = 'Remove';
+ };
+ td.onclick = function () {
+ if (g_args > 1) {
+ if (confirm(g_lang_strargremoveconfirm)) {
+ document
+ .getElementById('args_table')
+ .removeChild(
+ this.parentNode.parentNode.parentNode.parentNode.parentNode
+ );
+ }
+ g_args--;
+ } else if (g_no_args == false) {
+ disableArgTR(this.parentNode.parentNode.parentNode.parentNode.parentNode);
+ this.childNodes[0].src =
+ subfolder + '/images/themes/default/EnableArgument.png';
+ this.childNodes[0].title = g_lang_strargenableargs;
+ this.childNodes[0].id = '1st_arg_iag';
+ alert(g_lang_strargnoargs);
+ g_no_args = true;
+ g_args--;
+ } else {
+ enableArgTR(this.parentNode.parentNode.parentNode.parentNode.parentNode);
+ this.childNodes[0].src =
+ subfolder + '/images/themes/default/RemoveArgument.png';
+ this.childNodes[0].title = g_lang_strargremove;
+ g_args++;
+ g_no_args = false;
+ }
+ };
+ td.onmouseout = function () {};
+ if (g_args == 0) {
+ td.id = '1st_arg_td';
+ }
+ tr.className = 'arg_tr_pc';
+ tr.appendChild(td);
+ tbody.appendChild(tr);
+ table.appendChild(tbody);
+ orig_td.appendChild(table);
+ return orig_td;
}
function noArgsRebuild(tr) {
- disableArgTR(tr);
- var td = document.getElementById("1st_arg_td");
- td.childNodes[0].src = 'images/themes/default/EnableArgument.png';
- td.childNodes[0].title = g_lang_strargenableargs;
- td.childNodes[0].id = "1st_arg_iag";
- g_no_args = true;
- g_args--;
+ disableArgTR(tr);
+ var td = document.getElementById('1st_arg_td');
+ td.childNodes[0].src = 'images/themes/default/EnableArgument.png';
+ td.childNodes[0].title = g_lang_strargenableargs;
+ td.childNodes[0].id = '1st_arg_iag';
+ g_no_args = true;
+ g_args--;
}
function swapArgTR(first, second) {
- var tmp = null;
- tmp = second;
- second = first;
- first = tmp;
- if (first.className == 'arg_tr_pc' && second.className == 'arg_tr_pc') {
- document.getElementById("args_table").insertBefore(first, second);
- } else if (first.className == 'arg_tr_pc' && second.className != 'arg_tr_pc') {
- alert(g_lang_strargnorowabove);
- } else if (first.className != 'arg_tr_pc' && second.className == 'arg_tr_pc') {
- alert(g_lang_strargnorowbelow);
- }
+ var tmp = null;
+ tmp = second;
+ second = first;
+ first = tmp;
+ if (first.className == 'arg_tr_pc' && second.className == 'arg_tr_pc') {
+ document.getElementById('args_table').insertBefore(first, second);
+ } else if (
+ first.className == 'arg_tr_pc' &&
+ second.className != 'arg_tr_pc'
+ ) {
+ alert(g_lang_strargnorowabove);
+ } else if (
+ first.className != 'arg_tr_pc' &&
+ second.className == 'arg_tr_pc'
+ ) {
+ alert(g_lang_strargnorowbelow);
+ }
}
function disableArgTR(tr) {
- var children = (tr.childNodes);
- for (i in children) {
- var secondary_children = children[i].childNodes;
- for (i2 in secondary_children) {
- secondary_children[i2].disabled = true;
- }
- }
+ var children = tr.childNodes;
+ for (i in children) {
+ var secondary_children = children[i].childNodes;
+ for (i2 in secondary_children) {
+ secondary_children[i2].disabled = true;
+ }
+ }
}
function enableArgTR(tr) {
- var children = (tr.childNodes);
- for (i in children) {
- var secondary_children = children[i].childNodes;
- for (i2 in secondary_children) {
- secondary_children[i2].disabled = false;
- }
- }
+ var children = tr.childNodes;
+ for (i in children) {
+ var secondary_children = children[i].childNodes;
+ for (i2 in secondary_children) {
+ secondary_children[i2].disabled = false;
+ }
+ }
}
function RebuildArgTR(mode, arg_name, arg_type, arg_array, subfolder) {
- var tr = document.createElement("tr");
- var td = document.createElement("td");
- var modes_select = buildSelect("formArgModes[]", g_main_modes, mode);
- modes_select.style.width = '100%';
- td.appendChild(modes_select);
- tr.appendChild(td);
- var arg_txt = document.createElement("input");
- arg_txt.type = 'text';
- arg_txt.name = 'formArgName[]';
- arg_txt.style.width = '100%';
- arg_txt.value = arg_name;
- var td = document.createElement("td");
- td.appendChild(arg_txt);
- tr.appendChild(td);
- var td = document.createElement("td");
- td.appendChild(buildSelect("formArgType[]", g_main_types, arg_type));
- if (arg_array == true) {
- var szArr = "[]";
- } else {
- var szArr = "";
- }
- td.appendChild(buildSelect("formArgArray[]", new Array("", "[]"), szArr));
- tr.appendChild(td);
- var td = document.createElement("td");
- td = buildArgImages(td, subfolder);
- td.className = "data3";
- tr.className = 'arg_tr_pc';
- tr.appendChild(td);
- if (document.getElementById("args_table").insertBefore(tr, document.getElementById("parent_add_tr"))) {
- g_args++;
- }
+ var tr = document.createElement('tr');
+ var td = document.createElement('td');
+ var modes_select = buildSelect('formArgModes[]', g_main_modes, mode);
+ modes_select.style.width = '100%';
+ td.appendChild(modes_select);
+ tr.appendChild(td);
+ var arg_txt = document.createElement('input');
+ arg_txt.type = 'text';
+ arg_txt.name = 'formArgName[]';
+ arg_txt.style.width = '100%';
+ arg_txt.value = arg_name;
+ var td = document.createElement('td');
+ td.appendChild(arg_txt);
+ tr.appendChild(td);
+ var td = document.createElement('td');
+ td.appendChild(buildSelect('formArgType[]', g_main_types, arg_type));
+ if (arg_array == true) {
+ var szArr = '[]';
+ } else {
+ var szArr = '';
+ }
+ td.appendChild(buildSelect('formArgArray[]', new Array('', '[]'), szArr));
+ tr.appendChild(td);
+ var td = document.createElement('td');
+ td = buildArgImages(td, subfolder);
+ td.className = 'data3';
+ tr.className = 'arg_tr_pc';
+ tr.appendChild(td);
+ if (
+ document
+ .getElementById('args_table')
+ .insertBefore(tr, document.getElementById('parent_add_tr'))
+ ) {
+ g_args++;
+ }
}
function buildSelect(name, options, selected) {
- var s = document.createElement('select');
- for (i = 0; i < options.length; i++) {
- var o = document.createElement('option');
- o.value = options[i];
- o.text = options[i];
- if (options[i].toLowerCase() == selected.toLowerCase()) {
- o.selected = "selected";
- }
- s.appendChild(o);
- }
- s.name = name;
- return s;
+ var s = document.createElement('select');
+ for (i = 0; i < options.length; i++) {
+ var o = document.createElement('option');
+ o.value = options[i];
+ o.text = options[i];
+ if (options[i].toLowerCase() == selected.toLowerCase()) {
+ o.selected = 'selected';
+ }
+ s.appendChild(o);
+ }
+ s.name = name;
+ return s;
}
function baseArgTR(subfolder) {
- if (g_no_args == false) {
- var tr = document.createElement("tr");
- var td = document.createElement("td");
- var txt = document.createElement("input");
- tr.className = 'arg_tr_pc';
- td.className = 'data3';
- td.innerHTML = g_modes_select;
- tr.appendChild(td);
- txt.type = 'text';
- txt.name = 'formArgName[]';
- txt.style.width = '100%';
- txt.value = g_name;
- var td = document.createElement("td");
- td.className = 'data3';
- td.appendChild(txt);
- tr.appendChild(td);
- var td = document.createElement("td");
- td.className = 'data3';
- td.innerHTML = g_types_select;
- tr.appendChild(td);
- var td = document.createElement("td");
- td = buildArgImages(td, subfolder);
- td.className = "data3";
- tr.appendChild(td);
- if (g_args == 0) {
- tr.id = "1st_arg_tr";
- }
- return tr;
- } else {
- var p_tr = document.getElementById("1st_arg_tr");
- enableArgTR(p_tr.childNodes[4]);
- document.getElementById("1st_arg_iag").src = subfolder + '/images/themes/default/RemoveArgument.png';
- g_args++;
- g_no_args = false;
- }
-} \ No newline at end of file
+ if (g_no_args == false) {
+ var tr = document.createElement('tr');
+ var td = document.createElement('td');
+ var txt = document.createElement('input');
+ tr.className = 'arg_tr_pc';
+ td.className = 'data3';
+ td.innerHTML = g_modes_select;
+ tr.appendChild(td);
+ txt.type = 'text';
+ txt.name = 'formArgName[]';
+ txt.style.width = '100%';
+ txt.value = g_name;
+ var td = document.createElement('td');
+ td.className = 'data3';
+ td.appendChild(txt);
+ tr.appendChild(td);
+ var td = document.createElement('td');
+ td.className = 'data3';
+ td.innerHTML = g_types_select;
+ tr.appendChild(td);
+ var td = document.createElement('td');
+ td = buildArgImages(td, subfolder);
+ td.className = 'data3';
+ tr.appendChild(td);
+ if (g_args == 0) {
+ tr.id = '1st_arg_tr';
+ }
+ return tr;
+ } else {
+ var p_tr = document.getElementById('1st_arg_tr');
+ enableArgTR(p_tr.childNodes[4]);
+ document.getElementById('1st_arg_iag').src =
+ subfolder + '/images/themes/default/RemoveArgument.png';
+ g_args++;
+ g_no_args = false;
+ }
+}
diff --git a/assets/js/indexes.js b/assets/js/indexes.js
index dc85f932..ab762498 100644
--- a/assets/js/indexes.js
+++ b/assets/js/indexes.js
@@ -1,71 +1,68 @@
- // Globals
-
- /*
- * Multiple Selection lists in HTML Document
- */
- var tableColumnList;
- var indexColumnList;
-
- /*
- * Two Array vars
- */
- var indexColumns,
- tableColumns;
-
- function buttonPressed(object) {
-
- if (object.name == "add") {
- from = tableColumnList;
- to = indexColumnList;
- } else {
- to = tableColumnList;
- from = indexColumnList;
- }
-
- var selectedOptions = getSelectedOptions(from);
-
- for (i = 0; i < selectedOptions.length; i++) {
- option = new Option(selectedOptions[i].text);
- addToArray(to, option);
- removeFromArray(from, selectedOptions[i].index);
- }
- }
-
- function doSelectAll() {
- for (var x = 0; x < indexColumnList.options.length; x++) {
- indexColumnList.options[x].selected = true;
- }
- }
-
- function init() {
- indexColumnList = document.getElementById("IndexColumnList");
- if (indexColumnList) {
- indexColumns = indexColumnList.options;
- }
-
- if (document.formIndex) {
- tableColumnList = document.formIndex.TableColumnList;
- tableColumns = tableColumnList.options;
- }
-
- }
-
- function getSelectedOptions(obj) {
- var selectedOptions = [];
-
- for (i = 0; i < obj.options.length; i++) {
- if (obj.options[i].selected) {
- selectedOptions.push(obj.options[i]);
- }
- }
-
- return selectedOptions;
- }
-
- function removeFromArray(obj, index) {
- obj.remove(index);
- }
-
- function addToArray(obj, item) {
- obj.options[obj.options.length] = item;
- } \ No newline at end of file
+// Globals
+
+/*
+ * Multiple Selection lists in HTML Document
+ */
+var tableColumnList;
+var indexColumnList;
+
+/*
+ * Two Array vars
+ */
+var indexColumns, tableColumns;
+
+function buttonPressed(object) {
+ if (object.name == 'add') {
+ from = tableColumnList;
+ to = indexColumnList;
+ } else {
+ to = tableColumnList;
+ from = indexColumnList;
+ }
+
+ var selectedOptions = getSelectedOptions(from);
+
+ for (i = 0; i < selectedOptions.length; i++) {
+ option = new Option(selectedOptions[i].text);
+ addToArray(to, option);
+ removeFromArray(from, selectedOptions[i].index);
+ }
+}
+
+function doSelectAll() {
+ for (var x = 0; x < indexColumnList.options.length; x++) {
+ indexColumnList.options[x].selected = true;
+ }
+}
+
+function init() {
+ indexColumnList = document.getElementById('IndexColumnList');
+ if (indexColumnList) {
+ indexColumns = indexColumnList.options;
+ }
+
+ if (document.formIndex) {
+ tableColumnList = document.formIndex.TableColumnList;
+ tableColumns = tableColumnList.options;
+ }
+}
+
+function getSelectedOptions(obj) {
+ var selectedOptions = [];
+
+ for (i = 0; i < obj.options.length; i++) {
+ if (obj.options[i].selected) {
+ selectedOptions.push(obj.options[i]);
+ }
+ }
+
+ return selectedOptions;
+}
+
+function removeFromArray(obj, index) {
+ obj.remove(index);
+}
+
+function addToArray(obj, item) {
+ obj.options[obj.options.length] = item;
+}
diff --git a/assets/js/insert_or_edit_row.js b/assets/js/insert_or_edit_row.js
index 0d5cdea5..009df1d3 100644
--- a/assets/js/insert_or_edit_row.js
+++ b/assets/js/insert_or_edit_row.js
@@ -1,25 +1,21 @@
$(document).ready(function () {
+ jQuery('.insert_row_input').on('change blur', function () {
+ var tr = $(this).closest('tr'),
+ checkbox = tr.find('.nullcheckbox');
- jQuery('.insert_row_input').on('change blur', function () {
- var tr = $(this).closest('tr'),
- checkbox = tr.find('.nullcheckbox');
+ if ($(this).val() !== '') {
+ checkbox.prop('checked', false);
+ }
+ });
- if ($(this).val() !== '') {
- checkbox.prop('checked', false);
- }
+ jQuery('input[type=submit]').on('mouseover', function () {
+ jQuery('.insert_row_input').each(function () {
+ var tr = $(this).closest('tr'),
+ checkbox = tr.find('.nullcheckbox');
+ if ($(this).val() !== '') {
+ checkbox.prop('checked', false);
+ }
});
-
- jQuery('input[type=submit]').on('mouseover', function () {
- jQuery('.insert_row_input').each(function () {
- var tr = $(this).closest('tr'),
- checkbox = tr.find('.nullcheckbox');
-
- if ($(this).val() !== '') {
- checkbox.prop('checked', false);
- }
- });
- });
-
-
-}); \ No newline at end of file
+ });
+});
diff --git a/assets/js/less.min.js b/assets/js/less.min.js
deleted file mode 100644
index 6319704f..00000000
--- a/assets/js/less.min.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/*!
- * Less - Leaner CSS v2.7.2
- * http://lesscss.org
- *
- * Copyright (c) 2009-2017, Alexis Sellier <self@cloudhead.net>
- * Licensed under the Apache-2.0 License.
- *
- */
-
- /** * @license Apache-2.0
- */
-
-!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.less=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){var d=a("./utils").addDataAttr,e=a("./browser");b.exports=function(a,b){d(b,e.currentScript(a)),void 0===b.isFileProtocol&&(b.isFileProtocol=/^(file|(chrome|safari)(-extension)?|resource|qrc|app):/.test(a.location.protocol)),b.async=b.async||!1,b.fileAsync=b.fileAsync||!1,b.poll=b.poll||(b.isFileProtocol?1e3:1500),b.env=b.env||("127.0.0.1"==a.location.hostname||"0.0.0.0"==a.location.hostname||"localhost"==a.location.hostname||a.location.port&&a.location.port.length>0||b.isFileProtocol?"development":"production");var c=/!dumpLineNumbers:(comments|mediaquery|all)/.exec(a.location.hash);c&&(b.dumpLineNumbers=c[1]),void 0===b.useFileCache&&(b.useFileCache=!0),void 0===b.onReady&&(b.onReady=!0)}},{"./browser":3,"./utils":10}],2:[function(a,b,c){function d(a){a.filename&&console.warn(a),e.async||h.removeChild(i)}a("promise/polyfill.js");var e=window.less||{};a("./add-default-options")(window,e);var f=b.exports=a("./index")(window,e);window.less=f;var g,h,i;e.onReady&&(/!watch/.test(window.location.hash)&&f.watch(),e.async||(g="body { display: none !important }",h=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style"),i.type="text/css",i.styleSheet?i.styleSheet.cssText=g:i.appendChild(document.createTextNode(g)),h.appendChild(i)),f.registerStylesheetsImmediately(),f.pageLoadFinished=f.refresh("development"===f.env).then(d,d))},{"./add-default-options":1,"./index":8,"promise/polyfill.js":97}],3:[function(a,b,c){var d=a("./utils");b.exports={createCSS:function(a,b,c){var e=c.href||"",f="less:"+(c.title||d.extractId(e)),g=a.getElementById(f),h=!1,i=a.createElement("style");i.setAttribute("type","text/css"),c.media&&i.setAttribute("media",c.media),i.id=f,i.styleSheet||(i.appendChild(a.createTextNode(b)),h=null!==g&&g.childNodes.length>0&&i.childNodes.length>0&&g.firstChild.nodeValue===i.firstChild.nodeValue);var j=a.getElementsByTagName("head")[0];if(null===g||h===!1){var k=c&&c.nextSibling||null;k?k.parentNode.insertBefore(i,k):j.appendChild(i)}if(g&&h===!1&&g.parentNode.removeChild(g),i.styleSheet)try{i.styleSheet.cssText=b}catch(l){throw new Error("Couldn't reassign styleSheet.cssText.")}},currentScript:function(a){var b=a.document;return b.currentScript||function(){var a=b.getElementsByTagName("script");return a[a.length-1]}()}}},{"./utils":10}],4:[function(a,b,c){b.exports=function(a,b,c){var d=null;if("development"!==b.env)try{d="undefined"==typeof a.localStorage?null:a.localStorage}catch(e){}return{setCSS:function(a,b,e,f){if(d){c.info("saving "+a+" to cache.");try{d.setItem(a,f),d.setItem(a+":timestamp",b),e&&d.setItem(a+":vars",JSON.stringify(e))}catch(g){c.error('failed to save "'+a+'" to local storage for caching.')}}},getCSS:function(a,b,c){var e=d&&d.getItem(a),f=d&&d.getItem(a+":timestamp"),g=d&&d.getItem(a+":vars");if(c=c||{},f&&b.lastModified&&new Date(b.lastModified).valueOf()===new Date(f).valueOf()&&(!c&&!g||JSON.stringify(c)===g))return e}}}},{}],5:[function(a,b,c){var d=a("./utils"),e=a("./browser");b.exports=function(a,b,c){function f(b,f){var g,h,i="less-error-message:"+d.extractId(f||""),j='<li><label>{line}</label><pre class="{class}">{content}</pre></li>',k=a.document.createElement("div"),l=[],m=b.filename||f,n=m.match(/([^\/]+(\?.*)?)$/)[1];k.id=i,k.className="less-error-message",h="<h3>"+(b.type||"Syntax")+"Error: "+(b.message||"There is an error in your .less file")+'</h3><p>in <a href="'+m+'">'+n+"</a> ";var o=function(a,b,c){void 0!==a.extract[b]&&l.push(j.replace(/\{line\}/,(parseInt(a.line,10)||0)+(b-1)).replace(/\{class\}/,c).replace(/\{content\}/,a.extract[b]))};b.extract&&(o(b,0,""),o(b,1,"line"),o(b,2,""),h+="on line "+b.line+", column "+(b.column+1)+":</p><ul>"+l.join("")+"</ul>"),b.stack&&(b.extract||c.logLevel>=4)&&(h+="<br/>Stack Trace</br />"+b.stack.split("\n").slice(1).join("<br/>")),k.innerHTML=h,e.createCSS(a.document,[".less-error-message ul, .less-error-message li {","list-style-type: none;","margin-right: 15px;","padding: 4px 0;","margin: 0;","}",".less-error-message label {","font-size: 12px;","margin-right: 15px;","padding: 4px 0;","color: #cc7777;","}",".less-error-message pre {","color: #dd6666;","padding: 4px 0;","margin: 0;","display: inline-block;","}",".less-error-message pre.line {","color: #ff0000;","}",".less-error-message h3 {","font-size: 20px;","font-weight: bold;","padding: 15px 0 5px 0;","margin: 0;","}",".less-error-message a {","color: #10a","}",".less-error-message .error {","color: red;","font-weight: bold;","padding-bottom: 2px;","border-bottom: 1px dashed red;","}"].join("\n"),{title:"error-message"}),k.style.cssText=["font-family: Arial, sans-serif","border: 1px solid #e00","background-color: #eee","border-radius: 5px","-webkit-border-radius: 5px","-moz-border-radius: 5px","color: #e00","padding: 15px","margin-bottom: 15px"].join(";"),"development"===c.env&&(g=setInterval(function(){var b=a.document,c=b.body;c&&(b.getElementById(i)?c.replaceChild(k,b.getElementById(i)):c.insertBefore(k,c.firstChild),clearInterval(g))},10))}function g(b){var c=a.document.getElementById("less-error-message:"+d.extractId(b));c&&c.parentNode.removeChild(c)}function h(a){}function i(a){c.errorReporting&&"html"!==c.errorReporting?"console"===c.errorReporting?h(a):"function"==typeof c.errorReporting&&c.errorReporting("remove",a):g(a)}function j(a,d){var e="{line} {content}",f=a.filename||d,g=[],h=(a.type||"Syntax")+"Error: "+(a.message||"There is an error in your .less file")+" in "+f+" ",i=function(a,b,c){void 0!==a.extract[b]&&g.push(e.replace(/\{line\}/,(parseInt(a.line,10)||0)+(b-1)).replace(/\{class\}/,c).replace(/\{content\}/,a.extract[b]))};a.extract&&(i(a,0,""),i(a,1,"line"),i(a,2,""),h+="on line "+a.line+", column "+(a.column+1)+":\n"+g.join("\n")),a.stack&&(a.extract||c.logLevel>=4)&&(h+="\nStack Trace\n"+a.stack),b.logger.error(h)}function k(a,b){c.errorReporting&&"html"!==c.errorReporting?"console"===c.errorReporting?j(a,b):"function"==typeof c.errorReporting&&c.errorReporting("add",a,b):f(a,b)}return{add:k,remove:i}}},{"./browser":3,"./utils":10}],6:[function(a,b,c){b.exports=function(b,c){function d(){if(window.XMLHttpRequest&&!("file:"===window.location.protocol&&"ActiveXObject"in window))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(a){return c.error("browser doesn't support AJAX."),null}}var e=a("../less/environment/abstract-file-manager.js"),f={},g=function(){};return g.prototype=new e,g.prototype.alwaysMakePathsAbsolute=function(){return!0},g.prototype.join=function(a,b){return a?this.extractUrlParts(b,a).path:b},g.prototype.doXHR=function(a,e,f,g){function h(b,c,d){b.status>=200&&b.status<300?c(b.responseText,b.getResponseHeader("Last-Modified")):"function"==typeof d&&d(b.status,a)}var i=d(),j=!b.isFileProtocol||b.fileAsync;"function"==typeof i.overrideMimeType&&i.overrideMimeType("text/css"),c.debug("XHR: Getting '"+a+"'"),i.open("GET",a,j),i.setRequestHeader("Accept",e||"text/x-less, text/css; q=0.9, */*; q=0.5"),i.send(null),b.isFileProtocol&&!b.fileAsync?0===i.status||i.status>=200&&i.status<300?f(i.responseText):g(i.status,a):j?i.onreadystatechange=function(){4==i.readyState&&h(i,f,g)}:h(i,f,g)},g.prototype.supports=function(a,b,c,d){return!0},g.prototype.clearFileCache=function(){f={}},g.prototype.loadFile=function(a,b,c,d,e){b&&!this.isPathAbsolute(a)&&(a=b+a),c=c||{};var g=this.extractUrlParts(a,window.location.href),h=g.url;if(c.useFileCache&&f[h])try{var i=f[h];e(null,{contents:i,filename:h,webInfo:{lastModified:new Date}})}catch(j){e({filename:h,message:"Error loading file "+h+" error was "+j.message})}else this.doXHR(h,c.mime,function(a,b){f[h]=a,e(null,{contents:a,filename:h,webInfo:{lastModified:b}})},function(a,b){e({type:"File",message:"'"+b+"' wasn't found ("+a+")",href:h})})},g}},{"../less/environment/abstract-file-manager.js":15}],7:[function(a,b,c){b.exports=function(){function b(){throw{type:"Runtime",message:"Image size functions are not supported in browser version of less"}}var c=a("./../less/functions/function-registry"),d={"image-size":function(a){return b(this,a),-1},"image-width":function(a){return b(this,a),-1},"image-height":function(a){return b(this,a),-1}};c.addMultiple(d)}},{"./../less/functions/function-registry":22}],8:[function(a,b,c){var d=a("./utils").addDataAttr,e=a("./browser");b.exports=function(b,c){function f(a){return c.postProcessor&&"function"==typeof c.postProcessor&&(a=c.postProcessor.call(a,a)||a),a}function g(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function h(a,b){var c=Array.prototype.slice.call(arguments,2);return function(){var d=c.concat(Array.prototype.slice.call(arguments,0));return a.apply(b,d)}}function i(a){for(var b,d=m.getElementsByTagName("style"),e=0;e<d.length;e++)if(b=d[e],b.type.match(t)){var f=g(c);f.modifyVars=a;var i=b.innerHTML||"";f.filename=m.location.href.replace(/#.*$/,""),n.render(i,f,h(function(a,b,c){b?r.add(b,"inline"):(a.type="text/css",a.styleSheet?a.styleSheet.cssText=c.css:a.innerHTML=c.css)},null,b))}}function j(a,b,e,h,i){function j(c){var d=c.contents,g=c.filename,i=c.webInfo,j={currentDirectory:q.getPath(g),filename:g,rootFilename:g,relativeUrls:k.relativeUrls};if(j.entryPath=j.currentDirectory,j.rootpath=k.rootpath||j.currentDirectory,i){i.remaining=h;var l=s.getCSS(g,i,k.modifyVars);if(!e&&l)return i.local=!0,void b(null,l,d,a,i,g)}r.remove(g),k.rootFileInfo=j,n.render(d,k,function(c,e){c?(c.href=g,b(c)):(e.css=f(e.css),s.setCSS(a.href,i.lastModified,k.modifyVars,e.css),b(null,e.css,d,a,i,g))})}var k=g(c);d(k,a),k.mime=a.type,i&&(k.modifyVars=i),q.loadFile(a.href,null,k,o,function(a,c){return a?void b(a):void j(c)})}function k(a,b,c){for(var d=0;d<n.sheets.length;d++)j(n.sheets[d],a,b,n.sheets.length-(d+1),c)}function l(){"development"===n.env&&(n.watchTimer=setInterval(function(){n.watchMode&&(q.clearFileCache(),k(function(a,c,d,f,g){a?r.add(a,a.href||f.href):c&&e.createCSS(b.document,c,f)}))},c.poll))}var m=b.document,n=a("../less")();n.options=c;var o=n.environment,p=a("./file-manager")(c,n.logger),q=new p;o.addFileManager(q),n.FileManager=p,a("./log-listener")(n,c);var r=a("./error-reporting")(b,n,c),s=n.cache=c.cache||a("./cache")(b,c,n.logger);a("./image-size")(n.environment),c.functions&&n.functions.functionRegistry.addMultiple(c.functions);var t=/^text\/(x-)?less$/;return n.watch=function(){return n.watchMode||(n.env="development",l()),this.watchMode=!0,!0},n.unwatch=function(){return clearInterval(n.watchTimer),this.watchMode=!1,!1},n.registerStylesheetsImmediately=function(){var a=m.getElementsByTagName("link");n.sheets=[];for(var b=0;b<a.length;b++)("stylesheet/less"===a[b].rel||a[b].rel.match(/stylesheet/)&&a[b].type.match(t))&&n.sheets.push(a[b])},n.registerStylesheets=function(){return new Promise(function(a,b){n.registerStylesheetsImmediately(),a()})},n.modifyVars=function(a){return n.refresh(!0,a,!1)},n.refresh=function(a,c,d){return(a||d)&&d!==!1&&q.clearFileCache(),new Promise(function(d,f){var g,h,j,l;g=h=new Date,l=n.sheets.length,0===l?(h=new Date,j=h-g,n.logger.info("Less has finished and no sheets were loaded."),d({startTime:g,endTime:h,totalMilliseconds:j,sheets:n.sheets.length})):k(function(a,c,i,k,m){return a?(r.add(a,a.href||k.href),void f(a)):(n.logger.info(m.local?"Loading "+k.href+" from cache.":"Rendered "+k.href+" successfully."),e.createCSS(b.document,c,k),n.logger.info("CSS for "+k.href+" generated in "+(new Date-h)+"ms"),l--,0===l&&(j=new Date-g,n.logger.info("Less has finished. CSS generated in "+j+"ms"),d({startTime:g,endTime:h,totalMilliseconds:j,sheets:n.sheets.length})),void(h=new Date))},a,c),i(c)})},n.refreshStyles=i,n}},{"../less":31,"./browser":3,"./cache":4,"./error-reporting":5,"./file-manager":6,"./image-size":7,"./log-listener":9,"./utils":10}],9:[function(a,b,c){b.exports=function(a,b){var c=4,d=3,e=2,f=1;b.logLevel="undefined"!=typeof b.logLevel?b.logLevel:"development"===b.env?d:f,b.loggers||(b.loggers=[{debug:function(a){b.logLevel>=c&&console.log(a)},info:function(a){b.logLevel>=d&&console.log(a)},warn:function(a){b.logLevel>=e&&console.warn(a)},error:function(a){b.logLevel>=f&&console.error(a)}}]);for(var g=0;g<b.loggers.length;g++)a.logger.addListener(b.loggers[g])}},{}],10:[function(a,b,c){b.exports={extractId:function(a){return a.replace(/^[a-z-]+:\/+?[^\/]+/,"").replace(/[\?\&]livereload=\w+/,"").replace(/^\//,"").replace(/\.[a-zA-Z]+$/,"").replace(/[^\.\w-]+/g,"-").replace(/\./g,":")},addDataAttr:function(a,b){for(var c in b.dataset)if(b.dataset.hasOwnProperty(c))if("env"===c||"dumpLineNumbers"===c||"rootpath"===c||"errorReporting"===c)a[c]=b.dataset[c];else try{a[c]=JSON.parse(b.dataset[c])}catch(d){}}}},{}],11:[function(a,b,c){var d={};b.exports=d;var e=function(a,b,c){if(a)for(var d=0;d<c.length;d++)a.hasOwnProperty(c[d])&&(b[c[d]]=a[c[d]])},f=["paths","relativeUrls","rootpath","strictImports","insecure","dumpLineNumbers","compress","syncImport","chunkInput","mime","useFileCache","processImports","pluginManager"];d.Parse=function(a){e(a,this,f),"string"==typeof this.paths&&(this.paths=[this.paths])};var g=["paths","compress","ieCompat","strictMath","strictUnits","sourceMap","importMultiple","urlArgs","javascriptEnabled","pluginManager","importantScope"];d.Eval=function(a,b){e(a,this,g),"string"==typeof this.paths&&(this.paths=[this.paths]),this.frames=b||[],this.importantScope=this.importantScope||[]},d.Eval.prototype.inParenthesis=function(){this.parensStack||(this.parensStack=[]),this.parensStack.push(!0)},d.Eval.prototype.outOfParenthesis=function(){this.parensStack.pop()},d.Eval.prototype.isMathOn=function(){return!this.strictMath||this.parensStack&&this.parensStack.length},d.Eval.prototype.isPathRelative=function(a){return!/^(?:[a-z-]+:|\/|#)/i.test(a)},d.Eval.prototype.normalizePath=function(a){var b,c=a.split("/").reverse();for(a=[];0!==c.length;)switch(b=c.pop()){case".":break;case"..":0===a.length||".."===a[a.length-1]?a.push(b):a.pop();break;default:a.push(b)}return a.join("/")}},{}],12:[function(a,b,c){b.exports={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgrey:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}},{}],13:[function(a,b,c){b.exports={colors:a("./colors"),unitConversions:a("./unit-conversions")}},{"./colors":12,"./unit-conversions":14}],14:[function(a,b,c){b.exports={length:{m:1,cm:.01,mm:.001,"in":.0254,px:.0254/96,pt:.0254/72,pc:.0254/72*12},duration:{s:1,ms:.001},angle:{rad:1/(2*Math.PI),deg:1/360,grad:.0025,turn:1}}},{}],15:[function(a,b,c){var d=function(){};d.prototype.getPath=function(a){var b=a.lastIndexOf("?");return b>0&&(a=a.slice(0,b)),b=a.lastIndexOf("/"),b<0&&(b=a.lastIndexOf("\\")),b<0?"":a.slice(0,b+1)},d.prototype.tryAppendExtension=function(a,b){return/(\.[a-z]*$)|([\?;].*)$/.test(a)?a:a+b},d.prototype.tryAppendLessExtension=function(a){return this.tryAppendExtension(a,".less")},d.prototype.supportsSync=function(){return!1},d.prototype.alwaysMakePathsAbsolute=function(){return!1},d.prototype.isPathAbsolute=function(a){return/^(?:[a-z-]+:|\/|\\|#)/i.test(a)},d.prototype.join=function(a,b){return a?a+b:b},d.prototype.pathDiff=function(a,b){var c,d,e,f,g=this.extractUrlParts(a),h=this.extractUrlParts(b),i="";if(g.hostPart!==h.hostPart)return"";for(d=Math.max(h.directories.length,g.directories.length),c=0;c<d&&h.directories[c]===g.directories[c];c++);for(f=h.directories.slice(c),e=g.directories.slice(c),c=0;c<f.length-1;c++)i+="../";for(c=0;c<e.length-1;c++)i+=e[c]+"/";return i},d.prototype.extractUrlParts=function(a,b){var c,d,e=/^((?:[a-z-]+:)?\/{2}(?:[^\/\?#]*\/)|([\/\\]))?((?:[^\/\\\?#]*[\/\\])*)([^\/\\\?#]*)([#\?].*)?$/i,f=a.match(e),g={},h=[];if(!f)throw new Error("Could not parse sheet href - '"+a+"'");if(b&&(!f[1]||f[2])){if(d=b.match(e),!d)throw new Error("Could not parse page url - '"+b+"'");f[1]=f[1]||d[1]||"",f[2]||(f[3]=d[3]+f[3])}if(f[3]){for(h=f[3].replace(/\\/g,"/").split("/"),c=0;c<h.length;c++)"."===h[c]&&(h.splice(c,1),c-=1);for(c=0;c<h.length;c++)".."===h[c]&&c>0&&(h.splice(c-1,2),c-=2)}return g.hostPart=f[1],g.directories=h,g.path=(f[1]||"")+h.join("/"),g.fileUrl=g.path+(f[4]||""),g.url=g.fileUrl+(f[5]||""),g},b.exports=d},{}],16:[function(a,b,c){var d=a("../logger"),e=function(a,b){this.fileManagers=b||[],a=a||{};for(var c=["encodeBase64","mimeLookup","charsetLookup","getSourceMapGenerator"],d=[],e=d.concat(c),f=0;f<e.length;f++){var g=e[f],h=a[g];h?this[g]=h.bind(a):f<d.length&&this.warn("missing required function in environment - "+g)}};e.prototype.getFileManager=function(a,b,c,e,f){a||d.warn("getFileManager called with no filename.. Please report this issue. continuing."),null==b&&d.warn("getFileManager called with null directory.. Please report this issue. continuing.");var g=this.fileManagers;c.pluginManager&&(g=[].concat(g).concat(c.pluginManager.getFileManagers()));for(var h=g.length-1;h>=0;h--){var i=g[h];if(i[f?"supportsSync":"supports"](a,b,c,e))return i}return null},e.prototype.addFileManager=function(a){this.fileManagers.push(a)},e.prototype.clearFileManagers=function(){this.fileManagers=[]},b.exports=e},{"../logger":33}],17:[function(a,b,c){function d(a,b,c){var d,f,g,h,i=b.alpha,j=c.alpha,k=[];g=j+i*(1-j);for(var l=0;l<3;l++)d=b.rgb[l]/255,f=c.rgb[l]/255,h=a(d,f),g&&(h=(j*f+i*(d-j*(d+f-h)))/g),k[l]=255*h;return new e(k,g)}var e=a("../tree/color"),f=a("./function-registry"),g={multiply:function(a,b){return a*b},screen:function(a,b){return a+b-a*b},overlay:function(a,b){return a*=2,a<=1?g.multiply(a,b):g.screen(a-1,b)},softlight:function(a,b){var c=1,d=a;return b>.5&&(d=1,c=a>.25?Math.sqrt(a):((16*a-12)*a+4)*a),a-(1-2*b)*d*(c-a)},hardlight:function(a,b){return g.overlay(b,a)},difference:function(a,b){return Math.abs(a-b)},exclusion:function(a,b){return a+b-2*a*b},average:function(a,b){return(a+b)/2},negation:function(a,b){return 1-Math.abs(a+b-1)}};for(var h in g)g.hasOwnProperty(h)&&(d[h]=d.bind(null,g[h]));f.addMultiple(d)},{"../tree/color":50,"./function-registry":22}],18:[function(a,b,c){function d(a){return Math.min(1,Math.max(0,a))}function e(a){return h.hsla(a.h,a.s,a.l,a.a)}function f(a){if(a instanceof i)return parseFloat(a.unit.is("%")?a.value/100:a.value);if("number"==typeof a)return a;throw{type:"Argument",message:"color functions take numbers as parameters"}}function g(a,b){return a instanceof i&&a.unit.is("%")?parseFloat(a.value*b/100):f(a)}var h,i=a("../tree/dimension"),j=a("../tree/color"),k=a("../tree/quoted"),l=a("../tree/anonymous"),m=a("./function-registry");h={rgb:function(a,b,c){return h.rgba(a,b,c,1)},rgba:function(a,b,c,d){var e=[a,b,c].map(function(a){return g(a,255)});return d=f(d),new j(e,d)},hsl:function(a,b,c){return h.hsla(a,b,c,1)},hsla:function(a,b,c,e){function g(a){return a=a<0?a+1:a>1?a-1:a,6*a<1?i+(j-i)*a*6:2*a<1?j:3*a<2?i+(j-i)*(2/3-a)*6:i}var i,j;return a=f(a)%360/360,b=d(f(b)),c=d(f(c)),e=d(f(e)),j=c<=.5?c*(b+1):c+b-c*b,i=2*c-j,h.rgba(255*g(a+1/3),255*g(a),255*g(a-1/3),e)},hsv:function(a,b,c){return h.hsva(a,b,c,1)},hsva:function(a,b,c,d){a=f(a)%360/360*360,b=f(b),c=f(c),d=f(d);var e,g;e=Math.floor(a/60%6),g=a/60-e;var i=[c,c*(1-b),c*(1-g*b),c*(1-(1-g)*b)],j=[[0,3,1],[2,0,1],[1,0,3],[1,2,0],[3,1,0],[0,1,2]];return h.rgba(255*i[j[e][0]],255*i[j[e][1]],255*i[j[e][2]],d)},hue:function(a){return new i(a.toHSL().h)},saturation:function(a){return new i(100*a.toHSL().s,"%")},lightness:function(a){return new i(100*a.toHSL().l,"%")},hsvhue:function(a){return new i(a.toHSV().h)},hsvsaturation:function(a){return new i(100*a.toHSV().s,"%")},hsvvalue:function(a){return new i(100*a.toHSV().v,"%")},red:function(a){return new i(a.rgb[0])},green:function(a){return new i(a.rgb[1])},blue:function(a){return new i(a.rgb[2])},alpha:function(a){return new i(a.toHSL().a)},luma:function(a){return new i(a.luma()*a.alpha*100,"%")},luminance:function(a){var b=.2126*a.rgb[0]/255+.7152*a.rgb[1]/255+.0722*a.rgb[2]/255;return new i(b*a.alpha*100,"%")},saturate:function(a,b,c){if(!a.rgb)return null;var f=a.toHSL();return f.s+="undefined"!=typeof c&&"relative"===c.value?f.s*b.value/100:b.value/100,f.s=d(f.s),e(f)},desaturate:function(a,b,c){var f=a.toHSL();return f.s-="undefined"!=typeof c&&"relative"===c.value?f.s*b.value/100:b.value/100,f.s=d(f.s),e(f)},lighten:function(a,b,c){var f=a.toHSL();return f.l+="undefined"!=typeof c&&"relative"===c.value?f.l*b.value/100:b.value/100,f.l=d(f.l),e(f)},darken:function(a,b,c){var f=a.toHSL();return f.l-="undefined"!=typeof c&&"relative"===c.value?f.l*b.value/100:b.value/100,f.l=d(f.l),e(f)},fadein:function(a,b,c){var f=a.toHSL();return f.a+="undefined"!=typeof c&&"relative"===c.value?f.a*b.value/100:b.value/100,f.a=d(f.a),e(f)},fadeout:function(a,b,c){var f=a.toHSL();return f.a-="undefined"!=typeof c&&"relative"===c.value?f.a*b.value/100:b.value/100,f.a=d(f.a),e(f)},fade:function(a,b){var c=a.toHSL();return c.a=b.value/100,c.a=d(c.a),e(c)},spin:function(a,b){var c=a.toHSL(),d=(c.h+b.value)%360;return c.h=d<0?360+d:d,e(c)},mix:function(a,b,c){a.toHSL&&b.toHSL||(console.log(b.type),console.dir(b)),c||(c=new i(50));var d=c.value/100,e=2*d-1,f=a.toHSL().a-b.toHSL().a,g=((e*f==-1?e:(e+f)/(1+e*f))+1)/2,h=1-g,k=[a.rgb[0]*g+b.rgb[0]*h,a.rgb[1]*g+b.rgb[1]*h,a.rgb[2]*g+b.rgb[2]*h],l=a.alpha*d+b.alpha*(1-d);return new j(k,l)},greyscale:function(a){return h.desaturate(a,new i(100))},contrast:function(a,b,c,d){if(!a.rgb)return null;if("undefined"==typeof c&&(c=h.rgba(255,255,255,1)),"undefined"==typeof b&&(b=h.rgba(0,0,0,1)),b.luma()>c.luma()){var e=c;c=b,b=e}return d="undefined"==typeof d?.43:f(d),a.luma()<d?c:b},argb:function(a){return new l(a.toARGB())},color:function(a){if(a instanceof k&&/^#([a-f0-9]{6}|[a-f0-9]{3})$/i.test(a.value))return new j(a.value.slice(1));if(a instanceof j||(a=j.fromKeyword(a.value)))return a.value=void 0,a;throw{type:"Argument",message:"argument must be a color keyword or 3/6 digit hex e.g. #FFF"}},tint:function(a,b){return h.mix(h.rgb(255,255,255),a,b)},shade:function(a,b){return h.mix(h.rgb(0,0,0),a,b)}},m.addMultiple(h)},{"../tree/anonymous":46,"../tree/color":50,"../tree/dimension":56,"../tree/quoted":73,"./function-registry":22}],19:[function(a,b,c){b.exports=function(b){var c=a("../tree/quoted"),d=a("../tree/url"),e=a("./function-registry"),f=function(a,b){return new d(b,a.index,a.currentFileInfo).eval(a.context)},g=a("../logger");e.add("data-uri",function(a,e){e||(e=a,a=null);var h=a&&a.value,i=e.value,j=this.currentFileInfo,k=j.relativeUrls?j.currentDirectory:j.entryPath,l=i.indexOf("#"),m="";l!==-1&&(m=i.slice(l),i=i.slice(0,l));var n=b.getFileManager(i,k,this.context,b,!0);if(!n)return f(this,e);var o=!1;if(a)o=/;base64$/.test(h);else{if(h=b.mimeLookup(i),"image/svg+xml"===h)o=!1;else{var p=b.charsetLookup(h);o=["US-ASCII","UTF-8"].indexOf(p)<0}o&&(h+=";base64")}var q=n.loadFileSync(i,k,this.context,b);if(!q.contents)return g.warn("Skipped data-uri embedding of "+i+" because file not found"),f(this,e||a);var r=q.contents;if(o&&!b.encodeBase64)return f(this,e);r=o?b.encodeBase64(r):encodeURIComponent(r);var s="data:"+h+","+r+m,t=32768;return s.length>=t&&this.context.ieCompat!==!1?(g.warn("Skipped data-uri embedding of "+i+" because its size ("+s.length+" characters) exceeds IE8-safe "+t+" characters!"),f(this,e||a)):new d(new c('"'+s+'"',s,(!1),this.index,this.currentFileInfo),this.index,this.currentFileInfo)})}},{"../logger":33,"../tree/quoted":73,"../tree/url":80,"./function-registry":22}],20:[function(a,b,c){var d=a("../tree/keyword"),e=a("./function-registry"),f={eval:function(){var a=this.value_,b=this.error_;if(b)throw b;if(null!=a)return a?d.True:d.False},value:function(a){this.value_=a},error:function(a){this.error_=a},reset:function(){this.value_=this.error_=null}};e.add("default",f.eval.bind(f)),b.exports=f},{"../tree/keyword":65,"./function-registry":22}],21:[function(a,b,c){var d=a("../tree/expression"),e=function(a,b,c,d){this.name=a.toLowerCase(),this.index=c,this.context=b,this.currentFileInfo=d,this.func=b.frames[0].functionRegistry.get(this.name)};e.prototype.isValid=function(){return Boolean(this.func)},e.prototype.call=function(a){return Array.isArray(a)&&(a=a.filter(function(a){return"Comment"!==a.type}).map(function(a){if("Expression"===a.type){var b=a.value.filter(function(a){return"Comment"!==a.type});return 1===b.length?b[0]:new d(b)}return a})),this.func.apply(this,a)},b.exports=e},{"../tree/expression":59}],22:[function(a,b,c){function d(a){return{_data:{},add:function(a,b){a=a.toLowerCase(),this._data.hasOwnProperty(a),this._data[a]=b},addMultiple:function(a){Object.keys(a).forEach(function(b){this.add(b,a[b])}.bind(this))},get:function(b){return this._data[b]||a&&a.get(b)},inherit:function(){return d(this)}}}b.exports=d(null)},{}],23:[function(a,b,c){b.exports=function(b){var c={functionRegistry:a("./function-registry"),functionCaller:a("./function-caller")};return a("./default"),a("./color"),a("./color-blending"),a("./data-uri")(b),a("./math"),a("./number"),a("./string"),a("./svg")(b),a("./types"),c}},{"./color":18,"./color-blending":17,"./data-uri":19,"./default":20,"./function-caller":21,"./function-registry":22,"./math":25,"./number":26,"./string":27,"./svg":28,"./types":29}],24:[function(a,b,c){var d=a("../tree/dimension"),e=function(){};e._math=function(a,b,c){if(!(c instanceof d))throw{type:"Argument",message:"argument must be a number"};return null==b?b=c.unit:c=c.unify(),new d(a(parseFloat(c.value)),b)},b.exports=e},{"../tree/dimension":56}],25:[function(a,b,c){var d=a("./function-registry"),e=a("./math-helper.js"),f={ceil:null,floor:null,sqrt:null,abs:null,tan:"",sin:"",cos:"",atan:"rad",asin:"rad",acos:"rad"};for(var g in f)f.hasOwnProperty(g)&&(f[g]=e._math.bind(null,Math[g],f[g]));f.round=function(a,b){var c="undefined"==typeof b?0:b.value;return e._math(function(a){return a.toFixed(c)},null,a)},d.addMultiple(f)},{"./function-registry":22,"./math-helper.js":24}],26:[function(a,b,c){var d=a("../tree/dimension"),e=a("../tree/anonymous"),f=a("./function-registry"),g=a("./math-helper.js"),h=function(a,b){switch(b=Array.prototype.slice.call(b),b.length){case 0:throw{type:"Argument",message:"one or more arguments required"}}var c,f,g,h,i,j,k,l,m=[],n={};for(c=0;c<b.length;c++)if(g=b[c],g instanceof d)if(h=""===g.unit.toString()&&void 0!==l?new d(g.value,l).unify():g.unify(),j=""===h.unit.toString()&&void 0!==k?k:h.unit.toString(),k=""!==j&&void 0===k||""!==j&&""===m[0].unify().unit.toString()?j:k,l=""!==j&&void 0===l?g.unit.toString():l,f=void 0!==n[""]&&""!==j&&j===k?n[""]:n[j],void 0!==f)i=""===m[f].unit.toString()&&void 0!==l?new d(m[f].value,l).unify():m[f].unify(),(a&&h.value<i.value||!a&&h.value>i.value)&&(m[f]=g);else{if(void 0!==k&&j!==k)throw{type:"Argument",message:"incompatible types"};n[j]=m.length,m.push(g)}else Array.isArray(b[c].value)&&Array.prototype.push.apply(b,Array.prototype.slice.call(b[c].value));return 1==m.length?m[0]:(b=m.map(function(a){return a.toCSS(this.context)}).join(this.context.compress?",":", "),new e((a?"min":"max")+"("+b+")"))};f.addMultiple({min:function(){return h(!0,arguments)},max:function(){return h(!1,arguments)},convert:function(a,b){return a.convertTo(b.value)},pi:function(){return new d(Math.PI)},mod:function(a,b){return new d(a.value%b.value,a.unit)},pow:function(a,b){if("number"==typeof a&&"number"==typeof b)a=new d(a),b=new d(b);else if(!(a instanceof d&&b instanceof d))throw{type:"Argument",message:"arguments must be numbers"};return new d(Math.pow(a.value,b.value),a.unit)},percentage:function(a){var b=g._math(function(a){return 100*a},"%",a);return b}})},{"../tree/anonymous":46,"../tree/dimension":56,"./function-registry":22,"./math-helper.js":24}],27:[function(a,b,c){var d=a("../tree/quoted"),e=a("../tree/anonymous"),f=a("../tree/javascript"),g=a("./function-registry");g.addMultiple({e:function(a){return new e(a instanceof f?a.evaluated:a.value)},escape:function(a){return new e(encodeURI(a.value).replace(/=/g,"%3D").replace(/:/g,"%3A").replace(/#/g,"%23").replace(/;/g,"%3B").replace(/\(/g,"%28").replace(/\)/g,"%29"))},replace:function(a,b,c,e){var f=a.value;return c="Quoted"===c.type?c.value:c.toCSS(),f=f.replace(new RegExp(b.value,e?e.value:""),c),new d(a.quote||"",f,a.escaped)},"%":function(a){for(var b=Array.prototype.slice.call(arguments,1),c=a.value,e=0;e<b.length;e++)c=c.replace(/%[sda]/i,function(a){var c="Quoted"===b[e].type&&a.match(/s/i)?b[e].value:b[e].toCSS();return a.match(/[A-Z]$/)?encodeURIComponent(c):c});return c=c.replace(/%%/g,"%"),new d(a.quote||"",c,a.escaped)}})},{"../tree/anonymous":46,"../tree/javascript":63,
-"../tree/quoted":73,"./function-registry":22}],28:[function(a,b,c){b.exports=function(b){var c=a("../tree/dimension"),d=a("../tree/color"),e=a("../tree/expression"),f=a("../tree/quoted"),g=a("../tree/url"),h=a("./function-registry");h.add("svg-gradient",function(a){function b(){throw{type:"Argument",message:"svg-gradient expects direction, start_color [start_position], [color position,]..., end_color [end_position] or direction, color list"}}var h,i,j,k,l,m,n,o,p="linear",q='x="0" y="0" width="1" height="1"',r={compress:!1},s=a.toCSS(r);switch(2==arguments.length?(arguments[1].value.length<2&&b(),h=arguments[1].value):arguments.length<3?b():h=Array.prototype.slice.call(arguments,1),s){case"to bottom":i='x1="0%" y1="0%" x2="0%" y2="100%"';break;case"to right":i='x1="0%" y1="0%" x2="100%" y2="0%"';break;case"to bottom right":i='x1="0%" y1="0%" x2="100%" y2="100%"';break;case"to top right":i='x1="0%" y1="100%" x2="100%" y2="0%"';break;case"ellipse":case"ellipse at center":p="radial",i='cx="50%" cy="50%" r="75%"',q='x="-50" y="-50" width="101" height="101"';break;default:throw{type:"Argument",message:"svg-gradient direction must be 'to bottom', 'to right', 'to bottom right', 'to top right' or 'ellipse at center'"}}for(j='<?xml version="1.0" ?><svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="100%" height="100%" viewBox="0 0 1 1" preserveAspectRatio="none"><'+p+'Gradient id="gradient" gradientUnits="userSpaceOnUse" '+i+">",k=0;k<h.length;k+=1)h[k]instanceof e?(l=h[k].value[0],m=h[k].value[1]):(l=h[k],m=void 0),l instanceof d&&((0===k||k+1===h.length)&&void 0===m||m instanceof c)||b(),n=m?m.toCSS(r):0===k?"0%":"100%",o=l.alpha,j+='<stop offset="'+n+'" stop-color="'+l.toRGB()+'"'+(o<1?' stop-opacity="'+o+'"':"")+"/>";return j+="</"+p+"Gradient><rect "+q+' fill="url(#gradient)" /></svg>',j=encodeURIComponent(j),j="data:image/svg+xml,"+j,new g(new f("'"+j+"'",j,(!1),this.index,this.currentFileInfo),this.index,this.currentFileInfo)})}},{"../tree/color":50,"../tree/dimension":56,"../tree/expression":59,"../tree/quoted":73,"../tree/url":80,"./function-registry":22}],29:[function(a,b,c){var d=a("../tree/keyword"),e=a("../tree/detached-ruleset"),f=a("../tree/dimension"),g=a("../tree/color"),h=a("../tree/quoted"),i=a("../tree/anonymous"),j=a("../tree/url"),k=a("../tree/operation"),l=a("./function-registry"),m=function(a,b){return a instanceof b?d.True:d.False},n=function(a,b){if(void 0===b)throw{type:"Argument",message:"missing the required second argument to isunit."};if(b="string"==typeof b.value?b.value:b,"string"!=typeof b)throw{type:"Argument",message:"Second argument to isunit should be a unit or a string."};return a instanceof f&&a.unit.is(b)?d.True:d.False},o=function(a){var b=Array.isArray(a.value)?a.value:Array(a);return b};l.addMultiple({isruleset:function(a){return m(a,e)},iscolor:function(a){return m(a,g)},isnumber:function(a){return m(a,f)},isstring:function(a){return m(a,h)},iskeyword:function(a){return m(a,d)},isurl:function(a){return m(a,j)},ispixel:function(a){return n(a,"px")},ispercentage:function(a){return n(a,"%")},isem:function(a){return n(a,"em")},isunit:n,unit:function(a,b){if(!(a instanceof f))throw{type:"Argument",message:"the first argument to unit must be a number"+(a instanceof k?". Have you forgotten parenthesis?":"")};return b=b?b instanceof d?b.value:b.toCSS():"",new f(a.value,b)},"get-unit":function(a){return new i(a.unit)},extract:function(a,b){return b=b.value-1,o(a)[b]},length:function(a){return new f(o(a).length)}})},{"../tree/anonymous":46,"../tree/color":50,"../tree/detached-ruleset":55,"../tree/dimension":56,"../tree/keyword":65,"../tree/operation":71,"../tree/quoted":73,"../tree/url":80,"./function-registry":22}],30:[function(a,b,c){var d=a("./contexts"),e=a("./parser/parser"),f=a("./plugins/function-importer");b.exports=function(a){var b=function(a,b){this.rootFilename=b.filename,this.paths=a.paths||[],this.contents={},this.contentsIgnoredChars={},this.mime=a.mime,this.error=null,this.context=a,this.queue=[],this.files={}};return b.prototype.push=function(b,c,g,h,i){var j=this;this.queue.push(b);var k=function(a,c,d){j.queue.splice(j.queue.indexOf(b),1);var e=d===j.rootFilename;h.optional&&a?i(null,{rules:[]},!1,null):(j.files[d]=c,a&&!j.error&&(j.error=a),i(a,c,e,d))},l={relativeUrls:this.context.relativeUrls,entryPath:g.entryPath,rootpath:g.rootpath,rootFilename:g.rootFilename},m=a.getFileManager(b,g.currentDirectory,this.context,a);if(!m)return void k({message:"Could not find a file-manager for "+b});c&&(b=m.tryAppendExtension(b,h.plugin?".js":".less"));var n=function(a){var b=a.filename,c=a.contents.replace(/^\uFEFF/,"");l.currentDirectory=m.getPath(b),l.relativeUrls&&(l.rootpath=m.join(j.context.rootpath||"",m.pathDiff(l.currentDirectory,l.entryPath)),!m.isPathAbsolute(l.rootpath)&&m.alwaysMakePathsAbsolute()&&(l.rootpath=m.join(l.entryPath,l.rootpath))),l.filename=b;var i=new d.Parse(j.context);i.processImports=!1,j.contents[b]=c,(g.reference||h.reference)&&(l.reference=!0),h.plugin?new f(i,l).eval(c,function(a,c){k(a,c,b)}):h.inline?k(null,c,b):new e(i,j,l).parse(c,function(a,c){k(a,c,b)})},o=m.loadFile(b,g.currentDirectory,this.context,a,function(a,b){a?k(a):n(b)});o&&o.then(n,k)},b}},{"./contexts":11,"./parser/parser":38,"./plugins/function-importer":40}],31:[function(a,b,c){b.exports=function(b,c){var d,e,f,g,h,i={version:[2,7,2],data:a("./data"),tree:a("./tree"),Environment:h=a("./environment/environment"),AbstractFileManager:a("./environment/abstract-file-manager"),environment:b=new h(b,c),visitors:a("./visitors"),Parser:a("./parser/parser"),functions:a("./functions")(b),contexts:a("./contexts"),SourceMapOutput:d=a("./source-map-output")(b),SourceMapBuilder:e=a("./source-map-builder")(d,b),ParseTree:f=a("./parse-tree")(e),ImportManager:g=a("./import-manager")(b),render:a("./render")(b,f,g),parse:a("./parse")(b,f,g),LessError:a("./less-error"),transformTree:a("./transform-tree"),utils:a("./utils"),PluginManager:a("./plugin-manager"),logger:a("./logger")};return i}},{"./contexts":11,"./data":13,"./environment/abstract-file-manager":15,"./environment/environment":16,"./functions":23,"./import-manager":30,"./less-error":32,"./logger":33,"./parse":35,"./parse-tree":34,"./parser/parser":38,"./plugin-manager":39,"./render":41,"./source-map-builder":42,"./source-map-output":43,"./transform-tree":44,"./tree":62,"./utils":83,"./visitors":87}],32:[function(a,b,c){var d=a("./utils"),e=b.exports=function(a,b,c){Error.call(this);var e=a.filename||c;if(b&&e){var f=b.contents[e],g=d.getLocation(a.index,f),h=g.line,i=g.column,j=a.call&&d.getLocation(a.call,f).line,k=f.split("\n");this.type=a.type||"Syntax",this.filename=e,this.index=a.index,this.line="number"==typeof h?h+1:null,this.callLine=j+1,this.callExtract=k[j],this.column=i,this.extract=[k[h-1],k[h],k[h+1]]}this.message=a.message,this.stack=a.stack};if("undefined"==typeof Object.create){var f=function(){};f.prototype=Error.prototype,e.prototype=new f}else e.prototype=Object.create(Error.prototype);e.prototype.constructor=e},{"./utils":83}],33:[function(a,b,c){b.exports={error:function(a){this._fireEvent("error",a)},warn:function(a){this._fireEvent("warn",a)},info:function(a){this._fireEvent("info",a)},debug:function(a){this._fireEvent("debug",a)},addListener:function(a){this._listeners.push(a)},removeListener:function(a){for(var b=0;b<this._listeners.length;b++)if(this._listeners[b]===a)return void this._listeners.splice(b,1)},_fireEvent:function(a,b){for(var c=0;c<this._listeners.length;c++){var d=this._listeners[c][a];d&&d(b)}},_listeners:[]}},{}],34:[function(a,b,c){var d=a("./less-error"),e=a("./transform-tree"),f=a("./logger");b.exports=function(a){var b=function(a,b){this.root=a,this.imports=b};return b.prototype.toCSS=function(b){var c,g,h={};try{c=e(this.root,b)}catch(i){throw new d(i,this.imports)}try{var j=Boolean(b.compress);j&&f.warn("The compress option has been deprecated. We recommend you use a dedicated css minifier, for instance see less-plugin-clean-css.");var k={compress:j,dumpLineNumbers:b.dumpLineNumbers,strictUnits:Boolean(b.strictUnits),numPrecision:8};b.sourceMap?(g=new a(b.sourceMap),h.css=g.toCSS(c,k,this.imports)):h.css=c.toCSS(k)}catch(i){throw new d(i,this.imports)}if(b.pluginManager)for(var l=b.pluginManager.getPostProcessors(),m=0;m<l.length;m++)h.css=l[m].process(h.css,{sourceMap:g,options:b,imports:this.imports});b.sourceMap&&(h.map=g.getExternalSourceMap()),h.imports=[];for(var n in this.imports.files)this.imports.files.hasOwnProperty(n)&&n!==this.imports.rootFilename&&h.imports.push(n);return h},b}},{"./less-error":32,"./logger":33,"./transform-tree":44}],35:[function(a,b,c){var d,e=a("./contexts"),f=a("./parser/parser"),g=a("./plugin-manager");b.exports=function(b,c,h){var i=function(b,c,j){if(c=c||{},"function"==typeof c&&(j=c,c={}),!j){d||(d="undefined"==typeof Promise?a("promise"):Promise);var k=this;return new d(function(a,d){i.call(k,b,c,function(b,c){b?d(b):a(c)})})}var l,m,n=new g(this);if(n.addPlugins(c.plugins),c.pluginManager=n,l=new e.Parse(c),c.rootFileInfo)m=c.rootFileInfo;else{var o=c.filename||"input",p=o.replace(/[^\/\\]*$/,"");m={filename:o,relativeUrls:l.relativeUrls,rootpath:l.rootpath||"",currentDirectory:p,entryPath:p,rootFilename:o},m.rootpath&&"/"!==m.rootpath.slice(-1)&&(m.rootpath+="/")}var q=new h(l,m);new f(l,q,m).parse(b,function(a,b){return a?j(a):void j(null,b,q,c)},c)};return i}},{"./contexts":11,"./parser/parser":38,"./plugin-manager":39,promise:void 0}],36:[function(a,b,c){b.exports=function(a,b){function c(b){var c=h-q;c<512&&!b||!c||(p.push(a.slice(q,h+1)),q=h+1)}var d,e,f,g,h,i,j,k,l,m=a.length,n=0,o=0,p=[],q=0;for(h=0;h<m;h++)if(j=a.charCodeAt(h),!(j>=97&&j<=122||j<34))switch(j){case 40:o++,e=h;continue;case 41:if(--o<0)return b("missing opening `(`",h);continue;case 59:o||c();continue;case 123:n++,d=h;continue;case 125:if(--n<0)return b("missing opening `{`",h);n||o||c();continue;case 92:if(h<m-1){h++;continue}return b("unescaped `\\`",h);case 34:case 39:case 96:for(l=0,i=h,h+=1;h<m;h++)if(k=a.charCodeAt(h),!(k>96)){if(k==j){l=1;break}if(92==k){if(h==m-1)return b("unescaped `\\`",h);h++}}if(l)continue;return b("unmatched `"+String.fromCharCode(j)+"`",i);case 47:if(o||h==m-1)continue;if(k=a.charCodeAt(h+1),47==k)for(h+=2;h<m&&(k=a.charCodeAt(h),!(k<=13)||10!=k&&13!=k);h++);else if(42==k){for(f=i=h,h+=2;h<m-1&&(k=a.charCodeAt(h),125==k&&(g=h),42!=k||47!=a.charCodeAt(h+1));h++);if(h==m-1)return b("missing closing `*/`",i);h++}continue;case 42:if(h<m-1&&47==a.charCodeAt(h+1))return b("unmatched `/*`",h);continue}return 0!==n?f>d&&g>f?b("missing closing `}` or `*/`",d):b("missing closing `}`",d):0!==o?b("missing closing `)`",e):(c(!0),p)}},{}],37:[function(a,b,c){var d=a("./chunker");b.exports=function(){function a(d){for(var e,f,j,p=k.i,q=c,s=k.i-i,t=k.i+h.length-s,u=k.i+=d,v=b;k.i<t;k.i++){if(e=v.charCodeAt(k.i),k.autoCommentAbsorb&&e===r){if(f=v.charAt(k.i+1),"/"===f){j={index:k.i,isLineComment:!0};var w=v.indexOf("\n",k.i+2);w<0&&(w=t),k.i=w,j.text=v.substr(j.index,k.i-j.index),k.commentStore.push(j);continue}if("*"===f){var x=v.indexOf("*/",k.i+2);if(x>=0){j={index:k.i,text:v.substr(k.i,x+2-k.i),isLineComment:!1},k.i+=j.text.length-1,k.commentStore.push(j);continue}}break}if(e!==l&&e!==n&&e!==m&&e!==o)break}if(h=h.slice(d+k.i-u+s),i=k.i,!h.length){if(c<g.length-1)return h=g[++c],a(0),!0;k.finished=!0}return p!==k.i||q!==c}var b,c,e,f,g,h,i,j=[],k={},l=32,m=9,n=10,o=13,p=43,q=44,r=47,s=57;return k.save=function(){i=k.i,j.push({current:h,i:k.i,j:c})},k.restore=function(a){(k.i>e||k.i===e&&a&&!f)&&(e=k.i,f=a);var b=j.pop();h=b.current,i=k.i=b.i,c=b.j},k.forget=function(){j.pop()},k.isWhitespace=function(a){var c=k.i+(a||0),d=b.charCodeAt(c);return d===l||d===o||d===m||d===n},k.$re=function(b){k.i>i&&(h=h.slice(k.i-i),i=k.i);var c=b.exec(h);return c?(a(c[0].length),"string"==typeof c?c:1===c.length?c[0]:c):null},k.$char=function(c){return b.charAt(k.i)!==c?null:(a(1),c)},k.$str=function(c){for(var d=c.length,e=0;e<d;e++)if(b.charAt(k.i+e)!==c.charAt(e))return null;return a(d),c},k.$quoted=function(){var c=b.charAt(k.i);if("'"===c||'"'===c){for(var d=b.length,e=k.i,f=1;f+e<d;f++){var g=b.charAt(f+e);switch(g){case"\\":f++;continue;case"\r":case"\n":break;case c:var h=b.substr(e,f+1);return a(f+1),h}}return null}},k.autoCommentAbsorb=!0,k.commentStore=[],k.finished=!1,k.peek=function(a){if("string"==typeof a){for(var c=0;c<a.length;c++)if(b.charAt(k.i+c)!==a.charAt(c))return!1;return!0}return a.test(h)},k.peekChar=function(a){return b.charAt(k.i)===a},k.currentChar=function(){return b.charAt(k.i)},k.getInput=function(){return b},k.peekNotNumeric=function(){var a=b.charCodeAt(k.i);return a>s||a<p||a===r||a===q},k.start=function(f,j,l){b=f,k.i=c=i=e=0,g=j?d(f,l):[f],h=g[0],a(0)},k.end=function(){var a,c=k.i>=b.length;return k.i<e&&(a=f,k.i=e),{isFinished:c,furthest:k.i,furthestPossibleErrorMessage:a,furthestReachedEnd:k.i>=b.length-1,furthestChar:b[k.i]}},k}},{"./chunker":36}],38:[function(a,b,c){var d=a("../less-error"),e=a("../tree"),f=a("../visitors"),g=a("./parser-input"),h=a("../utils"),i=function j(a,b,c){function i(a,e){throw new d({index:o.i,filename:c.filename,type:e||"Syntax",message:a},b)}function k(a,b,c){var d=a instanceof Function?a.call(n):o.$re(a);return d?d:void i(b||("string"==typeof a?"expected '"+a+"' got '"+o.currentChar()+"'":"unexpected token"))}function l(a,b){return o.$char(a)?a:void i(b||"expected '"+a+"' got '"+o.currentChar()+"'")}function m(a){var b=c.filename;return{lineNumber:h.getLocation(a,o.getInput()).line+1,fileName:b}}var n,o=g();return{parse:function(g,h,i){var k,l,m,n,p=null,q="";if(l=i&&i.globalVars?j.serializeVars(i.globalVars)+"\n":"",m=i&&i.modifyVars?"\n"+j.serializeVars(i.modifyVars):"",a.pluginManager)for(var r=a.pluginManager.getPreProcessors(),s=0;s<r.length;s++)g=r[s].process(g,{context:a,imports:b,fileInfo:c});(l||i&&i.banner)&&(q=(i&&i.banner?i.banner:"")+l,n=b.contentsIgnoredChars,n[c.filename]=n[c.filename]||0,n[c.filename]+=q.length),g=g.replace(/\r\n?/g,"\n"),g=q+g.replace(/^\uFEFF/,"")+m,b.contents[c.filename]=g;try{o.start(g,a.chunkInput,function(a,e){throw new d({index:e,type:"Parse",message:a,filename:c.filename},b)}),k=new e.Ruleset(null,this.parsers.primary()),k.root=!0,k.firstRoot=!0}catch(t){return h(new d(t,b,c.filename))}var u=o.end();if(!u.isFinished){var v=u.furthestPossibleErrorMessage;v||(v="Unrecognised input","}"===u.furthestChar?v+=". Possibly missing opening '{'":")"===u.furthestChar?v+=". Possibly missing opening '('":u.furthestReachedEnd&&(v+=". Possibly missing something")),p=new d({type:"Parse",message:v,index:u.furthest,filename:c.filename},b)}var w=function(a){return a=p||a||b.error,a?(a instanceof d||(a=new d(a,b,c.filename)),h(a)):h(null,k)};return a.processImports===!1?w():void new f.ImportVisitor(b,w).run(k)},parsers:n={primary:function(){for(var a,b=this.mixin,c=[];;){for(;;){if(a=this.comment(),!a)break;c.push(a)}if(o.finished)break;if(o.peek("}"))break;if(a=this.extendRule())c=c.concat(a);else if(a=b.definition()||this.rule()||this.ruleset()||b.call()||this.rulesetCall()||this.entities.call()||this.directive())c.push(a);else{for(var d=!1;o.$char(";");)d=!0;if(!d)break}}return c},comment:function(){if(o.commentStore.length){var a=o.commentStore.shift();return new e.Comment(a.text,a.isLineComment,a.index,c)}},entities:{quoted:function(){var a,b=o.i,d=!1;return o.save(),o.$char("~")&&(d=!0),(a=o.$quoted())?(o.forget(),new e.Quoted(a.charAt(0),a.substr(1,a.length-2),d,b,c)):void o.restore()},keyword:function(){var a=o.$char("%")||o.$re(/^[_A-Za-z-][_A-Za-z0-9-]*/);if(a)return e.Color.fromKeyword(a)||new e.Keyword(a)},call:function(){var a,b,d,f,g=o.i;if(!o.peek(/^url\(/i))return o.save(),(a=o.$re(/^([\w-]+|%|progid:[\w\.]+)\(/))?(a=a[1],b=a.toLowerCase(),"alpha"===b&&(f=n.alpha())?(o.forget(),f):(d=this.arguments(),o.$char(")")?(o.forget(),new e.Call(a,d,g,c)):void o.restore("Could not parse call arguments or missing ')'"))):void o.forget()},arguments:function(){var a,b,c,d=[],f=[],g=[];for(o.save();;){if(c=n.detachedRuleset()||this.assignment()||n.expression(),!c)break;b=c,c.value&&1==c.value.length&&(b=c.value[0]),b&&g.push(b),f.push(b),o.$char(",")||(o.$char(";")||a)&&(a=!0,g.length>1&&(b=new e.Value(g)),d.push(b),g=[])}return o.forget(),a?d:f},literal:function(){return this.dimension()||this.color()||this.quoted()||this.unicodeDescriptor()},assignment:function(){var a,b;return o.save(),(a=o.$re(/^\w+(?=\s?=)/i))&&o.$char("=")&&(b=n.entity())?(o.forget(),new e.Assignment(a,b)):void o.restore()},url:function(){var a,b=o.i;return o.autoCommentAbsorb=!1,o.$str("url(")?(a=this.quoted()||this.variable()||o.$re(/^(?:(?:\\[\(\)'"])|[^\(\)'"])+/)||"",o.autoCommentAbsorb=!0,l(")"),new e.URL(null!=a.value||a instanceof e.Variable?a:new e.Anonymous(a),b,c)):void(o.autoCommentAbsorb=!0)},variable:function(){var a,b=o.i;if("@"===o.currentChar()&&(a=o.$re(/^@@?[\w-]+/)))return new e.Variable(a,b,c)},variableCurly:function(){var a,b=o.i;if("@"===o.currentChar()&&(a=o.$re(/^@\{([\w-]+)\}/)))return new e.Variable("@"+a[1],b,c)},color:function(){var a;if("#"===o.currentChar()&&(a=o.$re(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})/))){var b=a.input.match(/^#([\w]+).*/);return b=b[1],b.match(/^[A-Fa-f0-9]+$/)||i("Invalid HEX color code"),new e.Color(a[1],(void 0),"#"+b)}},colorKeyword:function(){o.save();var a=o.autoCommentAbsorb;o.autoCommentAbsorb=!1;var b=o.$re(/^[_A-Za-z-][_A-Za-z0-9-]+/);if(o.autoCommentAbsorb=a,!b)return void o.forget();o.restore();var c=e.Color.fromKeyword(b);return c?(o.$str(b),c):void 0},dimension:function(){if(!o.peekNotNumeric()){var a=o.$re(/^([+-]?\d*\.?\d+)(%|[a-z_]+)?/i);return a?new e.Dimension(a[1],a[2]):void 0}},unicodeDescriptor:function(){var a;if(a=o.$re(/^U\+[0-9a-fA-F?]+(\-[0-9a-fA-F?]+)?/))return new e.UnicodeDescriptor(a[0])},javascript:function(){var a,b=o.i;o.save();var d=o.$char("~"),f=o.$char("`");return f?(a=o.$re(/^[^`]*`/))?(o.forget(),new e.JavaScript(a.substr(0,a.length-1),Boolean(d),b,c)):void o.restore("invalid javascript definition"):void o.restore()}},variable:function(){var a;if("@"===o.currentChar()&&(a=o.$re(/^(@[\w-]+)\s*:/)))return a[1]},rulesetCall:function(){var a;if("@"===o.currentChar()&&(a=o.$re(/^(@[\w-]+)\(\s*\)\s*;/)))return new e.RulesetCall(a[1])},extend:function(a){var b,d,f,g,h,j=o.i;if(o.$str(a?"&:extend(":":extend(")){do{for(f=null,b=null;!(f=o.$re(/^(all)(?=\s*(\)|,))/))&&(d=this.element());)b?b.push(d):b=[d];f=f&&f[1],b||i("Missing target selector for :extend()."),h=new e.Extend(new e.Selector(b),f,j,c),g?g.push(h):g=[h]}while(o.$char(","));return k(/^\)/),a&&k(/^;/),g}},extendRule:function(){return this.extend(!0)},mixin:{call:function(){var a,b,d,f,g,h,i=o.currentChar(),j=!1,k=o.i;if("."===i||"#"===i){for(o.save();;){if(a=o.i,f=o.$re(/^[#.](?:[\w-]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+/),!f)break;d=new e.Element(g,f,a,c),b?b.push(d):b=[d],g=o.$char(">")}return b&&(o.$char("(")&&(h=this.args(!0).args,l(")")),n.important()&&(j=!0),n.end())?(o.forget(),new e.mixin.Call(b,h,k,c,j)):void o.restore()}},args:function(a){var b,c,d,f,g,h,j,k=n.entities,l={args:null,variadic:!1},m=[],p=[],q=[];for(o.save();;){if(a)h=n.detachedRuleset()||n.expression();else{if(o.commentStore.length=0,o.$str("...")){l.variadic=!0,o.$char(";")&&!b&&(b=!0),(b?p:q).push({variadic:!0});break}h=k.variable()||k.literal()||k.keyword()}if(!h)break;f=null,h.throwAwayComments&&h.throwAwayComments(),g=h;var r=null;if(a?h.value&&1==h.value.length&&(r=h.value[0]):r=h,r&&r instanceof e.Variable)if(o.$char(":")){if(m.length>0&&(b&&i("Cannot mix ; and , as delimiter types"),c=!0),g=n.detachedRuleset()||n.expression(),!g){if(!a)return o.restore(),l.args=[],l;i("could not understand value for named argument")}f=d=r.name}else if(o.$str("...")){if(!a){l.variadic=!0,o.$char(";")&&!b&&(b=!0),(b?p:q).push({name:h.name,variadic:!0});break}j=!0}else a||(d=f=r.name,g=null);g&&m.push(g),q.push({name:f,value:g,expand:j}),o.$char(",")||(o.$char(";")||b)&&(c&&i("Cannot mix ; and , as delimiter types"),b=!0,m.length>1&&(g=new e.Value(m)),p.push({name:d,value:g,expand:j}),d=null,m=[],c=!1)}return o.forget(),l.args=b?p:q,l},definition:function(){var a,b,c,d,f=[],g=!1;if(!("."!==o.currentChar()&&"#"!==o.currentChar()||o.peek(/^[^{]*\}/)))if(o.save(),b=o.$re(/^([#.](?:[\w-]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+)\s*\(/)){a=b[1];var h=this.args(!1);if(f=h.args,g=h.variadic,!o.$char(")"))return void o.restore("Missing closing ')'");if(o.commentStore.length=0,o.$str("when")&&(d=k(n.conditions,"expected condition")),c=n.block())return o.forget(),new e.mixin.Definition(a,f,c,d,g);o.restore()}else o.forget()}},entity:function(){var a=this.entities;return this.comment()||a.literal()||a.variable()||a.url()||a.call()||a.keyword()||a.javascript()},end:function(){return o.$char(";")||o.peek("}")},alpha:function(){var a;if(o.$re(/^opacity=/i))return a=o.$re(/^\d+/),a||(a=k(this.entities.variable,"Could not parse alpha")),l(")"),new e.Alpha(a)},element:function(){var a,b,d,f=o.i;if(b=this.combinator(),a=o.$re(/^(?:\d+\.\d+|\d+)%/)||o.$re(/^(?:[.#]?|:*)(?:[\w-]|[^\x00-\x9f]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+/)||o.$char("*")||o.$char("&")||this.attribute()||o.$re(/^\([^&()@]+\)/)||o.$re(/^[\.#:](?=@)/)||this.entities.variableCurly(),a||(o.save(),o.$char("(")?(d=this.selector())&&o.$char(")")?(a=new e.Paren(d),o.forget()):o.restore("Missing closing ')'"):o.forget()),a)return new e.Element(b,a,f,c)},combinator:function(){var a=o.currentChar();if("/"===a){o.save();var b=o.$re(/^\/[a-z]+\//i);if(b)return o.forget(),new e.Combinator(b);o.restore()}if(">"===a||"+"===a||"~"===a||"|"===a||"^"===a){for(o.i++,"^"===a&&"^"===o.currentChar()&&(a="^^",o.i++);o.isWhitespace();)o.i++;return new e.Combinator(a)}return new e.Combinator(o.isWhitespace(-1)?" ":null)},lessSelector:function(){return this.selector(!0)},selector:function(a){for(var b,d,f,g,h,j,l,m=o.i;(a&&(d=this.extend())||a&&(j=o.$str("when"))||(g=this.element()))&&(j?l=k(this.conditions,"expected condition"):l?i("CSS guard can only be used at the end of selector"):d?h=h?h.concat(d):d:(h&&i("Extend can only be used at the end of selector"),f=o.currentChar(),b?b.push(g):b=[g],g=null),"{"!==f&&"}"!==f&&";"!==f&&","!==f&&")"!==f););return b?new e.Selector(b,h,l,m,c):void(h&&i("Extend must be used to extend a selector, it cannot be used on its own"))},attribute:function(){if(o.$char("[")){var a,b,c,d=this.entities;return(a=d.variableCurly())||(a=k(/^(?:[_A-Za-z0-9-\*]*\|)?(?:[_A-Za-z0-9-]|\\.)+/)),c=o.$re(/^[|~*$^]?=/),c&&(b=d.quoted()||o.$re(/^[0-9]+%/)||o.$re(/^[\w-]+/)||d.variableCurly()),l("]"),new e.Attribute(a,c,b)}},block:function(){var a;if(o.$char("{")&&(a=this.primary())&&o.$char("}"))return a},blockRuleset:function(){var a=this.block();return a&&(a=new e.Ruleset(null,a)),a},detachedRuleset:function(){var a=this.blockRuleset();if(a)return new e.DetachedRuleset(a)},ruleset:function(){var b,c,d,f;for(o.save(),a.dumpLineNumbers&&(f=m(o.i));;){if(c=this.lessSelector(),!c)break;if(b?b.push(c):b=[c],o.commentStore.length=0,c.condition&&b.length>1&&i("Guards are only currently allowed on a single selector."),!o.$char(","))break;c.condition&&i("Guards are only currently allowed on a single selector."),o.commentStore.length=0}if(b&&(d=this.block())){o.forget();var g=new e.Ruleset(b,d,a.strictImports);return a.dumpLineNumbers&&(g.debugInfo=f),g}o.restore()},rule:function(b){var d,f,g,h,i,j=o.i,k=o.currentChar();if("."!==k&&"#"!==k&&"&"!==k&&":"!==k)if(o.save(),d=this.variable()||this.ruleProperty()){if(i="string"==typeof d,i&&(f=this.detachedRuleset()),o.commentStore.length=0,!f){h=!i&&d.length>1&&d.pop().value;var l=!b&&(a.compress||i);if(l&&(f=this.value()),!f&&(f=this.anonymousValue()))return o.forget(),new e.Rule(d,f,(!1),h,j,c);l||f||(f=this.value()),g=this.important()}if(f&&this.end())return o.forget(),new e.Rule(d,f,g,h,j,c);if(o.restore(),f&&!b)return this.rule(!0)}else o.forget()},anonymousValue:function(){var a=o.$re(/^([^@+\/'"*`(;{}-]*);/);if(a)return new e.Anonymous(a[1])},"import":function(){var a,b,d=o.i,f=o.$re(/^@import?\s+/);if(f){var g=(f?this.importOptions():null)||{};if(a=this.entities.quoted()||this.entities.url())return b=this.mediaFeatures(),o.$char(";")||(o.i=d,i("missing semi-colon or unrecognised media features on import")),b=b&&new e.Value(b),new e.Import(a,b,g,d,c);o.i=d,i("malformed import statement")}},importOptions:function(){var a,b,c,d={};if(!o.$char("("))return null;do if(a=this.importOption()){switch(b=a,c=!0,b){case"css":b="less",c=!1;break;case"once":b="multiple",c=!1}if(d[b]=c,!o.$char(","))break}while(a);return l(")"),d},importOption:function(){var a=o.$re(/^(less|css|multiple|once|inline|reference|optional)/);if(a)return a[1]},mediaFeature:function(){var a,b,d=this.entities,f=[];o.save();do a=d.keyword()||d.variable(),a?f.push(a):o.$char("(")&&(b=this.property(),a=this.value(),o.$char(")")?b&&a?f.push(new e.Paren(new e.Rule(b,a,null,null,o.i,c,(!0)))):a?f.push(new e.Paren(a)):i("badly formed media feature definition"):i("Missing closing ')'","Parse"));while(a);if(o.forget(),f.length>0)return new e.Expression(f)},mediaFeatures:function(){var a,b=this.entities,c=[];do if(a=this.mediaFeature()){if(c.push(a),!o.$char(","))break}else if(a=b.variable(),a&&(c.push(a),!o.$char(",")))break;while(a);return c.length>0?c:null},media:function(){var b,d,f,g,h=o.i;return a.dumpLineNumbers&&(g=m(h)),o.save(),o.$str("@media")?(b=this.mediaFeatures(),d=this.block(),d||i("media definitions require block statements after any features"),o.forget(),f=new e.Media(d,b,h,c),a.dumpLineNumbers&&(f.debugInfo=g),f):void o.restore()},plugin:function(){var a,b=o.i,d=o.$re(/^@plugin?\s+/);if(d){var f={plugin:!0};if(a=this.entities.quoted()||this.entities.url())return o.$char(";")||(o.i=b,i("missing semi-colon on plugin")),new e.Import(a,null,f,b,c);o.i=b,i("malformed plugin statement")}},directive:function(){var b,d,f,g,h,j,k,l=o.i,n=!0,p=!0;if("@"===o.currentChar()){if(d=this["import"]()||this.plugin()||this.media())return d;if(o.save(),b=o.$re(/^@[a-z-]+/)){switch(g=b,"-"==b.charAt(1)&&b.indexOf("-",2)>0&&(g="@"+b.slice(b.indexOf("-",2)+1)),g){case"@charset":h=!0,n=!1;break;case"@namespace":j=!0,n=!1;break;case"@keyframes":case"@counter-style":h=!0;break;case"@document":case"@supports":k=!0,p=!1;break;default:k=!0}return o.commentStore.length=0,h?(d=this.entity(),d||i("expected "+b+" identifier")):j?(d=this.expression(),d||i("expected "+b+" expression")):k&&(d=(o.$re(/^[^{;]+/)||"").trim(),n="{"==o.currentChar(),d&&(d=new e.Anonymous(d))),n&&(f=this.blockRuleset()),f||!n&&d&&o.$char(";")?(o.forget(),new e.Directive(b,d,f,l,c,a.dumpLineNumbers?m(l):null,p)):void o.restore("directive options not recognised")}}},value:function(){var a,b=[];do if(a=this.expression(),a&&(b.push(a),!o.$char(",")))break;while(a);if(b.length>0)return new e.Value(b)},important:function(){if("!"===o.currentChar())return o.$re(/^! *important/)},sub:function(){var a,b;return o.save(),o.$char("(")?(a=this.addition(),a&&o.$char(")")?(o.forget(),b=new e.Expression([a]),b.parens=!0,b):void o.restore("Expected ')'")):void o.restore()},multiplication:function(){var a,b,c,d,f;if(a=this.operand()){for(f=o.isWhitespace(-1);;){if(o.peek(/^\/[*\/]/))break;if(o.save(),c=o.$char("/")||o.$char("*"),!c){o.forget();break}if(b=this.operand(),!b){o.restore();break}o.forget(),a.parensInOp=!0,b.parensInOp=!0,d=new e.Operation(c,[d||a,b],f),f=o.isWhitespace(-1)}return d||a}},addition:function(){var a,b,c,d,f;if(a=this.multiplication()){for(f=o.isWhitespace(-1);;){if(c=o.$re(/^[-+]\s+/)||!f&&(o.$char("+")||o.$char("-")),!c)break;if(b=this.multiplication(),!b)break;a.parensInOp=!0,b.parensInOp=!0,d=new e.Operation(c,[d||a,b],f),f=o.isWhitespace(-1)}return d||a}},conditions:function(){var a,b,c,d=o.i;if(a=this.condition()){for(;;){if(!o.peek(/^,\s*(not\s*)?\(/)||!o.$char(","))break;if(b=this.condition(),!b)break;c=new e.Condition("or",c||a,b,d)}return c||a}},condition:function(){function a(){return o.$str("or")}var b,c,d;if(b=this.conditionAnd(this)){if(c=a()){if(d=this.condition(),!d)return;b=new e.Condition(c,b,d)}return b}},conditionAnd:function(){function a(a){return a.negatedCondition()||a.parenthesisCondition()}function b(){return o.$str("and")}var c,d,f;if(c=a(this)){if(d=b()){if(f=this.conditionAnd(),!f)return;c=new e.Condition(d,c,f)}return c}},negatedCondition:function(){if(o.$str("not")){var a=this.parenthesisCondition();return a&&(a.negate=!a.negate),a}},parenthesisCondition:function(){function a(a){var b;return o.save(),(b=a.condition())&&o.$char(")")?(o.forget(),b):void o.restore()}var b;return o.save(),o.$str("(")?(b=a(this))?(o.forget(),b):(b=this.atomicCondition())?o.$char(")")?(o.forget(),b):void o.restore("expected ')' got '"+o.currentChar()+"'"):void o.restore():void o.restore()},atomicCondition:function(){var a,b,c,d,f=this.entities,g=o.i;if(a=this.addition()||f.keyword()||f.quoted())return o.$char(">")?d=o.$char("=")?">=":">":o.$char("<")?d=o.$char("=")?"<=":"<":o.$char("=")&&(d=o.$char(">")?"=>":o.$char("<")?"=<":"="),d?(b=this.addition()||f.keyword()||f.quoted(),b?c=new e.Condition(d,a,b,g,(!1)):i("expected expression")):c=new e.Condition("=",a,new e.Keyword("true"),g,(!1)),c},operand:function(){var a,b=this.entities;o.peek(/^-[@\(]/)&&(a=o.$char("-"));var c=this.sub()||b.dimension()||b.color()||b.variable()||b.call()||b.colorKeyword();return a&&(c.parensInOp=!0,c=new e.Negative(c)),c},expression:function(){var a,b,c=[];do a=this.comment(),a?c.push(a):(a=this.addition()||this.entity(),a&&(c.push(a),o.peek(/^\/[\/*]/)||(b=o.$char("/"),b&&c.push(new e.Anonymous(b)))));while(a);if(c.length>0)return new e.Expression(c)},property:function(){var a=o.$re(/^(\*?-?[_a-zA-Z0-9-]+)\s*:/);if(a)return a[1]},ruleProperty:function(){function a(a){var b=o.i,c=o.$re(a);if(c)return g.push(b),f.push(c[1])}var b,d,f=[],g=[];o.save();var h=o.$re(/^([_a-zA-Z0-9-]+)\s*:/);if(h)return f=[new e.Keyword(h[1])],o.forget(),f;for(a(/^(\*?)/);;)if(!a(/^((?:[\w-]+)|(?:@\{[\w-]+\}))/))break;if(f.length>1&&a(/^((?:\+_|\+)?)\s*:/)){for(o.forget(),""===f[0]&&(f.shift(),g.shift()),d=0;d<f.length;d++)b=f[d],f[d]="@"!==b.charAt(0)?new e.Keyword(b):new e.Variable("@"+b.slice(2,-1),g[d],c);return f}o.restore()}}}};i.serializeVars=function(a){var b="";for(var c in a)if(Object.hasOwnProperty.call(a,c)){var d=a[c];b+=("@"===c[0]?"":"@")+c+": "+d+(";"===String(d).slice(-1)?"":";")}return b},b.exports=i},{"../less-error":32,"../tree":62,"../utils":83,"../visitors":87,"./parser-input":37}],39:[function(a,b,c){var d=function(a){this.less=a,this.visitors=[],this.preProcessors=[],this.postProcessors=[],this.installedPlugins=[],this.fileManagers=[]};d.prototype.addPlugins=function(a){if(a)for(var b=0;b<a.length;b++)this.addPlugin(a[b])},d.prototype.addPlugin=function(a){this.installedPlugins.push(a),a.install(this.less,this)},d.prototype.addVisitor=function(a){this.visitors.push(a)},d.prototype.addPreProcessor=function(a,b){var c;for(c=0;c<this.preProcessors.length&&!(this.preProcessors[c].priority>=b);c++);this.preProcessors.splice(c,0,{preProcessor:a,priority:b})},d.prototype.addPostProcessor=function(a,b){var c;for(c=0;c<this.postProcessors.length&&!(this.postProcessors[c].priority>=b);c++);this.postProcessors.splice(c,0,{postProcessor:a,priority:b})},d.prototype.addFileManager=function(a){this.fileManagers.push(a)},d.prototype.getPreProcessors=function(){for(var a=[],b=0;b<this.preProcessors.length;b++)a.push(this.preProcessors[b].preProcessor);return a},d.prototype.getPostProcessors=function(){for(var a=[],b=0;b<this.postProcessors.length;b++)a.push(this.postProcessors[b].postProcessor);return a},d.prototype.getVisitors=function(){return this.visitors},d.prototype.getFileManagers=function(){return this.fileManagers},b.exports=d},{}],40:[function(a,b,c){var d=a("../less-error"),e=a("../tree"),f=b.exports=function(a,b){this.fileInfo=b};f.prototype.eval=function(a,b){var c,f,g={};f={add:function(a,b){g[a]=b},addMultiple:function(a){Object.keys(a).forEach(function(b){g[b]=a[b]})}};try{c=new Function("functions","tree","fileInfo",a),
-c(f,e,this.fileInfo)}catch(h){b(new d({message:"Plugin evaluation error: '"+h.name+": "+h.message.replace(/["]/g,"'")+"'",filename:this.fileInfo.filename}),null)}b(null,{functions:g})}},{"../less-error":32,"../tree":62}],41:[function(a,b,c){var d;b.exports=function(b,c,e){var f=function(b,e,g){if("function"==typeof e&&(g=e,e={}),!g){d||(d="undefined"==typeof Promise?a("promise"):Promise);var h=this;return new d(function(a,c){f.call(h,b,e,function(b,d){b?c(b):a(d)})})}this.parse(b,e,function(a,b,d,e){if(a)return g(a);var f;try{var h=new c(b,d);f=h.toCSS(e)}catch(a){return g(a)}g(null,f)})};return f}},{promise:void 0}],42:[function(a,b,c){b.exports=function(a,b){var c=function(a){this.options=a};return c.prototype.toCSS=function(b,c,d){var e=new a({contentsIgnoredCharsMap:d.contentsIgnoredChars,rootNode:b,contentsMap:d.contents,sourceMapFilename:this.options.sourceMapFilename,sourceMapURL:this.options.sourceMapURL,outputFilename:this.options.sourceMapOutputFilename,sourceMapBasepath:this.options.sourceMapBasepath,sourceMapRootpath:this.options.sourceMapRootpath,outputSourceFiles:this.options.outputSourceFiles,sourceMapGenerator:this.options.sourceMapGenerator,sourceMapFileInline:this.options.sourceMapFileInline}),f=e.toCSS(c);return this.sourceMap=e.sourceMap,this.sourceMapURL=e.sourceMapURL,this.options.sourceMapInputFilename&&(this.sourceMapInputFilename=e.normalizeFilename(this.options.sourceMapInputFilename)),f+this.getCSSAppendage()},c.prototype.getCSSAppendage=function(){var a=this.sourceMapURL;if(this.options.sourceMapFileInline){if(void 0===this.sourceMap)return"";a="data:application/json;base64,"+b.encodeBase64(this.sourceMap)}return a?"/*# sourceMappingURL="+a+" */":""},c.prototype.getExternalSourceMap=function(){return this.sourceMap},c.prototype.setExternalSourceMap=function(a){this.sourceMap=a},c.prototype.isInline=function(){return this.options.sourceMapFileInline},c.prototype.getSourceMapURL=function(){return this.sourceMapURL},c.prototype.getOutputFilename=function(){return this.options.sourceMapOutputFilename},c.prototype.getInputFilename=function(){return this.sourceMapInputFilename},c}},{}],43:[function(a,b,c){b.exports=function(a){var b=function(b){this._css=[],this._rootNode=b.rootNode,this._contentsMap=b.contentsMap,this._contentsIgnoredCharsMap=b.contentsIgnoredCharsMap,b.sourceMapFilename&&(this._sourceMapFilename=b.sourceMapFilename.replace(/\\/g,"/")),this._outputFilename=b.outputFilename,this.sourceMapURL=b.sourceMapURL,b.sourceMapBasepath&&(this._sourceMapBasepath=b.sourceMapBasepath.replace(/\\/g,"/")),b.sourceMapRootpath?(this._sourceMapRootpath=b.sourceMapRootpath.replace(/\\/g,"/"),"/"!==this._sourceMapRootpath.charAt(this._sourceMapRootpath.length-1)&&(this._sourceMapRootpath+="/")):this._sourceMapRootpath="",this._outputSourceFiles=b.outputSourceFiles,this._sourceMapGeneratorConstructor=a.getSourceMapGenerator(),this._lineNumber=0,this._column=0};return b.prototype.normalizeFilename=function(a){return a=a.replace(/\\/g,"/"),this._sourceMapBasepath&&0===a.indexOf(this._sourceMapBasepath)&&(a=a.substring(this._sourceMapBasepath.length),"\\"!==a.charAt(0)&&"/"!==a.charAt(0)||(a=a.substring(1))),(this._sourceMapRootpath||"")+a},b.prototype.add=function(a,b,c,d){if(a){var e,f,g,h,i;if(b){var j=this._contentsMap[b.filename];this._contentsIgnoredCharsMap[b.filename]&&(c-=this._contentsIgnoredCharsMap[b.filename],c<0&&(c=0),j=j.slice(this._contentsIgnoredCharsMap[b.filename])),j=j.substring(0,c),f=j.split("\n"),h=f[f.length-1]}if(e=a.split("\n"),g=e[e.length-1],b)if(d)for(i=0;i<e.length;i++)this._sourceMapGenerator.addMapping({generated:{line:this._lineNumber+i+1,column:0===i?this._column:0},original:{line:f.length+i,column:0===i?h.length:0},source:this.normalizeFilename(b.filename)});else this._sourceMapGenerator.addMapping({generated:{line:this._lineNumber+1,column:this._column},original:{line:f.length,column:h.length},source:this.normalizeFilename(b.filename)});1===e.length?this._column+=g.length:(this._lineNumber+=e.length-1,this._column=g.length),this._css.push(a)}},b.prototype.isEmpty=function(){return 0===this._css.length},b.prototype.toCSS=function(a){if(this._sourceMapGenerator=new this._sourceMapGeneratorConstructor({file:this._outputFilename,sourceRoot:null}),this._outputSourceFiles)for(var b in this._contentsMap)if(this._contentsMap.hasOwnProperty(b)){var c=this._contentsMap[b];this._contentsIgnoredCharsMap[b]&&(c=c.slice(this._contentsIgnoredCharsMap[b])),this._sourceMapGenerator.setSourceContent(this.normalizeFilename(b),c)}if(this._rootNode.genCSS(a,this),this._css.length>0){var d,e=JSON.stringify(this._sourceMapGenerator.toJSON());this.sourceMapURL?d=this.sourceMapURL:this._sourceMapFilename&&(d=this._sourceMapFilename),this.sourceMapURL=d,this.sourceMap=e}return this._css.join("")},b}},{}],44:[function(a,b,c){var d=a("./contexts"),e=a("./visitors"),f=a("./tree");b.exports=function(a,b){b=b||{};var c,g=b.variables,h=new d.Eval(b);"object"!=typeof g||Array.isArray(g)||(g=Object.keys(g).map(function(a){var b=g[a];return b instanceof f.Value||(b instanceof f.Expression||(b=new f.Expression([b])),b=new f.Value([b])),new f.Rule("@"+a,b,(!1),null,0)}),h.frames=[new f.Ruleset(null,g)]);var i,j=[],k=[new e.JoinSelectorVisitor,new e.MarkVisibleSelectorsVisitor((!0)),new e.ExtendVisitor,new e.ToCSSVisitor({compress:Boolean(b.compress)})];if(b.pluginManager){var l=b.pluginManager.getVisitors();for(i=0;i<l.length;i++){var m=l[i];m.isPreEvalVisitor?j.push(m):m.isPreVisitor?k.splice(0,0,m):k.push(m)}}for(i=0;i<j.length;i++)j[i].run(a);for(c=a.eval(h),i=0;i<k.length;i++)k[i].run(c);return c}},{"./contexts":11,"./tree":62,"./visitors":87}],45:[function(a,b,c){var d=a("./node"),e=function(a){this.value=a};e.prototype=new d,e.prototype.type="Alpha",e.prototype.accept=function(a){this.value=a.visit(this.value)},e.prototype.eval=function(a){return this.value.eval?new e(this.value.eval(a)):this},e.prototype.genCSS=function(a,b){b.add("alpha(opacity="),this.value.genCSS?this.value.genCSS(a,b):b.add(this.value),b.add(")")},b.exports=e},{"./node":70}],46:[function(a,b,c){var d=a("./node"),e=function(a,b,c,d,e,f){this.value=a,this.index=b,this.mapLines=d,this.currentFileInfo=c,this.rulesetLike="undefined"!=typeof e&&e,this.allowRoot=!0,this.copyVisibilityInfo(f)};e.prototype=new d,e.prototype.type="Anonymous",e.prototype.eval=function(){return new e(this.value,this.index,this.currentFileInfo,this.mapLines,this.rulesetLike,this.visibilityInfo())},e.prototype.compare=function(a){return a.toCSS&&this.toCSS()===a.toCSS()?0:void 0},e.prototype.isRulesetLike=function(){return this.rulesetLike},e.prototype.genCSS=function(a,b){b.add(this.value,this.currentFileInfo,this.index,this.mapLines)},b.exports=e},{"./node":70}],47:[function(a,b,c){var d=a("./node"),e=function(a,b){this.key=a,this.value=b};e.prototype=new d,e.prototype.type="Assignment",e.prototype.accept=function(a){this.value=a.visit(this.value)},e.prototype.eval=function(a){return this.value.eval?new e(this.key,this.value.eval(a)):this},e.prototype.genCSS=function(a,b){b.add(this.key+"="),this.value.genCSS?this.value.genCSS(a,b):b.add(this.value)},b.exports=e},{"./node":70}],48:[function(a,b,c){var d=a("./node"),e=function(a,b,c){this.key=a,this.op=b,this.value=c};e.prototype=new d,e.prototype.type="Attribute",e.prototype.eval=function(a){return new e(this.key.eval?this.key.eval(a):this.key,this.op,this.value&&this.value.eval?this.value.eval(a):this.value)},e.prototype.genCSS=function(a,b){b.add(this.toCSS(a))},e.prototype.toCSS=function(a){var b=this.key.toCSS?this.key.toCSS(a):this.key;return this.op&&(b+=this.op,b+=this.value.toCSS?this.value.toCSS(a):this.value),"["+b+"]"},b.exports=e},{"./node":70}],49:[function(a,b,c){var d=a("./node"),e=a("../functions/function-caller"),f=function(a,b,c,d){this.name=a,this.args=b,this.index=c,this.currentFileInfo=d};f.prototype=new d,f.prototype.type="Call",f.prototype.accept=function(a){this.args&&(this.args=a.visitArray(this.args))},f.prototype.eval=function(a){var b,c=this.args.map(function(b){return b.eval(a)}),d=new e(this.name,a,this.index,this.currentFileInfo);if(d.isValid()){try{b=d.call(c)}catch(g){throw{type:g.type||"Runtime",message:"error evaluating function `"+this.name+"`"+(g.message?": "+g.message:""),index:this.index,filename:this.currentFileInfo.filename}}if(null!=b)return b.index=this.index,b.currentFileInfo=this.currentFileInfo,b}return new f(this.name,c,this.index,this.currentFileInfo)},f.prototype.genCSS=function(a,b){b.add(this.name+"(",this.currentFileInfo,this.index);for(var c=0;c<this.args.length;c++)this.args[c].genCSS(a,b),c+1<this.args.length&&b.add(", ");b.add(")")},b.exports=f},{"../functions/function-caller":21,"./node":70}],50:[function(a,b,c){function d(a,b){return Math.min(Math.max(a,0),b)}function e(a){return"#"+a.map(function(a){return a=d(Math.round(a),255),(a<16?"0":"")+a.toString(16)}).join("")}var f=a("./node"),g=a("../data/colors"),h=function(a,b,c){this.rgb=Array.isArray(a)?a:6==a.length?a.match(/.{2}/g).map(function(a){return parseInt(a,16)}):a.split("").map(function(a){return parseInt(a+a,16)}),this.alpha="number"==typeof b?b:1,"undefined"!=typeof c&&(this.value=c)};h.prototype=new f,h.prototype.type="Color",h.prototype.luma=function(){var a=this.rgb[0]/255,b=this.rgb[1]/255,c=this.rgb[2]/255;return a=a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4),b=b<=.03928?b/12.92:Math.pow((b+.055)/1.055,2.4),c=c<=.03928?c/12.92:Math.pow((c+.055)/1.055,2.4),.2126*a+.7152*b+.0722*c},h.prototype.genCSS=function(a,b){b.add(this.toCSS(a))},h.prototype.toCSS=function(a,b){var c,e,f=a&&a.compress&&!b;if(this.value)return this.value;if(e=this.fround(a,this.alpha),e<1)return"rgba("+this.rgb.map(function(a){return d(Math.round(a),255)}).concat(d(e,1)).join(","+(f?"":" "))+")";if(c=this.toRGB(),f){var g=c.split("");g[1]===g[2]&&g[3]===g[4]&&g[5]===g[6]&&(c="#"+g[1]+g[3]+g[5])}return c},h.prototype.operate=function(a,b,c){for(var d=[],e=this.alpha*(1-c.alpha)+c.alpha,f=0;f<3;f++)d[f]=this._operate(a,b,this.rgb[f],c.rgb[f]);return new h(d,e)},h.prototype.toRGB=function(){return e(this.rgb)},h.prototype.toHSL=function(){var a,b,c=this.rgb[0]/255,d=this.rgb[1]/255,e=this.rgb[2]/255,f=this.alpha,g=Math.max(c,d,e),h=Math.min(c,d,e),i=(g+h)/2,j=g-h;if(g===h)a=b=0;else{switch(b=i>.5?j/(2-g-h):j/(g+h),g){case c:a=(d-e)/j+(d<e?6:0);break;case d:a=(e-c)/j+2;break;case e:a=(c-d)/j+4}a/=6}return{h:360*a,s:b,l:i,a:f}},h.prototype.toHSV=function(){var a,b,c=this.rgb[0]/255,d=this.rgb[1]/255,e=this.rgb[2]/255,f=this.alpha,g=Math.max(c,d,e),h=Math.min(c,d,e),i=g,j=g-h;if(b=0===g?0:j/g,g===h)a=0;else{switch(g){case c:a=(d-e)/j+(d<e?6:0);break;case d:a=(e-c)/j+2;break;case e:a=(c-d)/j+4}a/=6}return{h:360*a,s:b,v:i,a:f}},h.prototype.toARGB=function(){return e([255*this.alpha].concat(this.rgb))},h.prototype.compare=function(a){return a.rgb&&a.rgb[0]===this.rgb[0]&&a.rgb[1]===this.rgb[1]&&a.rgb[2]===this.rgb[2]&&a.alpha===this.alpha?0:void 0},h.fromKeyword=function(a){var b,c=a.toLowerCase();if(g.hasOwnProperty(c)?b=new h(g[c].slice(1)):"transparent"===c&&(b=new h([0,0,0],0)),b)return b.value=a,b},b.exports=h},{"../data/colors":12,"./node":70}],51:[function(a,b,c){var d=a("./node"),e=function(a){" "===a?(this.value=" ",this.emptyOrWhitespace=!0):(this.value=a?a.trim():"",this.emptyOrWhitespace=""===this.value)};e.prototype=new d,e.prototype.type="Combinator";var f={"":!0," ":!0,"|":!0};e.prototype.genCSS=function(a,b){var c=a.compress||f[this.value]?"":" ";b.add(c+this.value+c)},b.exports=e},{"./node":70}],52:[function(a,b,c){var d=a("./node"),e=a("./debug-info"),f=function(a,b,c,d){this.value=a,this.isLineComment=b,this.index=c,this.currentFileInfo=d,this.allowRoot=!0};f.prototype=new d,f.prototype.type="Comment",f.prototype.genCSS=function(a,b){this.debugInfo&&b.add(e(a,this),this.currentFileInfo,this.index),b.add(this.value)},f.prototype.isSilent=function(a){var b=a.compress&&"!"!==this.value[2];return this.isLineComment||b},b.exports=f},{"./debug-info":54,"./node":70}],53:[function(a,b,c){var d=a("./node"),e=function(a,b,c,d,e){this.op=a.trim(),this.lvalue=b,this.rvalue=c,this.index=d,this.negate=e};e.prototype=new d,e.prototype.type="Condition",e.prototype.accept=function(a){this.lvalue=a.visit(this.lvalue),this.rvalue=a.visit(this.rvalue)},e.prototype.eval=function(a){var b=function(a,b,c){switch(a){case"and":return b&&c;case"or":return b||c;default:switch(d.compare(b,c)){case-1:return"<"===a||"=<"===a||"<="===a;case 0:return"="===a||">="===a||"=<"===a||"<="===a;case 1:return">"===a||">="===a;default:return!1}}}(this.op,this.lvalue.eval(a),this.rvalue.eval(a));return this.negate?!b:b},b.exports=e},{"./node":70}],54:[function(a,b,c){var d=function(a,b,c){var e="";if(a.dumpLineNumbers&&!a.compress)switch(a.dumpLineNumbers){case"comments":e=d.asComment(b);break;case"mediaquery":e=d.asMediaQuery(b);break;case"all":e=d.asComment(b)+(c||"")+d.asMediaQuery(b)}return e};d.asComment=function(a){return"/* line "+a.debugInfo.lineNumber+", "+a.debugInfo.fileName+" */\n"},d.asMediaQuery=function(a){var b=a.debugInfo.fileName;return/^[a-z]+:\/\//i.test(b)||(b="file://"+b),"@media -sass-debug-info{filename{font-family:"+b.replace(/([.:\/\\])/g,function(a){return"\\"==a&&(a="/"),"\\"+a})+"}line{font-family:\\00003"+a.debugInfo.lineNumber+"}}\n"},b.exports=d},{}],55:[function(a,b,c){var d=a("./node"),e=a("../contexts"),f=function(a,b){this.ruleset=a,this.frames=b};f.prototype=new d,f.prototype.type="DetachedRuleset",f.prototype.evalFirst=!0,f.prototype.accept=function(a){this.ruleset=a.visit(this.ruleset)},f.prototype.eval=function(a){var b=this.frames||a.frames.slice(0);return new f(this.ruleset,b)},f.prototype.callEval=function(a){return this.ruleset.eval(this.frames?new e.Eval(a,this.frames.concat(a.frames)):a)},b.exports=f},{"../contexts":11,"./node":70}],56:[function(a,b,c){var d=a("./node"),e=a("../data/unit-conversions"),f=a("./unit"),g=a("./color"),h=function(a,b){this.value=parseFloat(a),this.unit=b&&b instanceof f?b:new f(b?[b]:void 0)};h.prototype=new d,h.prototype.type="Dimension",h.prototype.accept=function(a){this.unit=a.visit(this.unit)},h.prototype.eval=function(a){return this},h.prototype.toColor=function(){return new g([this.value,this.value,this.value])},h.prototype.genCSS=function(a,b){if(a&&a.strictUnits&&!this.unit.isSingular())throw new Error("Multiple units in dimension. Correct the units or use the unit function. Bad unit: "+this.unit.toString());var c=this.fround(a,this.value),d=String(c);if(0!==c&&c<1e-6&&c>-1e-6&&(d=c.toFixed(20).replace(/0+$/,"")),a&&a.compress){if(0===c&&this.unit.isLength())return void b.add(d);c>0&&c<1&&(d=d.substr(1))}b.add(d),this.unit.genCSS(a,b)},h.prototype.operate=function(a,b,c){var d=this._operate(a,b,this.value,c.value),e=this.unit.clone();if("+"===b||"-"===b)if(0===e.numerator.length&&0===e.denominator.length)e=c.unit.clone(),this.unit.backupUnit&&(e.backupUnit=this.unit.backupUnit);else if(0===c.unit.numerator.length&&0===e.denominator.length);else{if(c=c.convertTo(this.unit.usedUnits()),a.strictUnits&&c.unit.toString()!==e.toString())throw new Error("Incompatible units. Change the units or use the unit function. Bad units: '"+e.toString()+"' and '"+c.unit.toString()+"'.");d=this._operate(a,b,this.value,c.value)}else"*"===b?(e.numerator=e.numerator.concat(c.unit.numerator).sort(),e.denominator=e.denominator.concat(c.unit.denominator).sort(),e.cancel()):"/"===b&&(e.numerator=e.numerator.concat(c.unit.denominator).sort(),e.denominator=e.denominator.concat(c.unit.numerator).sort(),e.cancel());return new h(d,e)},h.prototype.compare=function(a){var b,c;if(a instanceof h){if(this.unit.isEmpty()||a.unit.isEmpty())b=this,c=a;else if(b=this.unify(),c=a.unify(),0!==b.unit.compare(c.unit))return;return d.numericCompare(b.value,c.value)}},h.prototype.unify=function(){return this.convertTo({length:"px",duration:"s",angle:"rad"})},h.prototype.convertTo=function(a){var b,c,d,f,g,i=this.value,j=this.unit.clone(),k={};if("string"==typeof a){for(b in e)e[b].hasOwnProperty(a)&&(k={},k[b]=a);a=k}g=function(a,b){return d.hasOwnProperty(a)?(b?i/=d[a]/d[f]:i*=d[a]/d[f],f):a};for(c in a)a.hasOwnProperty(c)&&(f=a[c],d=e[c],j.map(g));return j.cancel(),new h(i,j)},b.exports=h},{"../data/unit-conversions":14,"./color":50,"./node":70,"./unit":79}],57:[function(a,b,c){var d=a("./node"),e=a("./selector"),f=a("./ruleset"),g=function(a,b,c,d,f,g,h,i){var j;if(this.name=a,this.value=b,c)for(Array.isArray(c)?this.rules=c:(this.rules=[c],this.rules[0].selectors=new e([],null,null,this.index,f).createEmptySelectors()),j=0;j<this.rules.length;j++)this.rules[j].allowImports=!0;this.index=d,this.currentFileInfo=f,this.debugInfo=g,this.isRooted=h||!1,this.copyVisibilityInfo(i),this.allowRoot=!0};g.prototype=new d,g.prototype.type="Directive",g.prototype.accept=function(a){var b=this.value,c=this.rules;c&&(this.rules=a.visitArray(c)),b&&(this.value=a.visit(b))},g.prototype.isRulesetLike=function(){return this.rules||!this.isCharset()},g.prototype.isCharset=function(){return"@charset"===this.name},g.prototype.genCSS=function(a,b){var c=this.value,d=this.rules;b.add(this.name,this.currentFileInfo,this.index),c&&(b.add(" "),c.genCSS(a,b)),d?this.outputRuleset(a,b,d):b.add(";")},g.prototype.eval=function(a){var b,c,d=this.value,e=this.rules;return b=a.mediaPath,c=a.mediaBlocks,a.mediaPath=[],a.mediaBlocks=[],d&&(d=d.eval(a)),e&&(e=[e[0].eval(a)],e[0].root=!0),a.mediaPath=b,a.mediaBlocks=c,new g(this.name,d,e,this.index,this.currentFileInfo,this.debugInfo,this.isRooted,this.visibilityInfo())},g.prototype.variable=function(a){if(this.rules)return f.prototype.variable.call(this.rules[0],a)},g.prototype.find=function(){if(this.rules)return f.prototype.find.apply(this.rules[0],arguments)},g.prototype.rulesets=function(){if(this.rules)return f.prototype.rulesets.apply(this.rules[0])},g.prototype.outputRuleset=function(a,b,c){var d,e=c.length;if(a.tabLevel=(0|a.tabLevel)+1,a.compress){for(b.add("{"),d=0;d<e;d++)c[d].genCSS(a,b);return b.add("}"),void a.tabLevel--}var f="\n"+Array(a.tabLevel).join(" "),g=f+" ";if(e){for(b.add(" {"+g),c[0].genCSS(a,b),d=1;d<e;d++)b.add(g),c[d].genCSS(a,b);b.add(f+"}")}else b.add(" {"+f+"}");a.tabLevel--},b.exports=g},{"./node":70,"./ruleset":76,"./selector":77}],58:[function(a,b,c){var d=a("./node"),e=a("./paren"),f=a("./combinator"),g=function(a,b,c,d,e){this.combinator=a instanceof f?a:new f(a),this.value="string"==typeof b?b.trim():b?b:"",this.index=c,this.currentFileInfo=d,this.copyVisibilityInfo(e)};g.prototype=new d,g.prototype.type="Element",g.prototype.accept=function(a){var b=this.value;this.combinator=a.visit(this.combinator),"object"==typeof b&&(this.value=a.visit(b))},g.prototype.eval=function(a){return new g(this.combinator,this.value.eval?this.value.eval(a):this.value,this.index,this.currentFileInfo,this.visibilityInfo())},g.prototype.clone=function(){return new g(this.combinator,this.value,this.index,this.currentFileInfo,this.visibilityInfo())},g.prototype.genCSS=function(a,b){b.add(this.toCSS(a),this.currentFileInfo,this.index)},g.prototype.toCSS=function(a){a=a||{};var b=this.value,c=a.firstSelector;return b instanceof e&&(a.firstSelector=!0),b=b.toCSS?b.toCSS(a):b,a.firstSelector=c,""===b&&"&"===this.combinator.value.charAt(0)?"":this.combinator.toCSS(a)+b},b.exports=g},{"./combinator":51,"./node":70,"./paren":72}],59:[function(a,b,c){var d=a("./node"),e=a("./paren"),f=a("./comment"),g=function(a){if(this.value=a,!a)throw new Error("Expression requires an array parameter")};g.prototype=new d,g.prototype.type="Expression",g.prototype.accept=function(a){this.value=a.visitArray(this.value)},g.prototype.eval=function(a){var b,c=this.parens&&!this.parensInOp,d=!1;return c&&a.inParenthesis(),this.value.length>1?b=new g(this.value.map(function(b){return b.eval(a)})):1===this.value.length?(this.value[0].parens&&!this.value[0].parensInOp&&(d=!0),b=this.value[0].eval(a)):b=this,c&&a.outOfParenthesis(),this.parens&&this.parensInOp&&!a.isMathOn()&&!d&&(b=new e(b)),b},g.prototype.genCSS=function(a,b){for(var c=0;c<this.value.length;c++)this.value[c].genCSS(a,b),c+1<this.value.length&&b.add(" ")},g.prototype.throwAwayComments=function(){this.value=this.value.filter(function(a){return!(a instanceof f)})},b.exports=g},{"./comment":52,"./node":70,"./paren":72}],60:[function(a,b,c){var d=a("./node"),e=a("./selector"),f=function g(a,b,c,d,e){switch(this.selector=a,this.option=b,this.index=c,this.object_id=g.next_id++,this.parent_ids=[this.object_id],this.currentFileInfo=d||{},this.copyVisibilityInfo(e),this.allowRoot=!0,b){case"all":this.allowBefore=!0,this.allowAfter=!0;break;default:this.allowBefore=!1,this.allowAfter=!1}};f.next_id=0,f.prototype=new d,f.prototype.type="Extend",f.prototype.accept=function(a){this.selector=a.visit(this.selector)},f.prototype.eval=function(a){return new f(this.selector.eval(a),this.option,this.index,this.currentFileInfo,this.visibilityInfo())},f.prototype.clone=function(a){return new f(this.selector,this.option,this.index,this.currentFileInfo,this.visibilityInfo())},f.prototype.findSelfSelectors=function(a){var b,c,d=[];for(b=0;b<a.length;b++)c=a[b].elements,b>0&&c.length&&""===c[0].combinator.value&&(c[0].combinator.value=" "),d=d.concat(a[b].elements);this.selfSelectors=[new e(d)],this.selfSelectors[0].copyVisibilityInfo(this.visibilityInfo())},b.exports=f},{"./node":70,"./selector":77}],61:[function(a,b,c){var d=a("./node"),e=a("./media"),f=a("./url"),g=a("./quoted"),h=a("./ruleset"),i=a("./anonymous"),j=function(a,b,c,d,e,f){if(this.options=c,this.index=d,this.path=a,this.features=b,this.currentFileInfo=e,this.allowRoot=!0,void 0!==this.options.less||this.options.inline)this.css=!this.options.less||this.options.inline;else{var g=this.getPath();g&&/[#\.\&\?\/]css([\?;].*)?$/.test(g)&&(this.css=!0)}this.copyVisibilityInfo(f)};j.prototype=new d,j.prototype.type="Import",j.prototype.accept=function(a){this.features&&(this.features=a.visit(this.features)),this.path=a.visit(this.path),this.options.plugin||this.options.inline||!this.root||(this.root=a.visit(this.root))},j.prototype.genCSS=function(a,b){this.css&&void 0===this.path.currentFileInfo.reference&&(b.add("@import ",this.currentFileInfo,this.index),this.path.genCSS(a,b),this.features&&(b.add(" "),this.features.genCSS(a,b)),b.add(";"))},j.prototype.getPath=function(){return this.path instanceof f?this.path.value.value:this.path.value},j.prototype.isVariableImport=function(){var a=this.path;return a instanceof f&&(a=a.value),!(a instanceof g)||a.containsVariables()},j.prototype.evalForImport=function(a){var b=this.path;return b instanceof f&&(b=b.value),new j(b.eval(a),this.features,this.options,this.index,this.currentFileInfo,this.visibilityInfo())},j.prototype.evalPath=function(a){var b=this.path.eval(a),c=this.currentFileInfo&&this.currentFileInfo.rootpath;if(!(b instanceof f)){if(c){var d=b.value;d&&a.isPathRelative(d)&&(b.value=c+d)}b.value=a.normalizePath(b.value)}return b},j.prototype.eval=function(a){var b=this.doEval(a);return(this.options.reference||this.blocksVisibility())&&(b.length||0===b.length?b.forEach(function(a){a.addVisibilityBlock()}):b.addVisibilityBlock()),b},j.prototype.doEval=function(a){var b,c,d=this.features&&this.features.eval(a);if(this.options.plugin)return c=a.frames[0]&&a.frames[0].functionRegistry,c&&this.root&&this.root.functions&&c.addMultiple(this.root.functions),[];if(this.skip&&("function"==typeof this.skip&&(this.skip=this.skip()),this.skip))return[];if(this.options.inline){var f=new i(this.root,0,{filename:this.importedFilename,reference:this.path.currentFileInfo&&this.path.currentFileInfo.reference},(!0),(!0));return this.features?new e([f],this.features.value):[f]}if(this.css){var g=new j(this.evalPath(a),d,this.options,this.index);if(!g.css&&this.error)throw this.error;return g}return b=new h(null,this.root.rules.slice(0)),b.evalImports(a),this.features?new e(b.rules,this.features.value):b.rules},b.exports=j},{"./anonymous":46,"./media":66,"./node":70,"./quoted":73,"./ruleset":76,"./url":80}],62:[function(a,b,c){var d={};d.Node=a("./node"),d.Alpha=a("./alpha"),d.Color=a("./color"),d.Directive=a("./directive"),d.DetachedRuleset=a("./detached-ruleset"),d.Operation=a("./operation"),d.Dimension=a("./dimension"),d.Unit=a("./unit"),d.Keyword=a("./keyword"),d.Variable=a("./variable"),d.Ruleset=a("./ruleset"),d.Element=a("./element"),d.Attribute=a("./attribute"),d.Combinator=a("./combinator"),d.Selector=a("./selector"),d.Quoted=a("./quoted"),d.Expression=a("./expression"),d.Rule=a("./rule"),d.Call=a("./call"),d.URL=a("./url"),d.Import=a("./import"),d.mixin={Call:a("./mixin-call"),Definition:a("./mixin-definition")},d.Comment=a("./comment"),d.Anonymous=a("./anonymous"),d.Value=a("./value"),d.JavaScript=a("./javascript"),d.Assignment=a("./assignment"),d.Condition=a("./condition"),d.Paren=a("./paren"),d.Media=a("./media"),d.UnicodeDescriptor=a("./unicode-descriptor"),d.Negative=a("./negative"),d.Extend=a("./extend"),d.RulesetCall=a("./ruleset-call"),b.exports=d},{"./alpha":45,"./anonymous":46,"./assignment":47,"./attribute":48,"./call":49,"./color":50,"./combinator":51,"./comment":52,"./condition":53,"./detached-ruleset":55,"./dimension":56,"./directive":57,"./element":58,"./expression":59,"./extend":60,"./import":61,"./javascript":63,"./keyword":65,"./media":66,"./mixin-call":67,"./mixin-definition":68,"./negative":69,"./node":70,"./operation":71,"./paren":72,"./quoted":73,"./rule":74,"./ruleset":76,"./ruleset-call":75,"./selector":77,"./unicode-descriptor":78,"./unit":79,"./url":80,"./value":81,"./variable":82}],63:[function(a,b,c){var d=a("./js-eval-node"),e=a("./dimension"),f=a("./quoted"),g=a("./anonymous"),h=function(a,b,c,d){this.escaped=b,this.expression=a,this.index=c,this.currentFileInfo=d};h.prototype=new d,h.prototype.type="JavaScript",h.prototype.eval=function(a){var b=this.evaluateJavaScript(this.expression,a);return"number"==typeof b?new e(b):"string"==typeof b?new f('"'+b+'"',b,this.escaped,this.index):new g(Array.isArray(b)?b.join(", "):b)},b.exports=h},{"./anonymous":46,"./dimension":56,"./js-eval-node":64,"./quoted":73}],64:[function(a,b,c){var d=a("./node"),e=a("./variable"),f=function(){};f.prototype=new d,f.prototype.evaluateJavaScript=function(a,b){var c,d=this,f={};if(void 0!==b.javascriptEnabled&&!b.javascriptEnabled)throw{message:"You are using JavaScript, which has been disabled.",filename:this.currentFileInfo.filename,index:this.index};a=a.replace(/@\{([\w-]+)\}/g,function(a,c){return d.jsify(new e("@"+c,d.index,d.currentFileInfo).eval(b))});try{a=new Function("return ("+a+")")}catch(g){throw{message:"JavaScript evaluation error: "+g.message+" from `"+a+"`",filename:this.currentFileInfo.filename,index:this.index}}var h=b.frames[0].variables();for(var i in h)h.hasOwnProperty(i)&&(f[i.slice(1)]={value:h[i].value,toJS:function(){return this.value.eval(b).toCSS()}});try{c=a.call(f)}catch(g){throw{message:"JavaScript evaluation error: '"+g.name+": "+g.message.replace(/["]/g,"'")+"'",filename:this.currentFileInfo.filename,index:this.index}}return c},f.prototype.jsify=function(a){return Array.isArray(a.value)&&a.value.length>1?"["+a.value.map(function(a){return a.toCSS()}).join(", ")+"]":a.toCSS()},b.exports=f},{"./node":70,"./variable":82}],65:[function(a,b,c){var d=a("./node"),e=function(a){this.value=a};e.prototype=new d,e.prototype.type="Keyword",e.prototype.genCSS=function(a,b){if("%"===this.value)throw{type:"Syntax",message:"Invalid % without number"};b.add(this.value)},e.True=new e("true"),e.False=new e("false"),b.exports=e},{"./node":70}],66:[function(a,b,c){var d=a("./ruleset"),e=a("./value"),f=a("./selector"),g=a("./anonymous"),h=a("./expression"),i=a("./directive"),j=function(a,b,c,g,h){this.index=c,this.currentFileInfo=g;var i=new f([],null,null,this.index,this.currentFileInfo).createEmptySelectors();this.features=new e(b),this.rules=[new d(i,a)],this.rules[0].allowImports=!0,this.copyVisibilityInfo(h),this.allowRoot=!0};j.prototype=new i,j.prototype.type="Media",j.prototype.isRulesetLike=!0,j.prototype.accept=function(a){this.features&&(this.features=a.visit(this.features)),this.rules&&(this.rules=a.visitArray(this.rules))},j.prototype.genCSS=function(a,b){b.add("@media ",this.currentFileInfo,this.index),this.features.genCSS(a,b),this.outputRuleset(a,b,this.rules)},j.prototype.eval=function(a){a.mediaBlocks||(a.mediaBlocks=[],a.mediaPath=[]);var b=new j(null,[],this.index,this.currentFileInfo,this.visibilityInfo());this.debugInfo&&(this.rules[0].debugInfo=this.debugInfo,b.debugInfo=this.debugInfo);var c=!1;a.strictMath||(c=!0,a.strictMath=!0);try{b.features=this.features.eval(a)}finally{c&&(a.strictMath=!1)}return a.mediaPath.push(b),a.mediaBlocks.push(b),this.rules[0].functionRegistry=a.frames[0].functionRegistry.inherit(),a.frames.unshift(this.rules[0]),b.rules=[this.rules[0].eval(a)],a.frames.shift(),a.mediaPath.pop(),0===a.mediaPath.length?b.evalTop(a):b.evalNested(a)},j.prototype.evalTop=function(a){var b=this;if(a.mediaBlocks.length>1){var c=new f([],null,null,this.index,this.currentFileInfo).createEmptySelectors();b=new d(c,a.mediaBlocks),b.multiMedia=!0,b.copyVisibilityInfo(this.visibilityInfo())}return delete a.mediaBlocks,delete a.mediaPath,b},j.prototype.evalNested=function(a){var b,c,f=a.mediaPath.concat([this]);for(b=0;b<f.length;b++)c=f[b].features instanceof e?f[b].features.value:f[b].features,f[b]=Array.isArray(c)?c:[c];return this.features=new e(this.permute(f).map(function(a){for(a=a.map(function(a){return a.toCSS?a:new g(a)}),b=a.length-1;b>0;b--)a.splice(b,0,new g("and"));return new h(a)})),new d([],[])},j.prototype.permute=function(a){if(0===a.length)return[];if(1===a.length)return a[0];for(var b=[],c=this.permute(a.slice(1)),d=0;d<c.length;d++)for(var e=0;e<a[0].length;e++)b.push([a[0][e]].concat(c[d]));return b},j.prototype.bubbleSelectors=function(a){a&&(this.rules=[new d(a.slice(0),[this.rules[0]])])},b.exports=j},{"./anonymous":46,"./directive":57,"./expression":59,"./ruleset":76,"./selector":77,"./value":81}],67:[function(a,b,c){var d=a("./node"),e=a("./selector"),f=a("./mixin-definition"),g=a("../functions/default"),h=function(a,b,c,d,f){this.selector=new e(a),this.arguments=b||[],this.index=c,this.currentFileInfo=d,this.important=f,this.allowRoot=!0};h.prototype=new d,h.prototype.type="MixinCall",h.prototype.accept=function(a){this.selector&&(this.selector=a.visit(this.selector)),this.arguments.length&&(this.arguments=a.visitArray(this.arguments))},h.prototype.eval=function(a){function b(b,c){var d,e,f;for(d=0;d<2;d++){for(x[d]=!0,g.value(d),e=0;e<c.length&&x[d];e++)f=c[e],f.matchCondition&&(x[d]=x[d]&&f.matchCondition(null,a));b.matchCondition&&(x[d]=x[d]&&b.matchCondition(t,a))}return x[0]||x[1]?x[0]!=x[1]?x[1]?A:B:z:y}var c,d,e,h,i,j,k,l,m,n,o,p,q,r,s,t=[],u=[],v=!1,w=[],x=[],y=-1,z=0,A=1,B=2;for(j=0;j<this.arguments.length;j++)if(h=this.arguments[j],i=h.value.eval(a),h.expand&&Array.isArray(i.value))for(i=i.value,k=0;k<i.length;k++)t.push({value:i[k]});else t.push({name:h.name,value:i});for(s=function(b){return b.matchArgs(null,a)},j=0;j<a.frames.length;j++)if((c=a.frames[j].find(this.selector,null,s)).length>0){for(n=!0,k=0;k<c.length;k++){for(d=c[k].rule,e=c[k].path,m=!1,l=0;l<a.frames.length;l++)if(!(d instanceof f)&&d===(a.frames[l].originalRuleset||a.frames[l])){m=!0;break}m||d.matchArgs(t,a)&&(o={mixin:d,group:b(d,e)},o.group!==y&&w.push(o),v=!0)}for(g.reset(),q=[0,0,0],k=0;k<w.length;k++)q[w[k].group]++;if(q[z]>0)p=B;else if(p=A,q[A]+q[B]>1)throw{type:"Runtime",message:"Ambiguous use of `default()` found when matching for `"+this.format(t)+"`",index:this.index,filename:this.currentFileInfo.filename};for(k=0;k<w.length;k++)if(o=w[k].group,o===z||o===p)try{d=w[k].mixin,d instanceof f||(r=d.originalRuleset||d,d=new f("",[],d.rules,null,(!1),null,r.visibilityInfo()),d.originalRuleset=r);var C=d.evalCall(a,t,this.important).rules;this._setVisibilityToReplacement(C),Array.prototype.push.apply(u,C)}catch(D){throw{message:D.message,index:this.index,filename:this.currentFileInfo.filename,
-stack:D.stack}}if(v)return u}throw n?{type:"Runtime",message:"No matching definition was found for `"+this.format(t)+"`",index:this.index,filename:this.currentFileInfo.filename}:{type:"Name",message:this.selector.toCSS().trim()+" is undefined",index:this.index,filename:this.currentFileInfo.filename}},h.prototype._setVisibilityToReplacement=function(a){var b,c;if(this.blocksVisibility())for(b=0;b<a.length;b++)c=a[b],c.addVisibilityBlock()},h.prototype.format=function(a){return this.selector.toCSS().trim()+"("+(a?a.map(function(a){var b="";return a.name&&(b+=a.name+":"),b+=a.value.toCSS?a.value.toCSS():"???"}).join(", "):"")+")"},b.exports=h},{"../functions/default":20,"./mixin-definition":68,"./node":70,"./selector":77}],68:[function(a,b,c){var d=a("./selector"),e=a("./element"),f=a("./ruleset"),g=a("./rule"),h=a("./expression"),i=a("../contexts"),j=function(a,b,c,f,g,h,i){this.name=a,this.selectors=[new d([new e(null,a,this.index,this.currentFileInfo)])],this.params=b,this.condition=f,this.variadic=g,this.arity=b.length,this.rules=c,this._lookups={};var j=[];this.required=b.reduce(function(a,b){return!b.name||b.name&&!b.value?a+1:(j.push(b.name),a)},0),this.optionalParameters=j,this.frames=h,this.copyVisibilityInfo(i),this.allowRoot=!0};j.prototype=new f,j.prototype.type="MixinDefinition",j.prototype.evalFirst=!0,j.prototype.accept=function(a){this.params&&this.params.length&&(this.params=a.visitArray(this.params)),this.rules=a.visitArray(this.rules),this.condition&&(this.condition=a.visit(this.condition))},j.prototype.evalParams=function(a,b,c,d){var e,j,k,l,m,n,o,p,q=new f(null,null),r=this.params.slice(0),s=0;if(b.frames&&b.frames[0]&&b.frames[0].functionRegistry&&(q.functionRegistry=b.frames[0].functionRegistry.inherit()),b=new i.Eval(b,[q].concat(b.frames)),c)for(c=c.slice(0),s=c.length,k=0;k<s;k++)if(j=c[k],n=j&&j.name){for(o=!1,l=0;l<r.length;l++)if(!d[l]&&n===r[l].name){d[l]=j.value.eval(a),q.prependRule(new g(n,j.value.eval(a))),o=!0;break}if(o){c.splice(k,1),k--;continue}throw{type:"Runtime",message:"Named argument for "+this.name+" "+c[k].name+" not found"}}for(p=0,k=0;k<r.length;k++)if(!d[k]){if(j=c&&c[p],n=r[k].name)if(r[k].variadic){for(e=[],l=p;l<s;l++)e.push(c[l].value.eval(a));q.prependRule(new g(n,new h(e).eval(a)))}else{if(m=j&&j.value)m=m.eval(a);else{if(!r[k].value)throw{type:"Runtime",message:"wrong number of arguments for "+this.name+" ("+s+" for "+this.arity+")"};m=r[k].value.eval(b),q.resetCache()}q.prependRule(new g(n,m)),d[k]=m}if(r[k].variadic&&c)for(l=p;l<s;l++)d[l]=c[l].value.eval(a);p++}return q},j.prototype.makeImportant=function(){var a=this.rules?this.rules.map(function(a){return a.makeImportant?a.makeImportant(!0):a}):this.rules,b=new j(this.name,this.params,a,this.condition,this.variadic,this.frames);return b},j.prototype.eval=function(a){return new j(this.name,this.params,this.rules,this.condition,this.variadic,this.frames||a.frames.slice(0))},j.prototype.evalCall=function(a,b,c){var d,e,j=[],k=this.frames?this.frames.concat(a.frames):a.frames,l=this.evalParams(a,new i.Eval(a,k),b,j);return l.prependRule(new g("@arguments",new h(j).eval(a))),d=this.rules.slice(0),e=new f(null,d),e.originalRuleset=this,e=e.eval(new i.Eval(a,[this,l].concat(k))),c&&(e=e.makeImportant()),e},j.prototype.matchCondition=function(a,b){return!(this.condition&&!this.condition.eval(new i.Eval(b,[this.evalParams(b,new i.Eval(b,this.frames?this.frames.concat(b.frames):b.frames),a,[])].concat(this.frames||[]).concat(b.frames))))},j.prototype.matchArgs=function(a,b){var c,d=a&&a.length||0,e=this.optionalParameters,f=a?a.reduce(function(a,b){return e.indexOf(b.name)<0?a+1:a},0):0;if(this.variadic){if(f<this.required-1)return!1}else{if(f<this.required)return!1;if(d>this.params.length)return!1}c=Math.min(f,this.arity);for(var g=0;g<c;g++)if(!this.params[g].name&&!this.params[g].variadic&&a[g].value.eval(b).toCSS()!=this.params[g].value.eval(b).toCSS())return!1;return!0},b.exports=j},{"../contexts":11,"./element":58,"./expression":59,"./rule":74,"./ruleset":76,"./selector":77}],69:[function(a,b,c){var d=a("./node"),e=a("./operation"),f=a("./dimension"),g=function(a){this.value=a};g.prototype=new d,g.prototype.type="Negative",g.prototype.genCSS=function(a,b){b.add("-"),this.value.genCSS(a,b)},g.prototype.eval=function(a){return a.isMathOn()?new e("*",[new f((-1)),this.value]).eval(a):new g(this.value.eval(a))},b.exports=g},{"./dimension":56,"./node":70,"./operation":71}],70:[function(a,b,c){var d=function(){};d.prototype.toCSS=function(a){var b=[];return this.genCSS(a,{add:function(a,c,d){b.push(a)},isEmpty:function(){return 0===b.length}}),b.join("")},d.prototype.genCSS=function(a,b){b.add(this.value)},d.prototype.accept=function(a){this.value=a.visit(this.value)},d.prototype.eval=function(){return this},d.prototype._operate=function(a,b,c,d){switch(b){case"+":return c+d;case"-":return c-d;case"*":return c*d;case"/":return c/d}},d.prototype.fround=function(a,b){var c=a&&a.numPrecision;return null==c?b:Number((b+2e-16).toFixed(c))},d.compare=function(a,b){if(a.compare&&"Quoted"!==b.type&&"Anonymous"!==b.type)return a.compare(b);if(b.compare)return-b.compare(a);if(a.type===b.type){if(a=a.value,b=b.value,!Array.isArray(a))return a===b?0:void 0;if(a.length===b.length){for(var c=0;c<a.length;c++)if(0!==d.compare(a[c],b[c]))return;return 0}}},d.numericCompare=function(a,b){return a<b?-1:a===b?0:a>b?1:void 0},d.prototype.blocksVisibility=function(){return null==this.visibilityBlocks&&(this.visibilityBlocks=0),0!==this.visibilityBlocks},d.prototype.addVisibilityBlock=function(){null==this.visibilityBlocks&&(this.visibilityBlocks=0),this.visibilityBlocks=this.visibilityBlocks+1},d.prototype.removeVisibilityBlock=function(){null==this.visibilityBlocks&&(this.visibilityBlocks=0),this.visibilityBlocks=this.visibilityBlocks-1},d.prototype.ensureVisibility=function(){this.nodeVisible=!0},d.prototype.ensureInvisibility=function(){this.nodeVisible=!1},d.prototype.isVisible=function(){return this.nodeVisible},d.prototype.visibilityInfo=function(){return{visibilityBlocks:this.visibilityBlocks,nodeVisible:this.nodeVisible}},d.prototype.copyVisibilityInfo=function(a){a&&(this.visibilityBlocks=a.visibilityBlocks,this.nodeVisible=a.nodeVisible)},b.exports=d},{}],71:[function(a,b,c){var d=a("./node"),e=a("./color"),f=a("./dimension"),g=function(a,b,c){this.op=a.trim(),this.operands=b,this.isSpaced=c};g.prototype=new d,g.prototype.type="Operation",g.prototype.accept=function(a){this.operands=a.visit(this.operands)},g.prototype.eval=function(a){var b=this.operands[0].eval(a),c=this.operands[1].eval(a);if(a.isMathOn()){if(b instanceof f&&c instanceof e&&(b=b.toColor()),c instanceof f&&b instanceof e&&(c=c.toColor()),!b.operate)throw{type:"Operation",message:"Operation on an invalid type"};return b.operate(a,this.op,c)}return new g(this.op,[b,c],this.isSpaced)},g.prototype.genCSS=function(a,b){this.operands[0].genCSS(a,b),this.isSpaced&&b.add(" "),b.add(this.op),this.isSpaced&&b.add(" "),this.operands[1].genCSS(a,b)},b.exports=g},{"./color":50,"./dimension":56,"./node":70}],72:[function(a,b,c){var d=a("./node"),e=function(a){this.value=a};e.prototype=new d,e.prototype.type="Paren",e.prototype.genCSS=function(a,b){b.add("("),this.value.genCSS(a,b),b.add(")")},e.prototype.eval=function(a){return new e(this.value.eval(a))},b.exports=e},{"./node":70}],73:[function(a,b,c){var d=a("./node"),e=a("./js-eval-node"),f=a("./variable"),g=function(a,b,c,d,e){this.escaped=null==c||c,this.value=b||"",this.quote=a.charAt(0),this.index=d,this.currentFileInfo=e};g.prototype=new e,g.prototype.type="Quoted",g.prototype.genCSS=function(a,b){this.escaped||b.add(this.quote,this.currentFileInfo,this.index),b.add(this.value),this.escaped||b.add(this.quote)},g.prototype.containsVariables=function(){return this.value.match(/(`([^`]+)`)|@\{([\w-]+)\}/)},g.prototype.eval=function(a){function b(a,b,c){var d=a;do a=d,d=a.replace(b,c);while(a!==d);return d}var c=this,d=this.value,e=function(b,d){return String(c.evaluateJavaScript(d,a))},h=function(b,d){var e=new f("@"+d,c.index,c.currentFileInfo).eval(a,!0);return e instanceof g?e.value:e.toCSS()};return d=b(d,/`([^`]+)`/g,e),d=b(d,/@\{([\w-]+)\}/g,h),new g(this.quote+d+this.quote,d,this.escaped,this.index,this.currentFileInfo)},g.prototype.compare=function(a){return"Quoted"!==a.type||this.escaped||a.escaped?a.toCSS&&this.toCSS()===a.toCSS()?0:void 0:d.numericCompare(this.value,a.value)},b.exports=g},{"./js-eval-node":64,"./node":70,"./variable":82}],74:[function(a,b,c){function d(a,b){var c,d="",e=b.length,f={add:function(a){d+=a}};for(c=0;c<e;c++)b[c].eval(a).genCSS(a,f);return d}var e=a("./node"),f=a("./value"),g=a("./keyword"),h=function(a,b,c,d,g,h,i,j){this.name=a,this.value=b instanceof e?b:new f([b]),this.important=c?" "+c.trim():"",this.merge=d,this.index=g,this.currentFileInfo=h,this.inline=i||!1,this.variable=void 0!==j?j:a.charAt&&"@"===a.charAt(0),this.allowRoot=!0};h.prototype=new e,h.prototype.type="Rule",h.prototype.genCSS=function(a,b){b.add(this.name+(a.compress?":":": "),this.currentFileInfo,this.index);try{this.value.genCSS(a,b)}catch(c){throw c.index=this.index,c.filename=this.currentFileInfo.filename,c}b.add(this.important+(this.inline||a.lastRule&&a.compress?"":";"),this.currentFileInfo,this.index)},h.prototype.eval=function(a){var b,c=!1,e=this.name,f=this.variable;"string"!=typeof e&&(e=1===e.length&&e[0]instanceof g?e[0].value:d(a,e),f=!1),"font"!==e||a.strictMath||(c=!0,a.strictMath=!0);try{if(a.importantScope.push({}),b=this.value.eval(a),!this.variable&&"DetachedRuleset"===b.type)throw{message:"Rulesets cannot be evaluated on a property.",index:this.index,filename:this.currentFileInfo.filename};var i=this.important,j=a.importantScope.pop();return!i&&j.important&&(i=j.important),new h(e,b,i,this.merge,this.index,this.currentFileInfo,this.inline,f)}catch(k){throw"number"!=typeof k.index&&(k.index=this.index,k.filename=this.currentFileInfo.filename),k}finally{c&&(a.strictMath=!1)}},h.prototype.makeImportant=function(){return new h(this.name,this.value,"!important",this.merge,this.index,this.currentFileInfo,this.inline)},b.exports=h},{"./keyword":65,"./node":70,"./value":81}],75:[function(a,b,c){var d=a("./node"),e=a("./variable"),f=function(a){this.variable=a,this.allowRoot=!0};f.prototype=new d,f.prototype.type="RulesetCall",f.prototype.eval=function(a){var b=new e(this.variable).eval(a);return b.callEval(a)},b.exports=f},{"./node":70,"./variable":82}],76:[function(a,b,c){var d=a("./node"),e=a("./rule"),f=a("./selector"),g=a("./element"),h=a("./paren"),i=a("../contexts"),j=a("../functions/function-registry"),k=a("../functions/default"),l=a("./debug-info"),m=function(a,b,c,d){this.selectors=a,this.rules=b,this._lookups={},this.strictImports=c,this.copyVisibilityInfo(d),this.allowRoot=!0};m.prototype=new d,m.prototype.type="Ruleset",m.prototype.isRuleset=!0,m.prototype.isRulesetLike=!0,m.prototype.accept=function(a){this.paths?this.paths=a.visitArray(this.paths,!0):this.selectors&&(this.selectors=a.visitArray(this.selectors)),this.rules&&this.rules.length&&(this.rules=a.visitArray(this.rules))},m.prototype.eval=function(a){var b,c,d,f,g=this.selectors,h=!1;if(g&&(c=g.length)){for(b=[],k.error({type:"Syntax",message:"it is currently only allowed in parametric mixin guards,"}),f=0;f<c;f++)d=g[f].eval(a),b.push(d),d.evaldCondition&&(h=!0);k.reset()}else h=!0;var i,l,n=this.rules?this.rules.slice(0):null,o=new m(b,n,this.strictImports,this.visibilityInfo());o.originalRuleset=this,o.root=this.root,o.firstRoot=this.firstRoot,o.allowImports=this.allowImports,this.debugInfo&&(o.debugInfo=this.debugInfo),h||(n.length=0),o.functionRegistry=function(a){for(var b,c=0,d=a.length;c!==d;++c)if(b=a[c].functionRegistry)return b;return j}(a.frames).inherit();var p=a.frames;p.unshift(o);var q=a.selectors;q||(a.selectors=q=[]),q.unshift(this.selectors),(o.root||o.allowImports||!o.strictImports)&&o.evalImports(a);var r=o.rules,s=r?r.length:0;for(f=0;f<s;f++)r[f].evalFirst&&(r[f]=r[f].eval(a));var t=a.mediaBlocks&&a.mediaBlocks.length||0;for(f=0;f<s;f++)"MixinCall"===r[f].type?(n=r[f].eval(a).filter(function(a){return!(a instanceof e&&a.variable)||!o.variable(a.name)}),r.splice.apply(r,[f,1].concat(n)),s+=n.length-1,f+=n.length-1,o.resetCache()):"RulesetCall"===r[f].type&&(n=r[f].eval(a).rules.filter(function(a){return!(a instanceof e&&a.variable)}),r.splice.apply(r,[f,1].concat(n)),s+=n.length-1,f+=n.length-1,o.resetCache());for(f=0;f<r.length;f++)i=r[f],i.evalFirst||(r[f]=i=i.eval?i.eval(a):i);for(f=0;f<r.length;f++)if(i=r[f],i instanceof m&&i.selectors&&1===i.selectors.length&&i.selectors[0].isJustParentSelector()){r.splice(f--,1);for(var u=0;u<i.rules.length;u++)l=i.rules[u],l.copyVisibilityInfo(i.visibilityInfo()),l instanceof e&&l.variable||r.splice(++f,0,l)}if(p.shift(),q.shift(),a.mediaBlocks)for(f=t;f<a.mediaBlocks.length;f++)a.mediaBlocks[f].bubbleSelectors(b);return o},m.prototype.evalImports=function(a){var b,c,d=this.rules;if(d)for(b=0;b<d.length;b++)"Import"===d[b].type&&(c=d[b].eval(a),c&&(c.length||0===c.length)?(d.splice.apply(d,[b,1].concat(c)),b+=c.length-1):d.splice(b,1,c),this.resetCache())},m.prototype.makeImportant=function(){var a=new m(this.selectors,this.rules.map(function(a){return a.makeImportant?a.makeImportant():a}),this.strictImports,this.visibilityInfo());return a},m.prototype.matchArgs=function(a){return!a||0===a.length},m.prototype.matchCondition=function(a,b){var c=this.selectors[this.selectors.length-1];return!!c.evaldCondition&&!(c.condition&&!c.condition.eval(new i.Eval(b,b.frames)))},m.prototype.resetCache=function(){this._rulesets=null,this._variables=null,this._lookups={}},m.prototype.variables=function(){return this._variables||(this._variables=this.rules?this.rules.reduce(function(a,b){if(b instanceof e&&b.variable===!0&&(a[b.name]=b),"Import"===b.type&&b.root&&b.root.variables){var c=b.root.variables();for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])}return a},{}):{}),this._variables},m.prototype.variable=function(a){return this.variables()[a]},m.prototype.rulesets=function(){if(!this.rules)return[];var a,b,c=[],d=this.rules,e=d.length;for(a=0;a<e;a++)b=d[a],b.isRuleset&&c.push(b);return c},m.prototype.prependRule=function(a){var b=this.rules;b?b.unshift(a):this.rules=[a]},m.prototype.find=function(a,b,c){b=b||this;var d,e,g=[],h=a.toCSS();return h in this._lookups?this._lookups[h]:(this.rulesets().forEach(function(h){if(h!==b)for(var i=0;i<h.selectors.length;i++)if(d=a.match(h.selectors[i])){if(a.elements.length>d){if(!c||c(h)){e=h.find(new f(a.elements.slice(d)),b,c);for(var j=0;j<e.length;++j)e[j].path.push(h);Array.prototype.push.apply(g,e)}}else g.push({rule:h,path:[]});break}}),this._lookups[h]=g,g)},m.prototype.genCSS=function(a,b){function c(a){return"boolean"==typeof a.isRulesetLike?a.isRulesetLike:"function"==typeof a.isRulesetLike&&a.isRulesetLike()}var d,e,f,g,h,i=[],j=[];a.tabLevel=a.tabLevel||0,this.root||a.tabLevel++;var k,m=a.compress?"":Array(a.tabLevel+1).join(" "),n=a.compress?"":Array(a.tabLevel).join(" "),o=0,p=0;for(d=0;d<this.rules.length;d++)g=this.rules[d],"Comment"===g.type?(p===d&&p++,j.push(g)):g.isCharset&&g.isCharset()?(j.splice(o,0,g),o++,p++):"Import"===g.type?(j.splice(p,0,g),p++):j.push(g);if(j=i.concat(j),!this.root){f=l(a,this,n),f&&(b.add(f),b.add(n));var q,r=this.paths,s=r.length;for(k=a.compress?",":",\n"+n,d=0;d<s;d++)if(h=r[d],q=h.length)for(d>0&&b.add(k),a.firstSelector=!0,h[0].genCSS(a,b),a.firstSelector=!1,e=1;e<q;e++)h[e].genCSS(a,b);b.add((a.compress?"{":" {\n")+m)}for(d=0;d<j.length;d++){g=j[d],d+1===j.length&&(a.lastRule=!0);var t=a.lastRule;c(g)&&(a.lastRule=!1),g.genCSS?g.genCSS(a,b):g.value&&b.add(g.value.toString()),a.lastRule=t,a.lastRule?a.lastRule=!1:b.add(a.compress?"":"\n"+m)}this.root||(b.add(a.compress?"}":"\n"+n+"}"),a.tabLevel--),b.isEmpty()||a.compress||!this.firstRoot||b.add("\n")},m.prototype.joinSelectors=function(a,b,c){for(var d=0;d<c.length;d++)this.joinSelector(a,b,c[d])},m.prototype.joinSelector=function(a,b,c){function d(a,b){var c,d;if(0===a.length)c=new h(a[0]);else{var e=[];for(d=0;d<a.length;d++)e.push(new g(null,a[d],b.index,b.currentFileInfo));c=new h(new f(e))}return c}function e(a,b){var c,d;return c=new g(null,a,b.index,b.currentFileInfo),d=new f([c])}function i(a,b,c,d){var e,f,h;if(e=[],a.length>0?(e=a.slice(0),f=e.pop(),h=d.createDerived(f.elements.slice(0))):h=d.createDerived([]),b.length>0){var i=c.combinator,j=b[0].elements[0];i.emptyOrWhitespace&&!j.combinator.emptyOrWhitespace&&(i=j.combinator),h.elements.push(new g(i,j.value,c.index,c.currentFileInfo)),h.elements=h.elements.concat(b[0].elements.slice(1))}if(0!==h.elements.length&&e.push(h),b.length>1){var k=b.slice(1);k=k.map(function(a){return a.createDerived(a.elements,[])}),e=e.concat(k)}return e}function j(a,b,c,d,e){var f;for(f=0;f<a.length;f++){var g=i(a[f],b,c,d);e.push(g)}return e}function k(a,b){var c,d;if(0!==a.length){if(0===b.length)return void b.push([new f(a)]);for(c=0;c<b.length;c++)d=b[c],d.length>0?d[d.length-1]=d[d.length-1].createDerived(d[d.length-1].elements.concat(a)):d.push(new f(a))}}function l(a,b,c){function f(a){var b;return"Paren"!==a.value.type?null:(b=a.value.value,"Selector"!==b.type?null:b)}var h,m,n,o,p,q,r,s,t,u,v=!1;for(o=[],p=[[]],h=0;h<c.elements.length;h++)if(s=c.elements[h],"&"!==s.value){var w=f(s);if(null!=w){k(o,p);var x,y=[],z=[];for(x=l(y,b,w),v=v||x,n=0;n<y.length;n++){var A=e(d(y[n],s),s);j(p,[A],s,c,z)}p=z,o=[]}else o.push(s)}else{for(v=!0,q=[],k(o,p),m=0;m<p.length;m++)if(r=p[m],0===b.length)r.length>0&&r[0].elements.push(new g(s.combinator,"",s.index,s.currentFileInfo)),q.push(r);else for(n=0;n<b.length;n++){var B=i(r,b[n],s,c);q.push(B)}p=q,o=[]}for(k(o,p),h=0;h<p.length;h++)t=p[h].length,t>0&&(a.push(p[h]),u=p[h][t-1],p[h][t-1]=u.createDerived(u.elements,c.extendList));return v}function m(a,b){var c=b.createDerived(b.elements,b.extendList,b.evaldCondition);return c.copyVisibilityInfo(a),c}var n,o,p;if(o=[],p=l(o,b,c),!p)if(b.length>0)for(o=[],n=0;n<b.length;n++){var q=b[n].map(m.bind(this,c.visibilityInfo()));q.push(c),o.push(q)}else o=[[c]];for(n=0;n<o.length;n++)a.push(o[n])},b.exports=m},{"../contexts":11,"../functions/default":20,"../functions/function-registry":22,"./debug-info":54,"./element":58,"./node":70,"./paren":72,"./rule":74,"./selector":77}],77:[function(a,b,c){var d=a("./node"),e=a("./element"),f=function(a,b,c,d,e,f){this.elements=a,this.extendList=b,this.condition=c,this.currentFileInfo=e||{},c||(this.evaldCondition=!0),this.copyVisibilityInfo(f)};f.prototype=new d,f.prototype.type="Selector",f.prototype.accept=function(a){this.elements&&(this.elements=a.visitArray(this.elements)),this.extendList&&(this.extendList=a.visitArray(this.extendList)),this.condition&&(this.condition=a.visit(this.condition))},f.prototype.createDerived=function(a,b,c){var d=this.visibilityInfo();c=null!=c?c:this.evaldCondition;var e=new f(a,b||this.extendList,null,this.index,this.currentFileInfo,d);return e.evaldCondition=c,e.mediaEmpty=this.mediaEmpty,e},f.prototype.createEmptySelectors=function(){var a=new e("","&",this.index,this.currentFileInfo),b=[new f([a],null,null,this.index,this.currentFileInfo)];return b[0].mediaEmpty=!0,b},f.prototype.match=function(a){var b,c,d=this.elements,e=d.length;if(a.CacheElements(),b=a._elements.length,0===b||e<b)return 0;for(c=0;c<b;c++)if(d[c].value!==a._elements[c])return 0;return b},f.prototype.CacheElements=function(){if(!this._elements){var a=this.elements.map(function(a){return a.combinator.value+(a.value.value||a.value)}).join("").match(/[,&#\*\.\w-]([\w-]|(\\.))*/g);a?"&"===a[0]&&a.shift():a=[],this._elements=a}},f.prototype.isJustParentSelector=function(){return!this.mediaEmpty&&1===this.elements.length&&"&"===this.elements[0].value&&(" "===this.elements[0].combinator.value||""===this.elements[0].combinator.value)},f.prototype.eval=function(a){var b=this.condition&&this.condition.eval(a),c=this.elements,d=this.extendList;return c=c&&c.map(function(b){return b.eval(a)}),d=d&&d.map(function(b){return b.eval(a)}),this.createDerived(c,d,b)},f.prototype.genCSS=function(a,b){var c,d;if(a&&a.firstSelector||""!==this.elements[0].combinator.value||b.add(" ",this.currentFileInfo,this.index),!this._css)for(c=0;c<this.elements.length;c++)d=this.elements[c],d.genCSS(a,b)},f.prototype.getIsOutput=function(){return this.evaldCondition},b.exports=f},{"./element":58,"./node":70}],78:[function(a,b,c){var d=a("./node"),e=function(a){this.value=a};e.prototype=new d,e.prototype.type="UnicodeDescriptor",b.exports=e},{"./node":70}],79:[function(a,b,c){var d=a("./node"),e=a("../data/unit-conversions"),f=function(a,b,c){this.numerator=a?a.slice(0).sort():[],this.denominator=b?b.slice(0).sort():[],c?this.backupUnit=c:a&&a.length&&(this.backupUnit=a[0])};f.prototype=new d,f.prototype.type="Unit",f.prototype.clone=function(){return new f(this.numerator.slice(0),this.denominator.slice(0),this.backupUnit)},f.prototype.genCSS=function(a,b){var c=a&&a.strictUnits;1===this.numerator.length?b.add(this.numerator[0]):!c&&this.backupUnit?b.add(this.backupUnit):!c&&this.denominator.length&&b.add(this.denominator[0])},f.prototype.toString=function(){var a,b=this.numerator.join("*");for(a=0;a<this.denominator.length;a++)b+="/"+this.denominator[a];return b},f.prototype.compare=function(a){return this.is(a.toString())?0:void 0},f.prototype.is=function(a){return this.toString().toUpperCase()===a.toUpperCase()},f.prototype.isLength=function(){return Boolean(this.toCSS().match(/px|em|%|in|cm|mm|pc|pt|ex/))},f.prototype.isEmpty=function(){return 0===this.numerator.length&&0===this.denominator.length},f.prototype.isSingular=function(){return this.numerator.length<=1&&0===this.denominator.length},f.prototype.map=function(a){var b;for(b=0;b<this.numerator.length;b++)this.numerator[b]=a(this.numerator[b],!1);for(b=0;b<this.denominator.length;b++)this.denominator[b]=a(this.denominator[b],!0)},f.prototype.usedUnits=function(){var a,b,c,d={};b=function(b){return a.hasOwnProperty(b)&&!d[c]&&(d[c]=b),b};for(c in e)e.hasOwnProperty(c)&&(a=e[c],this.map(b));return d},f.prototype.cancel=function(){var a,b,c={};for(b=0;b<this.numerator.length;b++)a=this.numerator[b],c[a]=(c[a]||0)+1;for(b=0;b<this.denominator.length;b++)a=this.denominator[b],c[a]=(c[a]||0)-1;this.numerator=[],this.denominator=[];for(a in c)if(c.hasOwnProperty(a)){var d=c[a];if(d>0)for(b=0;b<d;b++)this.numerator.push(a);else if(d<0)for(b=0;b<-d;b++)this.denominator.push(a)}this.numerator.sort(),this.denominator.sort()},b.exports=f},{"../data/unit-conversions":14,"./node":70}],80:[function(a,b,c){var d=a("./node"),e=function(a,b,c,d){this.value=a,this.currentFileInfo=c,this.index=b,this.isEvald=d};e.prototype=new d,e.prototype.type="Url",e.prototype.accept=function(a){this.value=a.visit(this.value)},e.prototype.genCSS=function(a,b){b.add("url("),this.value.genCSS(a,b),b.add(")")},e.prototype.eval=function(a){var b,c=this.value.eval(a);if(!this.isEvald&&(b=this.currentFileInfo&&this.currentFileInfo.rootpath,b&&"string"==typeof c.value&&a.isPathRelative(c.value)&&(c.quote||(b=b.replace(/[\(\)'"\s]/g,function(a){return"\\"+a})),c.value=b+c.value),c.value=a.normalizePath(c.value),a.urlArgs&&!c.value.match(/^\s*data:/))){var d=c.value.indexOf("?")===-1?"?":"&",f=d+a.urlArgs;c.value.indexOf("#")!==-1?c.value=c.value.replace("#",f+"#"):c.value+=f}return new e(c,this.index,this.currentFileInfo,(!0))},b.exports=e},{"./node":70}],81:[function(a,b,c){var d=a("./node"),e=function(a){if(this.value=a,!a)throw new Error("Value requires an array argument")};e.prototype=new d,e.prototype.type="Value",e.prototype.accept=function(a){this.value&&(this.value=a.visitArray(this.value))},e.prototype.eval=function(a){return 1===this.value.length?this.value[0].eval(a):new e(this.value.map(function(b){return b.eval(a)}))},e.prototype.genCSS=function(a,b){var c;for(c=0;c<this.value.length;c++)this.value[c].genCSS(a,b),c+1<this.value.length&&b.add(a&&a.compress?",":", ")},b.exports=e},{"./node":70}],82:[function(a,b,c){var d=a("./node"),e=function(a,b,c){this.name=a,this.index=b,this.currentFileInfo=c||{}};e.prototype=new d,e.prototype.type="Variable",e.prototype.eval=function(a){var b,c=this.name;if(0===c.indexOf("@@")&&(c="@"+new e(c.slice(1),this.index,this.currentFileInfo).eval(a).value),this.evaluating)throw{type:"Name",message:"Recursive variable definition for "+c,filename:this.currentFileInfo.filename,index:this.index};if(this.evaluating=!0,b=this.find(a.frames,function(b){var d=b.variable(c);if(d){if(d.important){var e=a.importantScope[a.importantScope.length-1];e.important=d.important}return d.value.eval(a)}}))return this.evaluating=!1,b;throw{type:"Name",message:"variable "+c+" is undefined",filename:this.currentFileInfo.filename,index:this.index}},e.prototype.find=function(a,b){for(var c,d=0;d<a.length;d++)if(c=b.call(a,a[d]))return c;return null},b.exports=e},{"./node":70}],83:[function(a,b,c){b.exports={getLocation:function(a,b){for(var c=a+1,d=null,e=-1;--c>=0&&"\n"!==b.charAt(c);)e++;return"number"==typeof a&&(d=(b.slice(0,a).match(/\n/g)||"").length),{line:d,column:e}}}},{}],84:[function(a,b,c){var d=a("../tree"),e=a("./visitor"),f=a("../logger"),g=function(){this._visitor=new e(this),this.contexts=[],this.allExtendsStack=[[]]};g.prototype={run:function(a){return a=this._visitor.visit(a),a.allExtends=this.allExtendsStack[0],a},visitRule:function(a,b){b.visitDeeper=!1},visitMixinDefinition:function(a,b){b.visitDeeper=!1},visitRuleset:function(a,b){if(!a.root){var c,e,f,g,h=[],i=a.rules,j=i?i.length:0;for(c=0;c<j;c++)a.rules[c]instanceof d.Extend&&(h.push(i[c]),a.extendOnEveryPath=!0);var k=a.paths;for(c=0;c<k.length;c++){var l=k[c],m=l[l.length-1],n=m.extendList;for(g=n?n.slice(0).concat(h):h,g&&(g=g.map(function(a){return a.clone()})),e=0;e<g.length;e++)this.foundExtends=!0,f=g[e],f.findSelfSelectors(l),f.ruleset=a,0===e&&(f.firstExtendOnThisSelectorPath=!0),this.allExtendsStack[this.allExtendsStack.length-1].push(f)}this.contexts.push(a.selectors)}},visitRulesetOut:function(a){a.root||(this.contexts.length=this.contexts.length-1)},visitMedia:function(a,b){a.allExtends=[],this.allExtendsStack.push(a.allExtends)},visitMediaOut:function(a){this.allExtendsStack.length=this.allExtendsStack.length-1},visitDirective:function(a,b){a.allExtends=[],this.allExtendsStack.push(a.allExtends)},visitDirectiveOut:function(a){this.allExtendsStack.length=this.allExtendsStack.length-1}};var h=function(){this._visitor=new e(this)};h.prototype={run:function(a){var b=new g;if(this.extendIndices={},b.run(a),!b.foundExtends)return a;a.allExtends=a.allExtends.concat(this.doExtendChaining(a.allExtends,a.allExtends)),this.allExtendsStack=[a.allExtends];var c=this._visitor.visit(a);return this.checkExtendsForNonMatched(a.allExtends),c},checkExtendsForNonMatched:function(a){var b=this.extendIndices;a.filter(function(a){return!a.hasFoundMatches&&1==a.parent_ids.length}).forEach(function(a){var c="_unknown_";try{c=a.selector.toCSS({})}catch(d){}b[a.index+" "+c]||(b[a.index+" "+c]=!0,f.warn("extend '"+c+"' has no matches"))})},doExtendChaining:function(a,b,c){var e,f,g,h,i,j,k,l,m=[],n=this;for(c=c||0,e=0;e<a.length;e++)for(f=0;f<b.length;f++)j=a[e],k=b[f],j.parent_ids.indexOf(k.object_id)>=0||(i=[k.selfSelectors[0]],g=n.findMatch(j,i),g.length&&(j.hasFoundMatches=!0,j.selfSelectors.forEach(function(a){var b=k.visibilityInfo();h=n.extendSelector(g,i,a,j.isVisible()),l=new d.Extend(k.selector,k.option,0,k.currentFileInfo,b),l.selfSelectors=h,h[h.length-1].extendList=[l],m.push(l),l.ruleset=k.ruleset,l.parent_ids=l.parent_ids.concat(k.parent_ids,j.parent_ids),k.firstExtendOnThisSelectorPath&&(l.firstExtendOnThisSelectorPath=!0,k.ruleset.paths.push(h))})));if(m.length){if(this.extendChainCount++,c>100){var o="{unable to calculate}",p="{unable to calculate}";try{o=m[0].selfSelectors[0].toCSS(),p=m[0].selector.toCSS()}catch(q){}throw{message:"extend circular reference detected. One of the circular extends is currently:"+o+":extend("+p+")"}}return m.concat(n.doExtendChaining(m,b,c+1))}return m},visitRule:function(a,b){b.visitDeeper=!1},visitMixinDefinition:function(a,b){b.visitDeeper=!1},visitSelector:function(a,b){b.visitDeeper=!1},visitRuleset:function(a,b){if(!a.root){var c,d,e,f,g=this.allExtendsStack[this.allExtendsStack.length-1],h=[],i=this;for(e=0;e<g.length;e++)for(d=0;d<a.paths.length;d++)if(f=a.paths[d],!a.extendOnEveryPath){var j=f[f.length-1].extendList;j&&j.length||(c=this.findMatch(g[e],f),c.length&&(g[e].hasFoundMatches=!0,g[e].selfSelectors.forEach(function(a){var b;b=i.extendSelector(c,f,a,g[e].isVisible()),h.push(b)})))}a.paths=a.paths.concat(h)}},findMatch:function(a,b){var c,d,e,f,g,h,i,j=this,k=a.selector.elements,l=[],m=[];for(c=0;c<b.length;c++)for(d=b[c],e=0;e<d.elements.length;e++)for(f=d.elements[e],(a.allowBefore||0===c&&0===e)&&l.push({pathIndex:c,index:e,matched:0,initialCombinator:f.combinator}),h=0;h<l.length;h++)i=l[h],g=f.combinator.value,""===g&&0===e&&(g=" "),!j.isElementValuesEqual(k[i.matched].value,f.value)||i.matched>0&&k[i.matched].combinator.value!==g?i=null:i.matched++,i&&(i.finished=i.matched===k.length,i.finished&&!a.allowAfter&&(e+1<d.elements.length||c+1<b.length)&&(i=null)),i?i.finished&&(i.length=k.length,i.endPathIndex=c,i.endPathElementIndex=e+1,l.length=0,m.push(i)):(l.splice(h,1),h--);return m},isElementValuesEqual:function(a,b){if("string"==typeof a||"string"==typeof b)return a===b;if(a instanceof d.Attribute)return a.op===b.op&&a.key===b.key&&(a.value&&b.value?(a=a.value.value||a.value,b=b.value.value||b.value,a===b):!a.value&&!b.value);if(a=a.value,b=b.value,a instanceof d.Selector){if(!(b instanceof d.Selector)||a.elements.length!==b.elements.length)return!1;for(var c=0;c<a.elements.length;c++){if(a.elements[c].combinator.value!==b.elements[c].combinator.value&&(0!==c||(a.elements[c].combinator.value||" ")!==(b.elements[c].combinator.value||" ")))return!1;if(!this.isElementValuesEqual(a.elements[c].value,b.elements[c].value))return!1}return!0}return!1},extendSelector:function(a,b,c,e){var f,g,h,i,j,k=0,l=0,m=[];for(f=0;f<a.length;f++)i=a[f],g=b[i.pathIndex],h=new d.Element(i.initialCombinator,c.elements[0].value,c.elements[0].index,c.elements[0].currentFileInfo),i.pathIndex>k&&l>0&&(m[m.length-1].elements=m[m.length-1].elements.concat(b[k].elements.slice(l)),l=0,k++),j=g.elements.slice(l,i.index).concat([h]).concat(c.elements.slice(1)),k===i.pathIndex&&f>0?m[m.length-1].elements=m[m.length-1].elements.concat(j):(m=m.concat(b.slice(k,i.pathIndex)),m.push(new d.Selector(j))),k=i.endPathIndex,l=i.endPathElementIndex,l>=b[k].elements.length&&(l=0,k++);return k<b.length&&l>0&&(m[m.length-1].elements=m[m.length-1].elements.concat(b[k].elements.slice(l)),k++),m=m.concat(b.slice(k,b.length)),m=m.map(function(a){var b=a.createDerived(a.elements);return e?b.ensureVisibility():b.ensureInvisibility(),b})},visitMedia:function(a,b){var c=a.allExtends.concat(this.allExtendsStack[this.allExtendsStack.length-1]);c=c.concat(this.doExtendChaining(c,a.allExtends)),this.allExtendsStack.push(c)},visitMediaOut:function(a){var b=this.allExtendsStack.length-1;this.allExtendsStack.length=b},visitDirective:function(a,b){var c=a.allExtends.concat(this.allExtendsStack[this.allExtendsStack.length-1]);c=c.concat(this.doExtendChaining(c,a.allExtends)),this.allExtendsStack.push(c)},visitDirectiveOut:function(a){var b=this.allExtendsStack.length-1;this.allExtendsStack.length=b}},b.exports=h},{"../logger":33,"../tree":62,"./visitor":91}],85:[function(a,b,c){function d(a){this.imports=[],this.variableImports=[],this._onSequencerEmpty=a,this._currentDepth=0}d.prototype.addImport=function(a){var b=this,c={callback:a,args:null,isReady:!1};return this.imports.push(c),function(){c.args=Array.prototype.slice.call(arguments,0),c.isReady=!0,b.tryRun()}},d.prototype.addVariableImport=function(a){this.variableImports.push(a)},d.prototype.tryRun=function(){this._currentDepth++;try{for(;;){for(;this.imports.length>0;){var a=this.imports[0];if(!a.isReady)return;
-this.imports=this.imports.slice(1),a.callback.apply(null,a.args)}if(0===this.variableImports.length)break;var b=this.variableImports[0];this.variableImports=this.variableImports.slice(1),b()}}finally{this._currentDepth--}0===this._currentDepth&&this._onSequencerEmpty&&this._onSequencerEmpty()},b.exports=d},{}],86:[function(a,b,c){var d=a("../contexts"),e=a("./visitor"),f=a("./import-sequencer"),g=function(a,b){this._visitor=new e(this),this._importer=a,this._finish=b,this.context=new d.Eval,this.importCount=0,this.onceFileDetectionMap={},this.recursionDetector={},this._sequencer=new f(this._onSequencerEmpty.bind(this))};g.prototype={isReplacing:!1,run:function(a){try{this._visitor.visit(a)}catch(b){this.error=b}this.isFinished=!0,this._sequencer.tryRun()},_onSequencerEmpty:function(){this.isFinished&&this._finish(this.error)},visitImport:function(a,b){var c=a.options.inline;if(!a.css||c){var e=new d.Eval(this.context,this.context.frames.slice(0)),f=e.frames[0];this.importCount++,a.isVariableImport()?this._sequencer.addVariableImport(this.processImportNode.bind(this,a,e,f)):this.processImportNode(a,e,f)}b.visitDeeper=!1},processImportNode:function(a,b,c){var d,e=a.options.inline;try{d=a.evalForImport(b)}catch(f){f.filename||(f.index=a.index,f.filename=a.currentFileInfo.filename),a.css=!0,a.error=f}if(!d||d.css&&!e)this.importCount--,this.isFinished&&this._sequencer.tryRun();else{d.options.multiple&&(b.importMultiple=!0);for(var g=void 0===d.css,h=0;h<c.rules.length;h++)if(c.rules[h]===a){c.rules[h]=d;break}var i=this.onImported.bind(this,d,b),j=this._sequencer.addImport(i);this._importer.push(d.getPath(),g,d.currentFileInfo,d.options,j)}},onImported:function(a,b,c,d,e,f){c&&(c.filename||(c.index=a.index,c.filename=a.currentFileInfo.filename),this.error=c);var g=this,h=a.options.inline,i=a.options.plugin,j=a.options.optional,k=e||f in g.recursionDetector;if(b.importMultiple||(a.skip=!!k||function(){return f in g.onceFileDetectionMap||(g.onceFileDetectionMap[f]=!0,!1)}),!f&&j&&(a.skip=!0),d&&(a.root=d,a.importedFilename=f,!h&&!i&&(b.importMultiple||!k))){g.recursionDetector[f]=!0;var l=this.context;this.context=b;try{this._visitor.visit(d)}catch(c){this.error=c}this.context=l}g.importCount--,g.isFinished&&g._sequencer.tryRun()},visitRule:function(a,b){"DetachedRuleset"===a.value.type?this.context.frames.unshift(a):b.visitDeeper=!1},visitRuleOut:function(a){"DetachedRuleset"===a.value.type&&this.context.frames.shift()},visitDirective:function(a,b){this.context.frames.unshift(a)},visitDirectiveOut:function(a){this.context.frames.shift()},visitMixinDefinition:function(a,b){this.context.frames.unshift(a)},visitMixinDefinitionOut:function(a){this.context.frames.shift()},visitRuleset:function(a,b){this.context.frames.unshift(a)},visitRulesetOut:function(a){this.context.frames.shift()},visitMedia:function(a,b){this.context.frames.unshift(a.rules[0])},visitMediaOut:function(a){this.context.frames.shift()}},b.exports=g},{"../contexts":11,"./import-sequencer":85,"./visitor":91}],87:[function(a,b,c){var d={Visitor:a("./visitor"),ImportVisitor:a("./import-visitor"),MarkVisibleSelectorsVisitor:a("./set-tree-visibility-visitor"),ExtendVisitor:a("./extend-visitor"),JoinSelectorVisitor:a("./join-selector-visitor"),ToCSSVisitor:a("./to-css-visitor")};b.exports=d},{"./extend-visitor":84,"./import-visitor":86,"./join-selector-visitor":88,"./set-tree-visibility-visitor":89,"./to-css-visitor":90,"./visitor":91}],88:[function(a,b,c){var d=a("./visitor"),e=function(){this.contexts=[[]],this._visitor=new d(this)};e.prototype={run:function(a){return this._visitor.visit(a)},visitRule:function(a,b){b.visitDeeper=!1},visitMixinDefinition:function(a,b){b.visitDeeper=!1},visitRuleset:function(a,b){var c,d=this.contexts[this.contexts.length-1],e=[];this.contexts.push(e),a.root||(c=a.selectors,c&&(c=c.filter(function(a){return a.getIsOutput()}),a.selectors=c.length?c:c=null,c&&a.joinSelectors(e,d,c)),c||(a.rules=null),a.paths=e)},visitRulesetOut:function(a){this.contexts.length=this.contexts.length-1},visitMedia:function(a,b){var c=this.contexts[this.contexts.length-1];a.rules[0].root=0===c.length||c[0].multiMedia},visitDirective:function(a,b){var c=this.contexts[this.contexts.length-1];a.rules&&a.rules.length&&(a.rules[0].root=a.isRooted||0===c.length||null)}},b.exports=e},{"./visitor":91}],89:[function(a,b,c){var d=function(a){this.visible=a};d.prototype.run=function(a){this.visit(a)},d.prototype.visitArray=function(a){if(!a)return a;var b,c=a.length;for(b=0;b<c;b++)this.visit(a[b]);return a},d.prototype.visit=function(a){return a?a.constructor===Array?this.visitArray(a):!a.blocksVisibility||a.blocksVisibility()?a:(this.visible?a.ensureVisibility():a.ensureInvisibility(),a.accept(this),a):a},b.exports=d},{}],90:[function(a,b,c){var d=a("../tree"),e=a("./visitor"),f=function(a){this._visitor=new e(this),this._context=a};f.prototype={containsSilentNonBlockedChild:function(a){var b;if(null==a)return!1;for(var c=0;c<a.length;c++)if(b=a[c],b.isSilent&&b.isSilent(this._context)&&!b.blocksVisibility())return!0;return!1},keepOnlyVisibleChilds:function(a){null!=a&&null!=a.rules&&(a.rules=a.rules.filter(function(a){return a.isVisible()}))},isEmpty:function(a){return null==a||null==a.rules||0===a.rules.length},hasVisibleSelector:function(a){return null!=a&&null!=a.paths&&a.paths.length>0},resolveVisibility:function(a,b){if(!a.blocksVisibility()){if(this.isEmpty(a)&&!this.containsSilentNonBlockedChild(b))return;return a}var c=a.rules[0];if(this.keepOnlyVisibleChilds(c),!this.isEmpty(c))return a.ensureVisibility(),a.removeVisibilityBlock(),a},isVisibleRuleset:function(a){return!!a.firstRoot||!this.isEmpty(a)&&!(!a.root&&!this.hasVisibleSelector(a))}};var g=function(a){this._visitor=new e(this),this._context=a,this.utils=new f(a)};g.prototype={isReplacing:!0,run:function(a){return this._visitor.visit(a)},visitRule:function(a,b){if(!a.blocksVisibility()&&!a.variable)return a},visitMixinDefinition:function(a,b){a.frames=[]},visitExtend:function(a,b){},visitComment:function(a,b){if(!a.blocksVisibility()&&!a.isSilent(this._context))return a},visitMedia:function(a,b){var c=a.rules[0].rules;return a.accept(this._visitor),b.visitDeeper=!1,this.utils.resolveVisibility(a,c)},visitImport:function(a,b){if(!a.blocksVisibility())return a},visitDirective:function(a,b){return a.rules&&a.rules.length?this.visitDirectiveWithBody(a,b):this.visitDirectiveWithoutBody(a,b)},visitDirectiveWithBody:function(a,b){function c(a){var b=a.rules;return 1===b.length&&(!b[0].paths||0===b[0].paths.length)}function d(a){var b=a.rules;return c(a)?b[0].rules:b}var e=d(a);return a.accept(this._visitor),b.visitDeeper=!1,this.utils.isEmpty(a)||this._mergeRules(a.rules[0].rules),this.utils.resolveVisibility(a,e)},visitDirectiveWithoutBody:function(a,b){if(!a.blocksVisibility()){if("@charset"===a.name){if(this.charset){if(a.debugInfo){var c=new d.Comment("/* "+a.toCSS(this._context).replace(/\n/g,"")+" */\n");return c.debugInfo=a.debugInfo,this._visitor.visit(c)}return}this.charset=!0}return a}},checkValidNodes:function(a,b){if(a)for(var c=0;c<a.length;c++){var e=a[c];if(b&&e instanceof d.Rule&&!e.variable)throw{message:"Properties must be inside selector blocks. They cannot be in the root",index:e.index,filename:e.currentFileInfo&&e.currentFileInfo.filename};if(e instanceof d.Call)throw{message:"Function '"+e.name+"' is undefined",index:e.index,filename:e.currentFileInfo&&e.currentFileInfo.filename};if(e.type&&!e.allowRoot)throw{message:e.type+" node returned by a function is not valid here",index:e.index,filename:e.currentFileInfo&&e.currentFileInfo.filename}}},visitRuleset:function(a,b){var c,d=[];if(this.checkValidNodes(a.rules,a.firstRoot),a.root)a.accept(this._visitor),b.visitDeeper=!1;else{this._compileRulesetPaths(a);for(var e=a.rules,f=e?e.length:0,g=0;g<f;)c=e[g],c&&c.rules?(d.push(this._visitor.visit(c)),e.splice(g,1),f--):g++;f>0?a.accept(this._visitor):a.rules=null,b.visitDeeper=!1}return a.rules&&(this._mergeRules(a.rules),this._removeDuplicateRules(a.rules)),this.utils.isVisibleRuleset(a)&&(a.ensureVisibility(),d.splice(0,0,a)),1===d.length?d[0]:d},_compileRulesetPaths:function(a){a.paths&&(a.paths=a.paths.filter(function(a){var b;for(" "===a[0].elements[0].combinator.value&&(a[0].elements[0].combinator=new d.Combinator("")),b=0;b<a.length;b++)if(a[b].isVisible()&&a[b].getIsOutput())return!0;return!1}))},_removeDuplicateRules:function(a){if(a){var b,c,e,f={};for(e=a.length-1;e>=0;e--)if(c=a[e],c instanceof d.Rule)if(f[c.name]){b=f[c.name],b instanceof d.Rule&&(b=f[c.name]=[f[c.name].toCSS(this._context)]);var g=c.toCSS(this._context);b.indexOf(g)!==-1?a.splice(e,1):b.push(g)}else f[c.name]=c}},_mergeRules:function(a){if(a){for(var b,c,e,f={},g=0;g<a.length;g++)c=a[g],c instanceof d.Rule&&c.merge&&(e=[c.name,c.important?"!":""].join(","),f[e]?a.splice(g--,1):f[e]=[],f[e].push(c));Object.keys(f).map(function(a){function e(a){return new d.Expression(a.map(function(a){return a.value}))}function g(a){return new d.Value(a.map(function(a){return a}))}if(b=f[a],b.length>1){c=b[0];var h=[],i=[];b.map(function(a){"+"===a.merge&&(i.length>0&&h.push(e(i)),i=[]),i.push(a)}),h.push(e(i)),c.value=g(h)}})}},visitAnonymous:function(a,b){if(!a.blocksVisibility())return a.accept(this._visitor),a}},b.exports=g},{"../tree":62,"./visitor":91}],91:[function(a,b,c){function d(a){return a}function e(a,b){var c,d;for(c in a)if(a.hasOwnProperty(c))switch(d=a[c],typeof d){case"function":d.prototype&&d.prototype.type&&(d.prototype.typeIndex=b++);break;case"object":b=e(d,b)}return b}var f=a("../tree"),g={visitDeeper:!0},h=!1,i=function(a){this._implementation=a,this._visitFnCache=[],h||(e(f,1),h=!0)};i.prototype={visit:function(a){if(!a)return a;var b=a.typeIndex;if(!b)return a;var c,e=this._visitFnCache,f=this._implementation,h=b<<1,i=1|h,j=e[h],k=e[i],l=g;if(l.visitDeeper=!0,j||(c="visit"+a.type,j=f[c]||d,k=f[c+"Out"]||d,e[h]=j,e[i]=k),j!==d){var m=j.call(f,a,l);f.isReplacing&&(a=m)}return l.visitDeeper&&a&&a.accept&&a.accept(this),k!=d&&k.call(f,a),a},visitArray:function(a,b){if(!a)return a;var c,d=a.length;if(b||!this._implementation.isReplacing){for(c=0;c<d;c++)this.visit(a[c]);return a}var e=[];for(c=0;c<d;c++){var f=this.visit(a[c]);void 0!==f&&(f.splice?f.length&&this.flatten(f,e):e.push(f))}return e},flatten:function(a,b){b||(b=[]);var c,d,e,f,g,h;for(d=0,c=a.length;d<c;d++)if(e=a[d],void 0!==e)if(e.splice)for(g=0,f=e.length;g<f;g++)h=e[g],void 0!==h&&(h.splice?h.length&&this.flatten(h,b):b.push(h));else b.push(e);return b}},b.exports=i},{"../tree":62}],92:[function(a,b,c){"use strict";function d(){if(i.length)throw i.shift()}function e(a){var b;b=h.length?h.pop():new f,b.task=a,g(b)}function f(){this.task=null}var g=a("./raw"),h=[],i=[],j=g.makeRequestCallFromTimer(d);b.exports=e,f.prototype.call=function(){try{this.task.call()}catch(a){e.onerror?e.onerror(a):(i.push(a),j())}finally{this.task=null,h[h.length]=this}}},{"./raw":93}],93:[function(a,b,c){(function(a){"use strict";function c(a){h.length||(g(),i=!0),h[h.length]=a}function d(){for(;j<h.length;){var a=j;if(j+=1,h[a].call(),j>k){for(var b=0,c=h.length-j;b<c;b++)h[b]=h[b+j];h.length-=j,j=0}}h.length=0,j=0,i=!1}function e(a){var b=1,c=new l(a),d=document.createTextNode("");return c.observe(d,{characterData:!0}),function(){b=-b,d.data=b}}function f(a){return function(){function b(){clearTimeout(c),clearInterval(d),a()}var c=setTimeout(b,0),d=setInterval(b,50)}}b.exports=c;var g,h=[],i=!1,j=0,k=1024,l=a.MutationObserver||a.WebKitMutationObserver;g="function"==typeof l?e(d):f(d),c.requestFlush=g,c.makeRequestCallFromTimer=f}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],94:[function(a,b,c){"use strict";function d(){}function e(a){try{return a.then}catch(b){return r=b,s}}function f(a,b){try{return a(b)}catch(c){return r=c,s}}function g(a,b,c){try{a(b,c)}catch(d){return r=d,s}}function h(a){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof a)throw new TypeError("not a function");this._45=0,this._81=0,this._65=null,this._54=null,a!==d&&p(a,this)}function i(a,b,c){return new a.constructor(function(e,f){var g=new h(d);g.then(e,f),j(a,new o(b,c,g))})}function j(a,b){for(;3===a._81;)a=a._65;return h._10&&h._10(a),0===a._81?0===a._45?(a._45=1,void(a._54=b)):1===a._45?(a._45=2,void(a._54=[a._54,b])):void a._54.push(b):void k(a,b)}function k(a,b){q(function(){var c=1===a._81?b.onFulfilled:b.onRejected;if(null===c)return void(1===a._81?l(b.promise,a._65):m(b.promise,a._65));var d=f(c,a._65);d===s?m(b.promise,r):l(b.promise,d)})}function l(a,b){if(b===a)return m(a,new TypeError("A promise cannot be resolved with itself."));if(b&&("object"==typeof b||"function"==typeof b)){var c=e(b);if(c===s)return m(a,r);if(c===a.then&&b instanceof h)return a._81=3,a._65=b,void n(a);if("function"==typeof c)return void p(c.bind(b),a)}a._81=1,a._65=b,n(a)}function m(a,b){a._81=2,a._65=b,h._97&&h._97(a,b),n(a)}function n(a){if(1===a._45&&(j(a,a._54),a._54=null),2===a._45){for(var b=0;b<a._54.length;b++)j(a,a._54[b]);a._54=null}}function o(a,b,c){this.onFulfilled="function"==typeof a?a:null,this.onRejected="function"==typeof b?b:null,this.promise=c}function p(a,b){var c=!1,d=g(a,function(a){c||(c=!0,l(b,a))},function(a){c||(c=!0,m(b,a))});c||d!==s||(c=!0,m(b,r))}var q=a("asap/raw"),r=null,s={};b.exports=h,h._10=null,h._97=null,h._61=d,h.prototype.then=function(a,b){if(this.constructor!==h)return i(this,a,b);var c=new h(d);return j(this,new o(a,b,c)),c}},{"asap/raw":93}],95:[function(a,b,c){"use strict";function d(a){var b=new e(e._61);return b._81=1,b._65=a,b}var e=a("./core.js");b.exports=e;var f=d(!0),g=d(!1),h=d(null),i=d(void 0),j=d(0),k=d("");e.resolve=function(a){if(a instanceof e)return a;if(null===a)return h;if(void 0===a)return i;if(a===!0)return f;if(a===!1)return g;if(0===a)return j;if(""===a)return k;if("object"==typeof a||"function"==typeof a)try{var b=a.then;if("function"==typeof b)return new e(b.bind(a))}catch(c){return new e(function(a,b){b(c)})}return d(a)},e.all=function(a){var b=Array.prototype.slice.call(a);return new e(function(a,c){function d(g,h){if(h&&("object"==typeof h||"function"==typeof h)){if(h instanceof e&&h.then===e.prototype.then){for(;3===h._81;)h=h._65;return 1===h._81?d(g,h._65):(2===h._81&&c(h._65),void h.then(function(a){d(g,a)},c))}var i=h.then;if("function"==typeof i){var j=new e(i.bind(h));return void j.then(function(a){d(g,a)},c)}}b[g]=h,0===--f&&a(b)}if(0===b.length)return a([]);for(var f=b.length,g=0;g<b.length;g++)d(g,b[g])})},e.reject=function(a){return new e(function(b,c){c(a)})},e.race=function(a){return new e(function(b,c){a.forEach(function(a){e.resolve(a).then(b,c)})})},e.prototype["catch"]=function(a){return this.then(null,a)}},{"./core.js":94}],96:[function(a,b,c){"function"!=typeof Promise.prototype.done&&(Promise.prototype.done=function(a,b){var c=arguments.length?this.then.apply(this,arguments):this;c.then(null,function(a){setTimeout(function(){throw a},0)})})},{}],97:[function(a,b,c){a("asap");"undefined"==typeof Promise&&(Promise=a("./lib/core.js"),a("./lib/es6-extensions.js")),a("./polyfill-done.js")},{"./lib/core.js":94,"./lib/es6-extensions.js":95,"./polyfill-done.js":96,asap:92}]},{},[2])(2)}); \ No newline at end of file
diff --git a/assets/js/multiactionform.js b/assets/js/multiactionform.js
index 1950608a..bda559ac 100644
--- a/assets/js/multiactionform.js
+++ b/assets/js/multiactionform.js
@@ -1,9 +1,11 @@
function checkAll(bool) {
+ var inputs = document
+ .getElementById('multi_form')
+ .getElementsByTagName('input');
- var inputs = document.getElementById('multi_form').getElementsByTagName('input');
-
- for (var i=0; i<inputs.length; i++) {
- if (inputs[i].type == 'checkbox')
- inputs[i].checked = bool;
- }
+ for (var i = 0; i < inputs.length; i++) {
+ if (inputs[i].type == 'checkbox') {
+ inputs[i].checked = bool;
+ }
+ }
}
diff --git a/assets/js/polyfills.js b/assets/js/polyfills.js
deleted file mode 100644
index a05f8d12..00000000
--- a/assets/js/polyfills.js
+++ /dev/null
@@ -1,74 +0,0 @@
-// Production steps of ECMA-262, Edition 5, 15.4.4.19
-// Reference: http://es5.github.com/#x15.4.4.19
-// See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map#Polyfill
-if (!Array.prototype.map) {
- Array.prototype.map = function (callback, thisArg) {
-
- var T, A, k;
-
- if (this == null) {
- throw new TypeError(" this is null or not defined");
- }
-
- // 1. Let O be the result of calling ToObject passing the |this| value as the argument.
- var O = Object(this);
-
- // 2. Let lenValue be the result of calling the Get internal method of O with the argument "length".
- // 3. Let len be ToUint32(lenValue).
- var len = O.length >>> 0;
-
- // 4. If IsCallable(callback) is false, throw a TypeError exception.
- // See: http://es5.github.com/#x9.11
- if (typeof callback !== "function") {
- throw new TypeError(callback + " is not a function");
- }
-
- // 5. If thisArg was supplied, let T be thisArg; else let T be undefined.
- if (thisArg) {
- T = thisArg;
- }
-
- // 6. Let A be a new array created as if by the expression new Array(len) where Array is
- // the standard built-in constructor with that name and len is the value of len.
- A = new Array(len);
-
- // 7. Let k be 0
- k = 0;
-
- // 8. Repeat, while k < len
- while (k < len) {
-
- var kValue, mappedValue;
-
- // a. Let Pk be ToString(k).
- // This is implicit for LHS operands of the in operator
- // b. Let kPresent be the result of calling the HasProperty internal method of O with argument Pk.
- // This step can be combined with c
- // c. If kPresent is true, then
- if (k in O) {
-
- // i. Let kValue be the result of calling the Get internal method of O with argument Pk.
- kValue = O[k];
-
- // ii. Let mappedValue be the result of calling the Call internal method of callback
- // with T as the this value and argument list containing kValue, k, and O.
- mappedValue = callback.call(T, kValue, k, O);
-
- // iii. Call the DefineOwnProperty internal method of A with arguments
- // Pk, Property Descriptor {Value: mappedValue, : true, Enumerable: true, Configurable: true},
- // and false.
-
- // In browsers that support Object.defineProperty, use the following:
- // Object.defineProperty(A, Pk, { value: mappedValue, writable: true, enumerable: true, configurable: true });
-
- // For best browser support, use the following:
- A[k] = mappedValue;
- }
- // d. Increase k by 1.
- k++;
- }
-
- // 9. return A
- return A;
- };
-}
diff --git a/assets/js/tables.js b/assets/js/tables.js
index 866ddeec..2ecc3119 100644
--- a/assets/js/tables.js
+++ b/assets/js/tables.js
@@ -7,12 +7,15 @@ function checkLengths(sValue, idx) {
return item.toString().toUpperCase();
});
// If the type has a predefined length on PostgreSQL, disable the length input field
- if (uppercase_predefined_lengths.indexOf(sValue.toString().toUpperCase()) !== -1) {
- document.getElementById("lengths" + idx).value = '';
- document.getElementById("lengths" + idx).disabled = 'on';
+ if (
+ uppercase_predefined_lengths.indexOf(sValue.toString().toUpperCase()) !==
+ -1
+ ) {
+ document.getElementById('lengths' + idx).value = '';
+ document.getElementById('lengths' + idx).disabled = 'on';
return;
}
- document.getElementById("lengths" + idx).disabled = '';
+ document.getElementById('lengths' + idx).disabled = '';
}
}
diff --git a/assets/templates/browser.twig b/assets/templates/browser.twig
index 7754ae38..91263933 100644
--- a/assets/templates/browser.twig
+++ b/assets/templates/browser.twig
@@ -1,71 +1,38 @@
<!DOCTYPE html>
-<html xml:lang="{{lang.applocale}}" lang="{{lang.applocale}}" dir="{{lang.applangdir}}">
-
- <head data-headertemplate="{{headertemplate}}">
- <link rel="stylesheet" href="{{subfolder}}/assets/vendor/jstree/themes/phppgadmin/style.css" /> {% include 'components/common_head.twig' %}
-
- <script src="{{subfolder}}/assets/vendor/jstree/jstree.min.js"></script>
- <style type="text/css">
- .refreshTree {
- position: absolute;
- right: 0;
- z-index: 1000;
- }
- </style>
- </head>
-
- <body class="browser">
-
- <div dir="{{lang.applangdir}}">
-
- <div class="logo">
- <a href="{{subfolder}}/" target="_parent">{{appName}}</a>
- </div>
- <div class="refreshTree">
- <a href="{{subfolder}}/src/views/browser" target="browser">
- <img src="{{icon.Refresh}}" alt="{{lang.strrefresh}}" title="{{lang.strrefresh}}" />
- </a>
- </div>
-
- <div id="lazy" class="demo"></div>
-
- </div>
-
- <script>
- window.jsTree = $('#lazy').jstree({
- "state": {
- "key": "jstree"
- },
- "plugins": ["state"],
- 'core': {
- 'data': {
- "url": function (node) {
- if (node.id === '#') {
- return '{{subfolder}}/src/views/browser?action=tree';
- } else {
- return node.original.url;
- }
- }
- }
- }
- });
- if(parent.frames && parent.frames.detail) {
- parent.frames.detail.jsTree=window.jsTree;
- }
-
- $('#lazy').on("activate_node.jstree", function (e, data) {
- if (window.parent.frames.detail) {
- window.parent.frames.detail.location.replace(data.node.a_attr.href);
- }
- });
- $('#lazy').on("loaded.jstree", function (e, data) {
- $('#lazy').data('jstree').show_dots();
- });
- $('#lazy').on('click','.jstree-anchor',function(){
- console.log(this);
- });
- </script>
-
- </body>
-
-</html> \ No newline at end of file
+<html xml:lang="{{ lang.applocale }}" lang="{{ lang.applocale }}" dir="{{ lang.applangdir }}">
+ <head data-headertemplate="{{ headertemplate }}">
+ <link rel="stylesheet" href="{{ subfolder }}/assets/vendor/jstree/themes/phppgadmin/style.css" /> {% include 'components/common_head.twig' %}
+
+ <script src="{{ subfolder }}/assets/vendor/jstree/jstree.min.js"></script>
+ <style type="text/css">
+ .refreshTree { position: absolute; right: 0; z-index: 1000; }
+ </style>
+ </head>
+
+ <body class="browser">
+ <div dir="{{ lang.applangdir }}">
+ <div class="logo">
+ <a href="{{ subfolder }}/" target="_parent">{{ appName }}</a>
+ </div>
+ <div class="refreshTree">
+ <a href="{{ subfolder }}/src/views/browser" target="browser">
+ <img src="{{ icon.Refresh }}" alt="{{ lang.strrefresh }}" title="{{ lang.strrefresh }}" />
+ </a>
+ </div>
+
+ <div id="lazy" class="demo"></div>
+ </div>
+
+ <script>
+ window.jsTree = $('#lazy').jstree({ "state": { "key": "jstree" }, "plugins": ["state"], 'core': { 'data': { "url":
+ function (node) { if (node.id === '#') { return '{{ subfolder }}/src/views/browser?action=tree'; } else { return
+ node.original.url; } } } } }); if(parent.frames && parent.frames.detail) {
+ parent.frames.detail.jsTree=window.jsTree; }
+
+ $('#lazy').on("activate_node.jstree", function (e, data) { if (window.parent.frames.detail) {
+ window.parent.frames.detail.location.replace(data.node.a_attr.href); } }); $('#lazy').on("loaded.jstree", function
+ (e, data) { $('#lazy').data('jstree').show_dots(); }); $('#lazy').on('click','.jstree-anchor',function(){
+ console.log(this); });
+ </script>
+ </body>
+</html>
diff --git a/assets/templates/components/common_head.twig b/assets/templates/components/common_head.twig
index 8c42716d..925f5028 100644
--- a/assets/templates/components/common_head.twig
+++ b/assets/templates/components/common_head.twig
@@ -1,7 +1,6 @@
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <link rel="stylesheet/less" href="{{subfolder}}/assets/themes/global.less" type="text/css" id="cssmain" />
- <script src="{{subfolder}}/assets/js/polyfills.js" type="text/javascript"></script>
- <script src="{{subfolder}}/assets/js/less.min.js" type="text/javascript"></script>
+
+ <link rel="stylesheet" href="{{subfolder}}/assets/themes/global.css" type="text/css" id="csstheme" />
<link rel="stylesheet" href="{{subfolder}}/assets/themes/{{theme}}/global.css" type="text/css" id="csstheme" />
<link rel="stylesheet" href="{{subfolder}}/assets/vendor/jquery/jquery-ui.min.css" type="text/css" />
<link rel="shortcut icon" href="{{Favicon}}" type="image/vnd.microsoft.icon" />
diff --git a/assets/templates/footer.twig b/assets/templates/footer.twig
index 835dcdd9..6acdf593 100644
--- a/assets/templates/footer.twig
+++ b/assets/templates/footer.twig
@@ -1,7 +1,4 @@
-{{script_footer|raw}} {% if print_bottom_link == true %}
-<a data-footertemplate="{{footer_template}}" href="#" class="bottom_link">{{lang.strgotoppage}}</a> {% endif %}
-<script src="{{subfolder}}/assets/js/footer_scripts.js" type="text/javascript"></script>
-
-</body>
-
-</html> \ No newline at end of file
+{{ script_footer|raw }} {% if print_bottom_link == true %}
+ <a data-footertemplate="{{ footer_template }}" href="#" class="bottom_link">{{ lang.strgotoppage }}</a>
+{% endif %}
+<script src="{{ subfolder }}/assets/js/footer_scripts.js" type="text/javascript"></script>
diff --git a/assets/templates/footer_iframe.twig b/assets/templates/footer_iframe.twig
index 936f9bd1..3469b3da 100644
--- a/assets/templates/footer_iframe.twig
+++ b/assets/templates/footer_iframe.twig
@@ -1,27 +1,13 @@
<script type="text/javascript">
-var dir = '{{lang.applangdir}}';
+ var dir = '{{ lang.applangdir }}';
-jQuery('#browser_container').resizable({
- handles: (dir === 'ltr') ? "e" : "w",
- start: function () {
- jQuery('#masking_overlay').css('display', 'block');
- },
- stop: function () {
- jQuery('#masking_overlay').css('display', 'none');
- }
+ jQuery('#browser_container').resizable({ handles: (dir === 'ltr') ? "e" : "w", start: function () {
+ jQuery('#masking_overlay').css('display', 'block'); }, stop: function () { jQuery('#masking_overlay').css('display',
+ 'none'); }
-});
+ });
-window.onpopstate = function (event) {
- console.log('onpopstate', {
- state: event.state
- });
- if (event.state && event.state.realurl) {
- var ifr = document.getElementById('detail')
- ifr.contentWindow.location.replace(event.state.realurl);
- }
-};
+ window.onpopstate = function (event) { console.log('onpopstate', { state: event.state }); if (event.state &&
+ event.state.realurl) { var ifr = document.getElementById('detail')
+ ifr.contentWindow.location.replace(event.state.realurl); } };
</script>
-</body>
-
-</html> \ No newline at end of file
diff --git a/assets/templates/footer_sqledit.twig b/assets/templates/footer_sqledit.twig
index 8db64d45..0e41d6cf 100644
--- a/assets/templates/footer_sqledit.twig
+++ b/assets/templates/footer_sqledit.twig
@@ -1,11 +1,6 @@
<script type="text/javascript">
-CodeMirror.modeURL = "{{subfolder}}/assets/vendor/codemirror/mode/%N/%N.js";
+ CodeMirror.modeURL = "{{ subfolder }}/assets/vendor/codemirror/mode/%N/%N.js";
</script>
-<script src="{{subfolder}}/assets/js/codemirror/codemirror_footer.js" type="text/javascript"></script>
-<!--<script src="{{subfolder}}/assets/js/footer_scripts.js" type="text/javascript"></script>-->
-<script src="{{subfolder}}/assets/js/footer_sqledit.js" type="text/javascript"></script>
-
-
-</body>
-
-</html> \ No newline at end of file
+<script src="{{ subfolder }}/assets/js/codemirror/codemirror_footer.js" type="text/javascript"></script>
+<!-- <script src="{{subfolder}}/assets/js/footer_scripts.js" type="text/javascript"></script> -->
+<script src="{{ subfolder }}/assets/js/footer_sqledit.js" type="text/javascript"></script>
diff --git a/assets/templates/header.twig b/assets/templates/header.twig
index 040505ba..23760de8 100644
--- a/assets/templates/header.twig
+++ b/assets/templates/header.twig
@@ -1,8 +1,3 @@
-<!DOCTYPE html>
-<html xml:lang="{{lang.applocale}}" lang="{{lang.applocale}}" dir="{{lang.applangdir}}">
-
- <head data-headertemplate="{{headertemplate}}">
- {% include 'components/common_head.twig' %}
-
- </head>
- \ No newline at end of file
+<head data-headertemplate="{{ headertemplate }}">
+ {% include 'components/common_head.twig' %}
+</head>
diff --git a/assets/templates/header_datatables.twig b/assets/templates/header_datatables.twig
index 32eaa73a..d0e451af 100644
--- a/assets/templates/header_datatables.twig
+++ b/assets/templates/header_datatables.twig
@@ -1,9 +1,6 @@
-<!DOCTYPE html>
-<html xml:lang="{{lang.applocale}}" lang="{{lang.applocale}}" dir="{{lang.applangdir}}">
+<head data-headertemplate="{{ headertemplate }}">
+ {% include 'components/common_head.twig' %}
- <head data-headertemplate="{{headertemplate}}">
- {% include 'components/common_head.twig' %}
-
- <link rel="stylesheet" href="{{subfolder}}/assets/vendor/datatables/datatables.min.css" type="text/css" />
- <script src="{{subfolder}}/assets/vendor/datatables/datatables.min.js"></script>
- </head> \ No newline at end of file
+ <link rel="stylesheet" href="{{ subfolder }}/assets/vendor/datatables/datatables.min.css" type="text/css" />
+ <script src="{{ subfolder }}/assets/vendor/datatables/datatables.min.js"></script>
+</head>
diff --git a/assets/templates/header_highlight.twig b/assets/templates/header_highlight.twig
index 7d7e9362..624c0e51 100644
--- a/assets/templates/header_highlight.twig
+++ b/assets/templates/header_highlight.twig
@@ -1,9 +1,8 @@
-<!DOCTYPE html>
-<html xml:lang="{{lang.applocale}}" lang="{{lang.applocale}}" dir="{{lang.applangdir}}">
+<head data-headertemplate="{{ headertemplate }}">
+ {% include 'components/common_head.twig' %}
- <head data-headertemplate="{{headertemplate}}">
- {% include 'components/common_head.twig' %}
-
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css" type="text/css" />
- <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
- </head> \ No newline at end of file
+ <link rel="stylesheet"
+ href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css"
+ type="text/css" />
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
+</head>
diff --git a/assets/templates/header_select2.twig b/assets/templates/header_select2.twig
index 8749a607..383e247d 100644
--- a/assets/templates/header_select2.twig
+++ b/assets/templates/header_select2.twig
@@ -1,10 +1,7 @@
-<!DOCTYPE html>
-<html xml:lang="{{lang.applocale}}" lang="{{lang.applocale}}" dir="{{lang.applangdir}}">
+<head data-headertemplate="{{ headertemplate }}">
+ {% include 'components/common_head.twig' %}
- <head data-headertemplate="{{headertemplate}}">
- {% include 'components/common_head.twig' %}
-
- <link rel="stylesheet" href="{{subfolder}}/assets/vendor/select2/css/select2.css" type="text/css" />
- <script src="{{subfolder}}/assets/vendor/select2/js/select2.full.min.js"></script>
- <script src="{{subfolder}}/assets/vendor/select2/js/i18n/{{lang.isolang}}.js"></script>
- </head> \ No newline at end of file
+ <link rel="stylesheet" href="{{ subfolder }}/assets/vendor/select2/css/select2.css" type="text/css" />
+ <script src="{{ subfolder }}/assets/vendor/select2/js/select2.full.min.js"></script>
+ <script src="{{ subfolder }}/assets/vendor/select2/js/i18n/{{ lang.isolang }}.js"></script>
+</head>
diff --git a/assets/templates/header_sqledit.twig b/assets/templates/header_sqledit.twig
index e783ee29..7ab07244 100644
--- a/assets/templates/header_sqledit.twig
+++ b/assets/templates/header_sqledit.twig
@@ -1,19 +1,11 @@
-<!DOCTYPE html>
-<html xml:lang="{{lang.applocale}}" lang="{{lang.applocale}}" dir="{{dir}}">
-
- <head data-headertemplate="{{headertemplate}}">
-
-
-
- {% include 'components/common_head.twig' %}
- <link href="{{subfolder}}/assets/vendor/codemirror/lib/codemirror.css" type="text/css" rel="stylesheet" />
- <script src="{{subfolder}}/assets/vendor/codemirror/lib/codemirror.js"></script>
- <script src="{{subfolder}}/assets/vendor/codemirror/addon/mode/loadmode.js"></script>
- <script src="{{subfolder}}/assets/vendor/codemirror/mode/meta.js"></script>
-
-
-
- {#
+<head data-headertemplate="{{ headertemplate }}">
+ {% include 'components/common_head.twig' %}
+ <link href="{{ subfolder }}/assets/vendor/codemirror/lib/codemirror.css" type="text/css" rel="stylesheet" />
+ <script src="{{ subfolder }}/assets/vendor/codemirror/lib/codemirror.js"></script>
+ <script src="{{ subfolder }}/assets/vendor/codemirror/addon/mode/loadmode.js"></script>
+ <script src="{{ subfolder }}/assets/vendor/codemirror/mode/meta.js"></script>
+
+ {#
<link href="{{subfolder}}/assets/vendor/codemirror/addon/fold/foldgutter.css" type="text/css" rel="stylesheet" />
<link href="{{subfolder}}/assets/vendor/codemirror/addon/hint/show-hint.css" type="text/css" rel="stylesheet" />
<script src="{{subfolder}}/assets/vendor/codemirror/addon/hint/show-hint.js"></script>
@@ -44,8 +36,4 @@
#}
-
- </head>
-
-
- \ No newline at end of file
+</head>
diff --git a/assets/templates/iframe_view.twig b/assets/templates/iframe_view.twig
index ee8f4d10..c6cb5949 100644
--- a/assets/templates/iframe_view.twig
+++ b/assets/templates/iframe_view.twig
@@ -1,18 +1,28 @@
-{% include 'header.twig' %}
+<!DOCTYPE html>
+<html xml:lang="{{ lang.applocale }}" lang="{{ lang.applocale }}" dir="{{ lang.applangdir }}">
+ {% include 'header.twig' %}
-<body class="flexbox_body {{lang.applangdir}}">
+ <body class="flexbox_body {{ lang.applangdir }}">
<div class="flexbox_wrapper">
- <div id="masking_overlay"></div>
- <div id="browser_container">
-
- <iframe src="{{subfolder}}/src/views/browser" name="browser" id="browser" class="browser_container" frameborder="0" />
- <p>Your browser does not support iframes.</p>
- </iframe>
- </div>
-
- <iframe src="{{subfolder}}{{url}}" name="detail" id="detail" class="detail_container" frameborder="0" />
- <p>Your browser does not support iframes.</p>
+ <div id="masking_overlay"></div>
+ <div id="browser_container">
+ <iframe src="{{ subfolder }}/src/views/browser"
+ name="browser"
+ id="browser"
+ class="browser_container"
+ frameborder="0">
+ <p>
+ Your browser does not support iframes.
+ </p>
</iframe>
+ </div>
+ <iframe src="{{ subfolder }}{{ url }}" name="detail" id="detail" class="detail_container" frameborder="0">
+ <p>
+ Your browser does not support iframes.
+ </p>
+ </iframe>
</div>
- {% include 'footer_iframe.twig' %} \ No newline at end of file
+ {% include 'footer_iframe.twig' %}
+ </body>
+</html>
diff --git a/composer.json b/composer.json
index 3df8ff02..fb8121a1 100644
--- a/composer.json
+++ b/composer.json
@@ -1,72 +1,76 @@
{
- "name": "huasofoundries/phppgadmin6",
- "type": "project",
- "description": "Like phpmyadmin but for postgres",
- "license": [
- "MIT",
- "GPL-2.0-OR-LATER",
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "FFFlabs",
- "email": "amenadiel@gmail.com"
- }
- ],
- "require": {
- "php": ">=7.1",
- "ext-pgsql": "*",
- "adodb/adodb-php": "^5.20",
- "slim/flash": "^0.4.0",
- "slim/slim": "^3.6",
- "slim/twig-view": "~2.5.1",
- "symfony/yaml": "^5.0",
- "twig/twig": "~1.42.4"
- },
- "require-dev": {
- "codeception/codeception": "*",
- "codeception/module-asserts": "^1.1",
- "ergebnis/composer-normalize": "^2.2",
- "ergebnis/php-cs-fixer-config": "^2.0",
- "filp/whoops": "^2.7",
- "friendsofphp/php-cs-fixer": "^2.16",
- "kint-php/kint": "~3.3",
- "ocramius/package-versions": "~1.4.0",
- "php-parallel-lint/php-parallel-lint": "^1.2",
- "phpstan/phpstan": "^0.12.14",
- "simpletest/simpletest": "^1.1",
- "vimeo/psalm": "~3.9.3"
- },
- "extra": {
- "version": "6.0.0"
- },
- "autoload": {
- "psr-4": {
- "PHPPgAdmin\\": "src/classes",
- "PHPPgAdmin\\Controller\\": "src/controllers",
- "PHPPgAdmin\\Middleware\\": "src/middleware",
- "PHPPgAdmin\\Database\\": "src/database",
- "PHPPgAdmin\\XHtml\\": "src/xhtml",
- "PHPPgAdmin\\Decorators\\": "src/decorators",
- "PHPPgAdmin\\Traits\\": "src/traits",
- "PHPPgAdmin\\Database\\Traits\\": "src/database/databasetraits",
- "PHPPgAdmin\\Help\\": "src/help",
- "PHPPgAdmin\\Translations\\": "src/translations"
- },
- "files": [
- "vendor/adodb/adodb-php/drivers/adodb-postgres9.inc.php",
-"vendor/adodb/adodb-php/drivers/adodb-pdo.inc.php",
-"vendor/adodb/adodb-php/drivers/adodb-pdo_pgsql.inc.php"
- ]
- },
- "scripts": {
- "post-install-cmd": "@clear_twig_cache",
- "post-create-project-cmd": "@clear_twig_cache",
- "clear_twig_cache": [
- "make fix_permissions",
- "php -r \"array_map( 'unlink', array_filter((array) glob('temp/twigcache/**/*.php', GLOB_BRACE)));\"",
- "php -r \"array_map( 'rmdir', array_filter((array) glob('temp/twigcache/*', GLOB_BRACE)));\""
- ],
- "phpstan": "phpstan analyse src "
+ "name": "huasofoundries/phppgadmin6",
+ "type": "project",
+ "description": "Like phpmyadmin but for postgres",
+ "license": [
+ "MIT",
+ "GPL-2.0-OR-LATER",
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "FFFlabs",
+ "email": "amenadiel@gmail.com"
}
+ ],
+ "require": {
+ "php": ">=7.1",
+ "ext-mbstring": "*",
+ "ext-xml": "*",
+ "ext-json": "*",
+ "ext-pgsql": "*",
+ "adodb/adodb-php": "^5.20",
+ "slim/flash": "^0.4.0",
+ "slim/slim": "^3.6",
+ "slim/twig-view": "~2.5.1",
+
+ "symfony/yaml": "^5.0",
+ "twig/twig": "~1.42.4"
+ },
+ "require-dev": {
+ "codeception/codeception": "*",
+ "codeception/module-asserts": "^1.1",
+ "ergebnis/composer-normalize": "^2.2",
+ "ergebnis/php-cs-fixer-config": "^2.0",
+ "filp/whoops": "^2.7",
+ "friendsofphp/php-cs-fixer": "^2.16",
+ "kint-php/kint": "~3.3",
+ "ocramius/package-versions": "~1.4.0",
+ "php-parallel-lint/php-parallel-lint": "^1.2",
+ "phpstan/phpstan": "^0.12.14",
+ "simpletest/simpletest": "^1.1",
+ "vimeo/psalm": "~3.9.3"
+ },
+ "extra": {
+ "version": "6.0.0"
+ },
+ "autoload": {
+ "psr-4": {
+ "PHPPgAdmin\\": "src/classes",
+ "PHPPgAdmin\\Controller\\": "src/controllers",
+ "PHPPgAdmin\\Middleware\\": "src/middleware",
+ "PHPPgAdmin\\Database\\": "src/database",
+ "PHPPgAdmin\\XHtml\\": "src/xhtml",
+ "PHPPgAdmin\\Decorators\\": "src/decorators",
+ "PHPPgAdmin\\Traits\\": "src/traits",
+ "PHPPgAdmin\\Database\\Traits\\": "src/database/databasetraits",
+ "PHPPgAdmin\\Help\\": "src/help",
+ "PHPPgAdmin\\Translations\\": "src/translations"
+ },
+ "files": [
+ "vendor/adodb/adodb-php/drivers/adodb-postgres9.inc.php",
+ "vendor/adodb/adodb-php/drivers/adodb-pdo.inc.php",
+ "vendor/adodb/adodb-php/drivers/adodb-pdo_pgsql.inc.php"
+ ]
+ },
+ "scripts": {
+ "post-install-cmd": "@clear_twig_cache",
+ "post-create-project-cmd": "@clear_twig_cache",
+ "clear_twig_cache": [
+ "make fix_permissions",
+ "php -r \"array_map( 'unlink', array_filter((array) glob('temp/twigcache/**/*.php', GLOB_BRACE)));\"",
+ "php -r \"array_map( 'rmdir', array_filter((array) glob('temp/twigcache/*', GLOB_BRACE)));\""
+ ],
+ "phpstan": "phpstan analyse src "
+ }
}
diff --git a/package.json b/package.json
index 92f92bd6..e64c96ea 100644
--- a/package.json
+++ b/package.json
@@ -5,11 +5,27 @@
"repository": "git@github.com:HuasoFoundries/phpPgAdmin6.git",
"author": "ffflabs <amenadiel@gmail.com>",
"license": "MIT",
+ "scripts": {
+ "build": "npm run compile_less && workbox injectManifest workbox-config.js",
+ "compile_less": "lessc assets/themes/global.less assets/themes/global.css",
+ "eslint": "eslint --fix --ext js --ignore-path .eslintignore assets",
+ "prettier": "node_modules/.bin/prettier -c --config .prettierrc.js assets/{js,themes,templates}/*"
+ },
"devDependencies": {
+ "@types/jquery": "^3.5.1",
+ "@typescript-eslint/eslint-plugin": "^4.3.0",
+ "@typescript-eslint/parser": "^4.3.0",
"babel-eslint": "^10.1.0",
- "eslint": "^7.8.1",
- "eslint-config-prettier": "^6.11.0",
+ "eslint": "^7.10.0",
+ "eslint-config-prettier": "^6.12.0",
"eslint-plugin-prettier": "^3.1.4",
- "prettier": "^2.1.1"
- }
+ "lessc": "^1.0.2",
+ "melody-idom": "^1.7.5",
+ "melody-runtime": "^1.7.5",
+ "prettier": "^2.1.2",
+ "prettier-plugin-twig-melody": "^0.4.6",
+ "tslib": "^2.0.1",
+ "typescript": "^4.0.3"
+ },
+ "dependencies": {}
}
diff --git a/phpstan.neon b/phpstan.neon
index 8f96d6e8..ca5b831a 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -1,4 +1,5 @@
-
+includes:
+ - phpstan-baseline.neon
parameters:
@@ -31,33 +32,3 @@ parameters:
- ignoreErrors:
-
-# -
-# message: "#^Offset '[a-zA-Z0-9_]+' does not exist on array[.*].$#"
-# path: src/*
- -
- message: "#^PHPDoc tag @param references unknown parameter\\: \\$[a-zA-Z0-9_]+$#"
- path: src/*
- -
- message: "#^Access to an undefined property Psr\\\\[a-zA-Z0-9_]+\\\\[a-zA-Z0-9_]+\\:\\:\\$[a-zA-Z0-9_]+\\.$#"
- path: src/*
-
- -
- message: "#^Access to an undefined property PHPPgAdmin\\\\[a-zA-Z0-9_]+\\\\[a-zA-Z0-9_]+\\:\\:\\$[a-zA-Z0-9_]+\\.$#"
- path: src/*
- -
- message: "#^Result of method PHPPgAdmin\\\\[a-zA-Z0-9_]+\\\\[a-zA-Z0-9_]+\\:\\:[a-zA-Z0-9_]+\\(\\) \\(void\\) is used\\.$#"
- path: src/*
-
- -
- message: "#^Call to static method br2ln\\(\\) on trait PHPPgAdmin\\Traits\\HelperTrait\\.#"
- path: src/*
-
- -
- message: "#^Constructor of class [a-zA-Z0-9_]+\\\\[a-zA-Z0-9_]+\\\\[a-zA-Z0-9_]+ has an unused parameter \\$[a-zA-Z0-9_]+\\.$#"
- path: src/*
- #- '#Property [^\s] has no typehint specified#'
- #- '#Call to an undefined method [a-zA-Z0-9\\_]+::expects\(\)#'
- #- '#Access to an undefined property PHPPgAdmin::\$[a-zA-Z0-9_]+#'
- #- '#Call to an undefined method PHPUnit_Framework_MockObject_MockObject::[a-zA-Z0-9_]+\(\)#'
diff --git a/psalm.xml b/psalm.xml
index 03fcae93..2ed15e95 100644
--- a/psalm.xml
+++ b/psalm.xml
@@ -1,19 +1,14 @@
<?xml version="1.0"?>
-<psalm
- totallyTyped="false"
- errorLevel="3"
- resolveFromConfigFile="true"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://getpsalm.org/schema/config"
- xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
-
- errorBaseline="psalm-baseline.xml">
+<psalm totallyTyped="false" errorLevel="3" resolveFromConfigFile="true"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoloader="src/lib.inc.php"
+ xmlns="https://getpsalm.org/schema/config" cacheDirectory=".build/psalm" xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd" errorBaseline="psalm-baseline.xml">
<projectFiles>
<directory name="src" />
<ignoreFiles>
<directory name="vendor" />
<directory name="temp" />
<directory name="tests" />
+ <directory name=".build" />
</ignoreFiles>
</projectFiles>
diff --git a/src/classes/ADOdbException.php b/src/classes/ADOdbException.php
index 59456343..dde45a8b 100644
--- a/src/classes/ADOdbException.php
+++ b/src/classes/ADOdbException.php
@@ -44,7 +44,7 @@ class ADOdbException extends \Exception
*
* @param string $dbms the RDBMS you are connecting to
* @param string $fn the name of the calling function (in uppercase)
- * @param number $errno the native error number from the database
+ * @param int $errno the native error number from the database
* @param string $errmsg the native error msg from the database
* @param string $p1 $fn specific parameter - see below
* @param string $p2 parameter 2
@@ -95,7 +95,7 @@ class ADOdbException extends \Exception
*
* @param string $dbms the RDBMS you are connecting to
* @param string $fn the name of the calling function (in uppercase)
- * @param number $errno the native error number from the database
+ * @param int $errno the native error number from the database
* @param string $errmsg the native error msg from the database
* @param string $p1 $fn specific parameter - see below
* @param string $p2 parameter 2
diff --git a/src/classes/Connection.php b/src/classes/Connection.php
index c63ffe21..d0eec0bf 100644
--- a/src/classes/Connection.php
+++ b/src/classes/Connection.php
@@ -89,9 +89,9 @@ class Connection
$this->prtrace(['message' => $e->getMessage(), 'trace' => $e->getTraceAsString()]);
*/
try {
- $connectionResult = 'pdo' === $this->adodb_driver ?
- $this->getPDOConnection($host, $port, $sslmode, $database, $user, $password, $fetchMode) :
- $this->getPG9Connection($host, $port, $sslmode, $database, $user, $password, $fetchMode);
+ $this->_connection_result = 'pdo' === $this->adodb_driver ?
+ $this->getPDOConnection($host, $port, $sslmode, $database, $user, $password, $fetchMode) :
+ $this->getPG9Connection($host, $port, $sslmode, $database, $user, $password, $fetchMode);
//$this->prtrace($this->conn);
} catch (\Exception $e) {
@@ -171,8 +171,7 @@ class Connection
?string $user,
?string $password,
int $fetchMode = \ADODB_FETCH_ASSOC
- ): \ADODB_postgres9
- {
+ ): \ADODB_postgres9 {
$this->conn = ADONewConnection('postgres9');
$this->conn->setFetchMode($fetchMode);
// Ignore host if null
@@ -206,8 +205,7 @@ class Connection
?string $user,
?string $password,
int $fetchMode = \ADODB_FETCH_ASSOC
- ): \ADODB_pdo
- {
+ ): \ADODB_pdo {
$this->conn = ADONewConnection('pdo');
$this->conn->setFetchMode($fetchMode);
$dsnString = \sprintf('pgsql:host=%s;port=%d;dbname=%s;sslmode=%s;application_name=PHPPgAdmin6', $host, $port, $database, $sslmode);
diff --git a/src/classes/ContainerUtils.php b/src/classes/ContainerUtils.php
index 008214ff..10498c57 100644
--- a/src/classes/ContainerUtils.php
+++ b/src/classes/ContainerUtils.php
@@ -8,6 +8,7 @@ namespace PHPPgAdmin;
use Slim\App;
use Slim\Container;
+use requestInstance;
\defined('BASE_PATH') || \define('BASE_PATH', \dirname(__DIR__, 2));
\defined('THEME_PATH') || \define('THEME_PATH', BASE_PATH . '/assets/themes');
@@ -178,10 +179,10 @@ class ContainerUtils
*/
public function getRedirectUrl()
{
- $query_string = $this->container->requestobj->getUri()->getQuery();
+ $query_string = requestInstance()->getUri()->getQuery();
// if server_id isn't set, then you will be redirected to intro
- if (null === $this->container->requestobj->getQueryParam('server')) {
+ if (null === requestInstance()->getQueryParam('server')) {
$destinationurl = self::SUBFOLDER . '/src/views/intro';
} else {
// otherwise, you'll be redirected to the login page for that server;
diff --git a/src/classes/Misc.php b/src/classes/Misc.php
index fbb4b161..0cd3b75d 100644
--- a/src/classes/Misc.php
+++ b/src/classes/Misc.php
@@ -210,7 +210,7 @@ class Misc
*/
public function serverToSha()
{
- $request_server = $this->container->requestobj->getParam('server');
+ $request_server = \requestInstance()->getParam('server');
if (null === $request_server) {
return null;
@@ -563,7 +563,7 @@ class Misc
public function setServerInfo($key, $value, $server_id = null): void
{
if (null === $server_id) {
- $server_id = $this->container->requestobj->getParam('server');
+ $server_id = requestInstance()->getParam('server');
}
if (null === $key) {
diff --git a/src/controllers/AlldbController.php b/src/controllers/AlldbController.php
index a940a35c..9e184d3b 100644
--- a/src/controllers/AlldbController.php
+++ b/src/controllers/AlldbController.php
@@ -106,7 +106,7 @@ class AlldbController extends BaseController
$this->misc->setReloadBrowser(true);
$href = $this->misc->getHREF();
- $redirecturl = $this->container->utils->getDestinationWithLastTab('database');
+ $redirecturl = $this->container->getDestinationWithLastTab('database');
$columns = [
'database' => [
diff --git a/src/controllers/BaseController.php b/src/controllers/BaseController.php
index 5eec5f66..e56c3561 100644
--- a/src/controllers/BaseController.php
+++ b/src/controllers/BaseController.php
@@ -80,7 +80,7 @@ class BaseController
protected $script;
/**
- * @var \Slim\Container
+ * @var \PHPPgAdmin\ContainerUtils
*/
protected $container;
@@ -127,10 +127,10 @@ class BaseController
/**
* Constructs the base controller (common for almost all controllers).
*
- * @param \Slim\Container $container the $app container
+ * @param \PHPPgAdmin\ContainerUtils $container the $app container
* @param bool $no_db_connection [optional] if true, sets $this->misc->setNoDBConnection(true);
*/
- public function __construct(\Slim\Container $container)
+ public function __construct(\PHPPgAdmin\ContainerUtils $container)
{
$this->container = $container;
$this->lang = $container->get('lang');
@@ -160,25 +160,27 @@ class BaseController
if (true === $this->no_db_connection) {
$this->misc->setNoDBConnection(true);
}
+$this->renderInitialPageIfNotLogged();
+
+ }
+private function renderInitialPageIfNotLogged() {
+ if (false === $this->misc->getNoDBConnection()) {
+ if (null === $this->misc->getServerId()) {
+ $servers_controller = new \PHPPgAdmin\Controller\ServersController($this->container);
- if (false === $this->misc->getNoDBConnection()) {
- if (null === $this->misc->getServerId()) {
- $servers_controller = new \PHPPgAdmin\Controller\ServersController($container);
-
- return $servers_controller->render();
- }
- $_server_info = $this->misc->getServerInfo();
- // Redirect to the login form if not logged in
- if (!isset($_server_info['username'])) {
- $msg = \sprintf($this->lang['strlogoutmsg'], $_server_info['desc']);
+ return $servers_controller->render();
+ }
+ $_server_info = $this->misc->getServerInfo();
+ // Redirect to the login form if not logged in
+ if (!isset($_server_info['username'])) {
+ $msg = \sprintf($this->lang['strlogoutmsg'], $_server_info['desc']??'');
- $servers_controller = new \PHPPgAdmin\Controller\ServersController($container);
+ $servers_controller = new \PHPPgAdmin\Controller\ServersController($this->container);
- return $servers_controller->render();
- }
+ return $servers_controller->render();
}
}
-
+}
/**
* Default method to render the controller according to the action parameter. It should return with a PSR
* responseObject but it prints texts whatsoeever.
diff --git a/src/controllers/DatabaseController.php b/src/controllers/DatabaseController.php
index 02a30949..f6cc5ec3 100644
--- a/src/controllers/DatabaseController.php
+++ b/src/controllers/DatabaseController.php
@@ -642,7 +642,7 @@ class DatabaseController extends BaseController
switch ($curr) {
case 'SCHEMA':
- $destination = $this->container->utils->getDestinationWithLastTab('schema');
+ $destination = $this->container->getDestinationWithLastTab('schema');
echo '<li><a href="' . self::SUBFOLDER . "{$destination}";
echo $this->misc->printVal($rs->fields['name']), '">';
echo $this->_highlight($this->misc->printVal($rs->fields['name']), $_REQUEST['term']);
@@ -652,7 +652,7 @@ class DatabaseController extends BaseController
case 'TABLE':
echo '<li>';
echo "<a href=\"tables?subject=schema&{$this->misc->href}&schema=", \urlencode($rs->fields['schemaname']), '">', $this->misc->printVal($rs->fields['schemaname']), '</a>.';
- $destination = $this->container->utils->getDestinationWithLastTab('table');
+ $destination = $this->container->getDestinationWithLastTab('table');
echo '<a href="' . self::SUBFOLDER . "{$destination}?{$this->misc->href}&schema=", \urlencode($rs->fields['schemaname']), '&amp;table=',
\urlencode($rs->fields['name']), '">', $this->_highlight($this->misc->printVal($rs->fields['name']), $_REQUEST['term']), '</a></li>' . \PHP_EOL;
@@ -660,7 +660,7 @@ class DatabaseController extends BaseController
case 'VIEW':
echo '<li>';
echo "<a href=\"views?subject=schema&{$this->misc->href}&schema=", \urlencode($rs->fields['schemaname']), '">', $this->misc->printVal($rs->fields['schemaname']), '</a>.';
- $destination = $this->container->utils->getDestinationWithLastTab('view');
+ $destination = $this->container->getDestinationWithLastTab('view');
echo '<a href="' . self::SUBFOLDER . "{$destination}?{$this->misc->href}&schema=", \urlencode($rs->fields['schemaname']), '&amp;view=',
\urlencode($rs->fields['name']), '">', $this->_highlight($this->misc->printVal($rs->fields['name']), $_REQUEST['term']), '</a></li>' . \PHP_EOL;
@@ -674,7 +674,7 @@ class DatabaseController extends BaseController
break;
case 'COLUMNTABLE':
echo '<li>';
- $destination = $this->container->utils->getDestinationWithLastTab('schema');
+ $destination = $this->container->getDestinationWithLastTab('schema');
echo '<a href="' . self::SUBFOLDER . "{$destination}?{$this->misc->href}&schema=", \urlencode($rs->fields['schemaname']), '">', $this->misc->printVal($rs->fields['schemaname']), '</a>.';
echo "<a href=\"tblproperties?subject=table&{$this->misc->href}&table=", \urlencode($rs->fields['relname']), '&amp;schema=', \urlencode($rs->fields['schemaname']), '">', $this->misc->printVal($rs->fields['relname']), '</a>.';
echo "<a href=\"colproperties?{$this->misc->href}&schema=", \urlencode($rs->fields['schemaname']), '&amp;table=',
@@ -684,7 +684,7 @@ class DatabaseController extends BaseController
break;
case 'COLUMNVIEW':
echo '<li>';
- $destination = $this->container->utils->getDestinationWithLastTab('schema');
+ $destination = $this->container->getDestinationWithLastTab('schema');
echo '<a href="' . self::SUBFOLDER . "{$destination}?{$this->misc->href}&schema=", \urlencode($rs->fields['schemaname']), '">', $this->misc->printVal($rs->fields['schemaname']), '</a>.';
echo "<a href=\"viewproperties?subject=view&{$this->misc->href}&view=", \urlencode($rs->fields['relname']), '&amp;schema=', \urlencode($rs->fields['schemaname']), '">', $this->misc->printVal($rs->fields['relname']), '</a>.';
echo "<a href=\"colproperties?{$this->misc->href}&schema=", \urlencode($rs->fields['schemaname']), '&amp;view=',
@@ -694,18 +694,18 @@ class DatabaseController extends BaseController
break;
case 'INDEX':
echo '<li>';
- $destination = $this->container->utils->getDestinationWithLastTab('schema');
+ $destination = $this->container->getDestinationWithLastTab('schema');
echo '<a href="' . self::SUBFOLDER . "{$destination}?{$this->misc->href}&schema=", \urlencode($rs->fields['schemaname']), '">', $this->misc->printVal($rs->fields['schemaname']), '</a>.';
- $destination = $this->container->utils->getDestinationWithLastTab('table');
+ $destination = $this->container->getDestinationWithLastTab('table');
echo '<a href="' . self::SUBFOLDER . "{$destination}?{$this->misc->href}&table=", \urlencode($rs->fields['relname']), '&amp;schema=', \urlencode($rs->fields['schemaname']), '">', $this->misc->printVal($rs->fields['relname']), '</a>.';
echo "<a href=\"indexes?{$this->misc->href}&schema=", \urlencode($rs->fields['schemaname']), '&amp;table=', \urlencode($rs->fields['relname']), '">', $this->_highlight($this->misc->printVal($rs->fields['name']), $_REQUEST['term']), '</a></li>' . \PHP_EOL;
break;
case 'CONSTRAINTTABLE':
echo '<li>';
- $destination = $this->container->utils->getDestinationWithLastTab('schema');
+ $destination = $this->container->getDestinationWithLastTab('schema');
echo '<a href="' . self::SUBFOLDER . "{$destination}?{$this->misc->href}&schema=", \urlencode($rs->fields['schemaname']), '">', $this->misc->printVal($rs->fields['schemaname']), '</a>.';
- $destination = $this->container->utils->getDestinationWithLastTab('table');
+ $destination = $this->container->getDestinationWithLastTab('table');
echo '<a href="' . self::SUBFOLDER . "{$destination}?{$this->misc->href}&table=", \urlencode($rs->fields['relname']), '&amp;schema=', \urlencode($rs->fields['schemaname']), '">', $this->misc->printVal($rs->fields['relname']), '</a>.';
echo "<a href=\"constraints?{$this->misc->href}&schema=", \urlencode($rs->fields['schemaname']), '&amp;table=',
\urlencode($rs->fields['relname']), '">', $this->_highlight($this->misc->printVal($rs->fields['name']), $_REQUEST['term']), '</a></li>' . \PHP_EOL;
@@ -720,9 +720,9 @@ class DatabaseController extends BaseController
break;
case 'TRIGGER':
echo '<li>';
- $destination = $this->container->utils->getDestinationWithLastTab('schema');
+ $destination = $this->container->getDestinationWithLastTab('schema');
echo '<a href="' . self::SUBFOLDER . "{$destination}?{$this->misc->href}&schema=", \urlencode($rs->fields['schemaname']), '">', $this->misc->printVal($rs->fields['schemaname']), '</a>.';
- $destination = $this->container->utils->getDestinationWithLastTab('table');
+ $destination = $this->container->getDestinationWithLastTab('table');
echo '<a href="' . self::SUBFOLDER . "{$destination}?{$this->misc->href}&table=", \urlencode($rs->fields['relname']), '&amp;schema=', \urlencode($rs->fields['schemaname']), '">', $this->misc->printVal($rs->fields['relname']), '</a>.';
echo "<a href=\"triggers?{$this->misc->href}&schema=", \urlencode($rs->fields['schemaname']), '&amp;table=', \urlencode($rs->fields['relname']), '">',
$this->_highlight($this->misc->printVal($rs->fields['name']), $_REQUEST['term']), '</a></li>' . \PHP_EOL;
@@ -730,9 +730,9 @@ class DatabaseController extends BaseController
break;
case 'RULETABLE':
echo '<li>';
- $destination = $this->container->utils->getDestinationWithLastTab('schema');
+ $destination = $this->container->getDestinationWithLastTab('schema');
echo '<a href="' . self::SUBFOLDER . "{$destination}?{$this->misc->href}&schema=", \urlencode($rs->fields['schemaname']), '">', $this->misc->printVal($rs->fields['schemaname']), '</a>.';
- $destination = $this->container->utils->getDestinationWithLastTab('table');
+ $destination = $this->container->getDestinationWithLastTab('table');
echo '<a href="' . self::SUBFOLDER . "{$destination}?{$this->misc->href}&table=", \urlencode($rs->fields['relname']), '&amp;schema=', \urlencode($rs->fields['schemaname']), '">', $this->misc->printVal($rs->fields['relname']), '</a>.';
echo "<a href=\"rules?subject=table&{$this->misc->href}&schema=", \urlencode($rs->fields['schemaname']), '&amp;reltype=table&amp;table=',
\urlencode($rs->fields['relname']), '">', $this->_highlight($this->misc->printVal($rs->fields['name']), $_REQUEST['term']), '</a></li>' . \PHP_EOL;
@@ -740,9 +740,9 @@ class DatabaseController extends BaseController
break;
case 'RULEVIEW':
echo '<li>';
- $destination = $this->container->utils->getDestinationWithLastTab('schema');
+ $destination = $this->container->getDestinationWithLastTab('schema');
echo '<a href="' . self::SUBFOLDER . "{$destination}?{$this->misc->href}&schema=", \urlencode($rs->fields['schemaname']), '">', $this->misc->printVal($rs->fields['schemaname']), '</a>.';
- $destination = $this->container->utils->getDestinationWithLastTab('view');
+ $destination = $this->container->getDestinationWithLastTab('view');
echo '<a href="' . self::SUBFOLDER . "{$destination}?{$this->misc->href}&view=", \urlencode($rs->fields['relname']), '&amp;schema=', \urlencode($rs->fields['schemaname']), '">', $this->misc->printVal($rs->fields['relname']), '</a>.';
echo "<a href=\"rules?subject=view&{$this->misc->href}&schema=", \urlencode($rs->fields['schemaname']), '&amp;reltype=view&amp;view=',
\urlencode($rs->fields['relname']), '">', $this->_highlight($this->misc->printVal($rs->fields['name']), $_REQUEST['term']), '</a></li>' . \PHP_EOL;
@@ -797,7 +797,7 @@ class DatabaseController extends BaseController
break;
case 'OPCLASS':
echo '<li>';
- $destination = $this->container->utils->getDestinationWithLastTab('schema');
+ $destination = $this->container->getDestinationWithLastTab('schema');
echo '<a href="' . self::SUBFOLDER . "{$destination}?{$this->misc->href}&schema=", \urlencode($rs->fields['schemaname']), '">', $this->misc->printVal($rs->fields['schemaname']), '</a>.';
echo "<a href=\"opclasses?{$this->misc->href}&schema=", \urlencode($rs->fields['schemaname']), '">',
$this->_highlight($this->misc->printVal($rs->fields['name']), $_REQUEST['term']), '</a></li>' . \PHP_EOL;
diff --git a/src/controllers/DisplayController.php b/src/controllers/DisplayController.php
index 55f96665..cf2fc06e 100644
--- a/src/controllers/DisplayController.php
+++ b/src/controllers/DisplayController.php
@@ -213,6 +213,7 @@ class DisplayController extends BaseController
'search_path' => $_REQUEST['search_path'] ?? null,
'table' => $_REQUEST['table'] ?? null,
'nohistory' => $_REQUEST['nohistory'] ?? null,
+ 'subject'=>$subject
];
$this->coalesceArr($_REQUEST, 'query');
diff --git a/src/controllers/PrivilegesController.php b/src/controllers/PrivilegesController.php
index b2831d33..028d940f 100644
--- a/src/controllers/PrivilegesController.php
+++ b/src/controllers/PrivilegesController.php
@@ -79,7 +79,7 @@ class PrivilegesController extends BaseController
$this->printMsg($msg);
if (!isset($data->privlist[$subject])) {
- $this->container->utils->halt('No privileges defined for subject ' . $subject);
+ $this->halt('No privileges defined for subject ' . $subject);
return;
}
diff --git a/src/controllers/SchemasController.php b/src/controllers/SchemasController.php
index c45a065c..b1b06fa0 100644
--- a/src/controllers/SchemasController.php
+++ b/src/controllers/SchemasController.php
@@ -100,7 +100,7 @@ class SchemasController extends BaseController
// Check that the DB actually supports schemas
$schemas = $data->getSchemas();
- $destination = $this->container->utils->getDestinationWithLastTab('schema');
+ $destination = $this->container->getDestinationWithLastTab('schema');
$columns = [
'schema' => [
diff --git a/src/controllers/SequencesController.php b/src/controllers/SequencesController.php
index f4dd6ecb..a0708406 100644
--- a/src/controllers/SequencesController.php
+++ b/src/controllers/SequencesController.php
@@ -222,7 +222,6 @@ class SequencesController extends BaseController
'sequence' => Decorator::field('seqname'),
]
);
- dump($sequences, $actionURL);
$attrs = [
'text' => Decorator::field('seqname'),
'icon' => 'Sequence',
@@ -498,31 +497,38 @@ class SequencesController extends BaseController
echo "<tr><th class=\"data left required\">{$this->lang['strname']}</th>" . \PHP_EOL;
echo "<td class=\"data1\"><input name=\"formSequenceName\" size=\"32\" maxlength=\"{$data->_maxNameLen}\" value=\"",
- \htmlspecialchars($_POST['formSequenceName']), '" /></td></tr>' . \PHP_EOL;
+ \htmlspecialchars($_POST['formSequenceName']),
+ '" /></td></tr>' . \PHP_EOL;
echo "<tr><th class=\"data left\">{$this->lang['strincrementby']}</th>" . \PHP_EOL;
echo '<td class="data1"><input name="formIncrement" size="5" value="',
- \htmlspecialchars($_POST['formIncrement']), '" /> </td></tr>' . \PHP_EOL;
+ \htmlspecialchars($_POST['formIncrement']),
+ '" /> </td></tr>' . \PHP_EOL;
echo "<tr><th class=\"data left\">{$this->lang['strminvalue']}</th>" . \PHP_EOL;
echo '<td class="data1"><input name="formMinValue" size="5" value="',
- \htmlspecialchars($_POST['formMinValue']), '" /></td></tr>' . \PHP_EOL;
+ \htmlspecialchars($_POST['formMinValue']),
+ '" /></td></tr>' . \PHP_EOL;
echo "<tr><th class=\"data left\">{$this->lang['strmaxvalue']}</th>" . \PHP_EOL;
echo '<td class="data1"><input name="formMaxValue" size="5" value="',
- \htmlspecialchars($_POST['formMaxValue']), '" /></td></tr>' . \PHP_EOL;
+ \htmlspecialchars($_POST['formMaxValue']),
+ '" /></td></tr>' . \PHP_EOL;
echo "<tr><th class=\"data left\">{$this->lang['strstartvalue']}</th>" . \PHP_EOL;
echo '<td class="data1"><input name="formStartValue" size="5" value="',
- \htmlspecialchars($_POST['formStartValue']), '" /></td></tr>' . \PHP_EOL;
+ \htmlspecialchars($_POST['formStartValue']),
+ '" /></td></tr>' . \PHP_EOL;
echo "<tr><th class=\"data left\">{$this->lang['strcachevalue']}</th>" . \PHP_EOL;
echo '<td class="data1"><input name="formCacheValue" size="5" value="',
- \htmlspecialchars($_POST['formCacheValue']), '" /></td></tr>' . \PHP_EOL;
+ \htmlspecialchars($_POST['formCacheValue']),
+ '" /></td></tr>' . \PHP_EOL;
echo "<tr><th class=\"data left\"><label for=\"formCycledValue\">{$this->lang['strcancycle']}</label></th>" . \PHP_EOL;
echo '<td class="data1"><input type="checkbox" id="formCycledValue" name="formCycledValue" ',
- (isset($_POST['formCycledValue']) ? ' checked="checked"' : ''), ' /></td></tr>' . \PHP_EOL;
+ (isset($_POST['formCycledValue']) ? ' checked="checked"' : ''),
+ ' /></td></tr>' . \PHP_EOL;
echo '</table>' . \PHP_EOL;
echo '<p><input type="hidden" name="action" value="save_create_sequence" />' . \PHP_EOL;
@@ -647,7 +653,8 @@ class SequencesController extends BaseController
echo "<tr><th class=\"data left required\">{$this->lang['strlastvalue']}</th>" . \PHP_EOL;
echo '<td class="data1">';
echo "<input name=\"nextvalue\" size=\"32\" maxlength=\"{$data->_maxNameLen}\" value=\"",
- $this->misc->printVal($sequence->fields['last_value']), '" /></td></tr>' . \PHP_EOL;
+ $this->misc->printVal($sequence->fields['last_value']),
+ '" /></td></tr>' . \PHP_EOL;
echo '</table>' . \PHP_EOL;
echo '<p><input type="hidden" name="action" value="setval" />' . \PHP_EOL;
echo '<input type="hidden" name="sequence" value="', \htmlspecialchars($_REQUEST['sequence']), '" />' . \PHP_EOL;
@@ -757,7 +764,8 @@ class SequencesController extends BaseController
echo "<tr><th class=\"data left required\">{$this->lang['strname']}</th>" . \PHP_EOL;
echo '<td class="data1">';
echo "<input name=\"name\" size=\"32\" maxlength=\"{$data->_maxNameLen}\" value=\"",
- \htmlspecialchars($_POST['name']), '" /></td></tr>' . \PHP_EOL;
+ \htmlspecialchars($_POST['name']),
+ '" /></td></tr>' . \PHP_EOL;
if ($data->isSuperUser()) {
// Fetch all users
@@ -769,7 +777,10 @@ class SequencesController extends BaseController
while (!$users->EOF) {
$uname = $users->fields['usename'];
echo '<option value="', \htmlspecialchars($uname), '"',
- ($uname === $_POST['owner']) ? ' selected="selected"' : '', '>', \htmlspecialchars($uname), '</option>' . \PHP_EOL;
+ ($uname === $_POST['owner']) ? ' selected="selected"' : '',
+ '>',
+ \htmlspecialchars($uname),
+ '</option>' . \PHP_EOL;
$users->moveNext();
}
echo '</select></td></tr>' . \PHP_EOL;
@@ -783,7 +794,10 @@ class SequencesController extends BaseController
while (!$schemas->EOF) {
$schema = $schemas->fields['nspname'];
echo '<option value="', \htmlspecialchars($schema), '"',
- ($schema === $_POST['newschema']) ? ' selected="selected"' : '', '>', \htmlspecialchars($schema), '</option>' . \PHP_EOL;
+ ($schema === $_POST['newschema']) ? ' selected="selected"' : '',
+ '>',
+ \htmlspecialchars($schema),
+ '</option>' . \PHP_EOL;
$schemas->moveNext();
}
echo '</select></td></tr>' . \PHP_EOL;
@@ -792,37 +806,45 @@ class SequencesController extends BaseController
echo "<tr><th class=\"data left\">{$this->lang['strcomment']}</th>" . \PHP_EOL;
echo '<td class="data1">';
echo '<textarea rows="3" cols="32" name="comment">',
- \htmlspecialchars($_POST['comment']), '</textarea></td></tr>' . \PHP_EOL;
+ \htmlspecialchars($_POST['comment']),
+ '</textarea></td></tr>' . \PHP_EOL;
if ($data->hasAlterSequenceStart()) {
echo "<tr><th class=\"data left\">{$this->lang['strstartvalue']}</th>" . \PHP_EOL;
echo '<td class="data1"><input name="formStartValue" size="5" value="',
- \htmlspecialchars($sequence->fields['start_value']), '" /></td></tr>' . \PHP_EOL;
+ \htmlspecialchars($sequence->fields['start_value']),
+ '" /></td></tr>' . \PHP_EOL;
}
echo "<tr><th class=\"data left\">{$this->lang['strrestartvalue']}</th>" . \PHP_EOL;
echo '<td class="data1"><input name="formRestartValue" size="5" value="',
- \htmlspecialchars($sequence->fields['last_value']), '" /></td></tr>' . \PHP_EOL;
+ \htmlspecialchars($sequence->fields['last_value']),
+ '" /></td></tr>' . \PHP_EOL;
echo "<tr><th class=\"data left\">{$this->lang['strincrementby']}</th>" . \PHP_EOL;
echo '<td class="data1"><input name="formIncrement" size="5" value="',
- \htmlspecialchars($sequence->fields['increment_by']), '" /> </td></tr>' . \PHP_EOL;
+ \htmlspecialchars($sequence->fields['increment_by']),
+ '" /> </td></tr>' . \PHP_EOL;
echo "<tr><th class=\"data left\">{$this->lang['strmaxvalue']}</th>" . \PHP_EOL;
echo '<td class="data1"><input name="formMaxValue" size="5" value="',
- \htmlspecialchars($sequence->fields['max_value']), '" /></td></tr>' . \PHP_EOL;
+ \htmlspecialchars($sequence->fields['max_value']),
+ '" /></td></tr>' . \PHP_EOL;
echo "<tr><th class=\"data left\">{$this->lang['strminvalue']}</th>" . \PHP_EOL;
echo '<td class="data1"><input name="formMinValue" size="5" value="',
- \htmlspecialchars($sequence->fields['min_value']), '" /></td></tr>' . \PHP_EOL;
+ \htmlspecialchars($sequence->fields['min_value']),
+ '" /></td></tr>' . \PHP_EOL;
echo "<tr><th class=\"data left\">{$this->lang['strcachevalue']}</th>" . \PHP_EOL;
echo '<td class="data1"><input name="formCacheValue" size="5" value="',
- \htmlspecialchars($sequence->fields['cache_value']), '" /></td></tr>' . \PHP_EOL;
+ \htmlspecialchars($sequence->fields['cache_value']),
+ '" /></td></tr>' . \PHP_EOL;
echo "<tr><th class=\"data left\"><label for=\"formCycledValue\">{$this->lang['strcancycle']}</label></th>" . \PHP_EOL;
echo '<td class="data1"><input type="checkbox" id="formCycledValue" name="formCycledValue" ',
- (isset($_POST['formCycledValue']) ? ' checked="checked"' : ''), ' /></td></tr>' . \PHP_EOL;
+ (isset($_POST['formCycledValue']) ? ' checked="checked"' : ''),
+ ' /></td></tr>' . \PHP_EOL;
echo '</table>' . \PHP_EOL;
echo '<p><input type="hidden" name="action" value="alter" />' . \PHP_EOL;
diff --git a/src/controllers/TreeController.php b/src/controllers/TreeController.php
index 29360a23..81ee9bee 100644
--- a/src/controllers/TreeController.php
+++ b/src/controllers/TreeController.php
@@ -42,7 +42,7 @@ class TreeController extends BaseController
protected $container;
// Constructor
- public function __construct(\Slim\Container $container, $controller_name = null)
+ public function __construct(\PHPPgAdmin\ContainerUtils $container, $controller_name = null)
{
$this->container = $container;
$this->lang = $container->get('lang');
diff --git a/src/database/databasetraits/RoleTrait.php b/src/database/databasetraits/RoleTrait.php
index 015248d4..a79d0a31 100644
--- a/src/database/databasetraits/RoleTrait.php
+++ b/src/database/databasetraits/RoleTrait.php
@@ -132,7 +132,7 @@ trait RoleTrait
* @param bool $createrole Boolean whether or not the role can create other roles
* @param bool $inherits Boolean whether or not the role inherits the privileges from parent roles
* @param bool $login Boolean whether or not the role will be allowed to login
- * @param number $connlimit Number of concurrent connections the role can make
+ * @param int $connlimit Number of concurrent connections the role can make
* @param string $expiry String Format 'YYYY-MM-DD HH:MM:SS'. '' means never expire
* @param array $new_roles_to_add (array) Roles to which the new role will be immediately added as a new member
* @param array $new_members_of_role (array) Roles which are automatically added as members of the new role
@@ -225,7 +225,7 @@ trait RoleTrait
* @param bool $createrole Boolean whether or not the role can create other roles
* @param bool $inherits Boolean whether or not the role inherits the privileges from parent roles
* @param bool $login Boolean whether or not the role will be allowed to login
- * @param number $connlimit Number of concurrent connections the role can make
+ * @param int $connlimit Number of concurrent connections the role can make
* @param string $expiry string Format 'YYYY-MM-DD HH:MM:SS'. '' means never expire
* @param array $new_roles_to_add (array) Roles to which the role will be immediately added as a new member
* @param array $new_members_of_role (array) Roles which are automatically added as members of the role
@@ -327,7 +327,7 @@ trait RoleTrait
* @param bool $createrole Boolean whether or not the role can create other roles
* @param bool $inherits Boolean whether or not the role inherits the privileges from parent roles
* @param bool $login Boolean whether or not the role will be allowed to login
- * @param number $connlimit Number of concurrent connections the role can make
+ * @param int $connlimit Number of concurrent connections the role can make
* @param string $expiry string Format 'YYYY-MM-DD HH:MM:SS'. '' means never expire
* @param array $new_roles_to_add (array) Roles to which the role will be immediately added as a new member
* @param array $new_members_of_role (array) Roles which are automatically added as members of the role
diff --git a/src/database/databasetraits/SequenceTrait.php b/src/database/databasetraits/SequenceTrait.php
index 644337ef..b5a68312 100644
--- a/src/database/databasetraits/SequenceTrait.php
+++ b/src/database/databasetraits/SequenceTrait.php
@@ -66,7 +66,7 @@ trait SequenceTrait
* Execute setval on a given sequence.
*
* @param string $sequence Sequence name
- * @param number $nextvalue The next value
+ * @param int $nextvalue The next value
*
* @return \ADORecordSet|int
*/
@@ -163,11 +163,11 @@ trait SequenceTrait
* Creates a new sequence.
*
* @param string $sequence Sequence name
- * @param number $increment The increment
- * @param number $minvalue The min value
- * @param number $maxvalue The max value
- * @param number $startvalue The starting value
- * @param number $cachevalue The cache value
+ * @param int $increment The increment
+ * @param int $minvalue The min value
+ * @param int $maxvalue The max value
+ * @param int $startvalue The starting value
+ * @param int $cachevalue The cache value
* @param bool $cycledvalue True if cycled, false otherwise
*
* @return \ADORecordSet|int
@@ -228,12 +228,12 @@ trait SequenceTrait
* @param string $owner The new owner for the sequence
* @param string $schema The new schema for the sequence
* @param string $increment The increment
- * @param number $minvalue The min value
- * @param number $maxvalue The max value
- * @param number $restartvalue The starting value
- * @param number $cachevalue The cache value
+ * @param int $minvalue The min value
+ * @param int $maxvalue The max value
+ * @param int $restartvalue The starting value
+ * @param int $cachevalue The cache value
* @param null|bool $cycledvalue True if cycled, false otherwise
- * @param number $startvalue The sequence start value when issueing a restart
+ * @param int $startvalue The sequence start value when issueing a restart
*
* @return bool|int 0 success
*/
@@ -324,13 +324,13 @@ trait SequenceTrait
* Alter a sequence's properties.
*
* @param \ADORecordSet $seqrs The sequence RecordSet returned by getSequence()
- * @param number $increment The sequence incremental value
- * @param number $minvalue The sequence minimum value
- * @param number $maxvalue The sequence maximum value
- * @param number $restartvalue The sequence current value
- * @param number $cachevalue The sequence cache value
+ * @param int $increment The sequence incremental value
+ * @param int $minvalue The sequence minimum value
+ * @param int $maxvalue The sequence maximum value
+ * @param int $restartvalue The sequence current value
+ * @param int $cachevalue The sequence cache value
* @param null|bool $cycledvalue Sequence can cycle ?
- * @param number $startvalue The sequence start value when issueing a restart
+ * @param int $startvalue The sequence start value when issueing a restart
*
* @return \ADORecordSet|int
*/
diff --git a/src/xhtml/HTMLHeaderController.php b/src/xhtml/HTMLHeaderController.php
index 95f18206..db21960e 100644
--- a/src/xhtml/HTMLHeaderController.php
+++ b/src/xhtml/HTMLHeaderController.php
@@ -42,9 +42,7 @@ class HTMLHeaderController extends HTMLController
*/
public function printHeader($title = '', $script = null, $do_print = true, $template = 'header.twig')
{
- if (\function_exists('newrelic_disable_autorum')) {
- newrelic_disable_autorum();
- }
+
$lang = $this->lang;
diff --git a/yarn.lock b/yarn.lock
index ab1fe0cc..86e6daf9 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -109,11 +109,119 @@
minimatch "^3.0.4"
strip-json-comments "^3.1.1"
+"@nodelib/fs.scandir@2.1.3":
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b"
+ integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==
+ dependencies:
+ "@nodelib/fs.stat" "2.0.3"
+ run-parallel "^1.1.9"
+
+"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2":
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3"
+ integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==
+
+"@nodelib/fs.walk@^1.2.3":
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976"
+ integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==
+ dependencies:
+ "@nodelib/fs.scandir" "2.1.3"
+ fastq "^1.6.0"
+
"@types/color-name@^1.1.1":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
+"@types/jquery@^3.5.1":
+ version "3.5.1"
+ resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-3.5.1.tgz#cebb057acf5071c40e439f30e840c57a30d406c3"
+ integrity sha512-Tyctjh56U7eX2b9udu3wG853ASYP0uagChJcQJXLUXEU6C/JiW5qt5dl8ao01VRj1i5pgXPAf8f1mq4+FDLRQg==
+ dependencies:
+ "@types/sizzle" "*"
+
+"@types/json-schema@^7.0.3":
+ version "7.0.6"
+ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0"
+ integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==
+
+"@types/sizzle@*":
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.2.tgz#a811b8c18e2babab7d542b3365887ae2e4d9de47"
+ integrity sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg==
+
+"@typescript-eslint/eslint-plugin@^4.3.0":
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.3.0.tgz#1a23d904bf8ea248d09dc3761af530d90f39c8fa"
+ integrity sha512-RqEcaHuEKnn3oPFislZ6TNzsBLqpZjN93G69SS+laav/I8w/iGMuMq97P0D2/2/kW4SCebHggqhbcCfbDaaX+g==
+ dependencies:
+ "@typescript-eslint/experimental-utils" "4.3.0"
+ "@typescript-eslint/scope-manager" "4.3.0"
+ debug "^4.1.1"
+ functional-red-black-tree "^1.0.1"
+ regexpp "^3.0.0"
+ semver "^7.3.2"
+ tsutils "^3.17.1"
+
+"@typescript-eslint/experimental-utils@4.3.0":
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.3.0.tgz#3f3c6c508e01b8050d51b016e7f7da0e3aefcb87"
+ integrity sha512-cmmIK8shn3mxmhpKfzMMywqiEheyfXLV/+yPDnOTvQX/ztngx7Lg/OD26J8gTZfkLKUmaEBxO2jYP3keV7h2OQ==
+ dependencies:
+ "@types/json-schema" "^7.0.3"
+ "@typescript-eslint/scope-manager" "4.3.0"
+ "@typescript-eslint/types" "4.3.0"
+ "@typescript-eslint/typescript-estree" "4.3.0"
+ eslint-scope "^5.0.0"
+ eslint-utils "^2.0.0"
+
+"@typescript-eslint/parser@^4.3.0":
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.3.0.tgz#684fc0be6551a2bfcb253991eec3c786a8c063a3"
+ integrity sha512-JyfRnd72qRuUwItDZ00JNowsSlpQGeKfl9jxwO0FHK1qQ7FbYdoy5S7P+5wh1ISkT2QyAvr2pc9dAemDxzt75g==
+ dependencies:
+ "@typescript-eslint/scope-manager" "4.3.0"
+ "@typescript-eslint/types" "4.3.0"
+ "@typescript-eslint/typescript-estree" "4.3.0"
+ debug "^4.1.1"
+
+"@typescript-eslint/scope-manager@4.3.0":
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.3.0.tgz#c743227e087545968080d2362cfb1273842cb6a7"
+ integrity sha512-cTeyP5SCNE8QBRfc+Lgh4Xpzje46kNUhXYfc3pQWmJif92sjrFuHT9hH4rtOkDTo/si9Klw53yIr+djqGZS1ig==
+ dependencies:
+ "@typescript-eslint/types" "4.3.0"
+ "@typescript-eslint/visitor-keys" "4.3.0"
+
+"@typescript-eslint/types@4.3.0":
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.3.0.tgz#1f0b2d5e140543e2614f06d48fb3ae95193c6ddf"
+ integrity sha512-Cx9TpRvlRjOppGsU6Y6KcJnUDOelja2NNCX6AZwtVHRzaJkdytJWMuYiqi8mS35MRNA3cJSwDzXePfmhU6TANw==
+
+"@typescript-eslint/typescript-estree@4.3.0":
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.3.0.tgz#0edc1068e6b2e4c7fdc54d61e329fce76241cee8"
+ integrity sha512-ZAI7xjkl+oFdLV/COEz2tAbQbR3XfgqHEGy0rlUXzfGQic6EBCR4s2+WS3cmTPG69aaZckEucBoTxW9PhzHxxw==
+ dependencies:
+ "@typescript-eslint/types" "4.3.0"
+ "@typescript-eslint/visitor-keys" "4.3.0"
+ debug "^4.1.1"
+ globby "^11.0.1"
+ is-glob "^4.0.1"
+ lodash "^4.17.15"
+ semver "^7.3.2"
+ tsutils "^3.17.1"
+
+"@typescript-eslint/visitor-keys@4.3.0":
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.3.0.tgz#0e5ab0a09552903edeae205982e8521e17635ae0"
+ integrity sha512-xZxkuR7XLM6RhvLkgv9yYlTcBHnTULzfnw4i6+z2TGBLy9yljAypQaZl9c3zFvy7PNI7fYWyvKYtohyF8au3cw==
+ dependencies:
+ "@typescript-eslint/types" "4.3.0"
+ eslint-visitor-keys "^2.0.0"
+
acorn-jsx@^5.2.0:
version "5.3.1"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b"
@@ -139,6 +247,11 @@ ansi-colors@^4.1.1:
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
+ansi-regex@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+ integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
+
ansi-regex@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
@@ -149,6 +262,11 @@ ansi-regex@^5.0.0:
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
+ansi-styles@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
+ integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
+
ansi-styles@^3.2.0, ansi-styles@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
@@ -171,11 +289,25 @@ argparse@^1.0.7:
dependencies:
sprintf-js "~1.0.2"
+array-union@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
+ integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
+
astral-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
+babel-code-frame@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
+ integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=
+ dependencies:
+ chalk "^1.1.3"
+ esutils "^2.0.2"
+ js-tokens "^3.0.2"
+
babel-eslint@^10.1.0:
version "10.1.0"
resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232"
@@ -188,6 +320,62 @@ babel-eslint@^10.1.0:
eslint-visitor-keys "^1.0.0"
resolve "^1.12.0"
+babel-messages@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
+ integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-runtime@^6.22.0, babel-runtime@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
+ integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
+ dependencies:
+ core-js "^2.4.0"
+ regenerator-runtime "^0.11.0"
+
+babel-template@^6.8.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
+ integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=
+ dependencies:
+ babel-runtime "^6.26.0"
+ babel-traverse "^6.26.0"
+ babel-types "^6.26.0"
+ babylon "^6.18.0"
+ lodash "^4.17.4"
+
+babel-traverse@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
+ integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=
+ dependencies:
+ babel-code-frame "^6.26.0"
+ babel-messages "^6.23.0"
+ babel-runtime "^6.26.0"
+ babel-types "^6.26.0"
+ babylon "^6.18.0"
+ debug "^2.6.8"
+ globals "^9.18.0"
+ invariant "^2.2.2"
+ lodash "^4.17.4"
+
+babel-types@^6.26.0, babel-types@^6.8.1:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
+ integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=
+ dependencies:
+ babel-runtime "^6.26.0"
+ esutils "^2.0.2"
+ lodash "^4.17.4"
+ to-fast-properties "^1.0.3"
+
+babylon@^6.18.0:
+ version "6.18.0"
+ resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
+ integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==
+
balanced-match@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
@@ -201,11 +389,29 @@ brace-expansion@^1.1.7:
balanced-match "^1.0.0"
concat-map "0.0.1"
+braces@^3.0.1:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
+ integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+ dependencies:
+ fill-range "^7.0.1"
+
callsites@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+chalk@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
+ integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
+ dependencies:
+ ansi-styles "^2.2.1"
+ escape-string-regexp "^1.0.2"
+ has-ansi "^2.0.0"
+ strip-ansi "^3.0.0"
+ supports-color "^2.0.0"
+
chalk@^2.0.0:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
@@ -252,6 +458,11 @@ concat-map@0.0.1:
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
+core-js@^2.4.0:
+ version "2.6.11"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c"
+ integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==
+
cross-spawn@^7.0.2:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
@@ -261,6 +472,13 @@ cross-spawn@^7.0.2:
shebang-command "^2.0.0"
which "^2.0.1"
+debug@^2.6.8:
+ version "2.6.9"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+ integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+ dependencies:
+ ms "2.0.0"
+
debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
@@ -273,6 +491,13 @@ deep-is@^0.1.3:
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
+dir-glob@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
+ integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
+ dependencies:
+ path-type "^4.0.0"
+
doctrine@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
@@ -292,15 +517,22 @@ enquirer@^2.3.5:
dependencies:
ansi-colors "^4.1.1"
-escape-string-regexp@^1.0.5:
+errno@^0.1.1:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618"
+ integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==
+ dependencies:
+ prr "~1.0.1"
+
+escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
-eslint-config-prettier@^6.11.0:
- version "6.11.0"
- resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz#f6d2238c1290d01c859a8b5c1f7d352a0b0da8b1"
- integrity sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==
+eslint-config-prettier@^6.12.0:
+ version "6.12.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.12.0.tgz#9eb2bccff727db1c52104f0b49e87ea46605a0d2"
+ integrity sha512-9jWPlFlgNwRUYVoujvWTQ1aMO8o6648r+K7qU7K5Jmkbyqav1fuEZC0COYpGBxyiAJb65Ra9hrmFx19xRGwXWw==
dependencies:
get-stdin "^6.0.0"
@@ -311,15 +543,15 @@ eslint-plugin-prettier@^3.1.4:
dependencies:
prettier-linter-helpers "^1.0.0"
-eslint-scope@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5"
- integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==
+eslint-scope@^5.0.0, eslint-scope@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
+ integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
dependencies:
- esrecurse "^4.1.0"
+ esrecurse "^4.3.0"
estraverse "^4.1.1"
-eslint-utils@^2.1.0:
+eslint-utils@^2.0.0, eslint-utils@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
@@ -331,10 +563,15 @@ eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
-eslint@^7.8.1:
- version "7.8.1"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.8.1.tgz#e59de3573fb6a5be8ff526c791571646d124a8fa"
- integrity sha512-/2rX2pfhyUG0y+A123d0ccXtMm7DV7sH1m3lk9nk2DZ2LReq39FXHueR9xZwshE5MdfSf0xunSaMWRqyIA6M1w==
+eslint-visitor-keys@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8"
+ integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==
+
+eslint@^7.10.0:
+ version "7.10.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.10.0.tgz#494edb3e4750fb791133ca379e786a8f648c72b9"
+ integrity sha512-BDVffmqWl7JJXqCjAK6lWtcQThZB/aP1HXSH1JKwGwv0LQEdvpR7qzNrUT487RM39B5goWuboFad5ovMBmD8yA==
dependencies:
"@babel/code-frame" "^7.0.0"
"@eslint/eslintrc" "^0.1.3"
@@ -344,7 +581,7 @@ eslint@^7.8.1:
debug "^4.0.1"
doctrine "^3.0.0"
enquirer "^2.3.5"
- eslint-scope "^5.1.0"
+ eslint-scope "^5.1.1"
eslint-utils "^2.1.0"
eslint-visitor-keys "^1.3.0"
espree "^7.3.0"
@@ -395,7 +632,7 @@ esquery@^1.2.0:
dependencies:
estraverse "^5.1.0"
-esrecurse@^4.1.0:
+esrecurse@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
@@ -427,6 +664,18 @@ fast-diff@^1.1.2:
resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03"
integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==
+fast-glob@^3.1.1:
+ version "3.2.4"
+ resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3"
+ integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==
+ dependencies:
+ "@nodelib/fs.stat" "^2.0.2"
+ "@nodelib/fs.walk" "^1.2.3"
+ glob-parent "^5.1.0"
+ merge2 "^1.3.0"
+ micromatch "^4.0.2"
+ picomatch "^2.2.1"
+
fast-json-stable-stringify@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
@@ -437,6 +686,13 @@ fast-levenshtein@^2.0.6:
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
+fastq@^1.6.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481"
+ integrity sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==
+ dependencies:
+ reusify "^1.0.4"
+
file-entry-cache@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
@@ -444,6 +700,13 @@ file-entry-cache@^5.0.1:
dependencies:
flat-cache "^2.0.1"
+fill-range@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+ integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+ dependencies:
+ to-regex-range "^5.0.1"
+
flat-cache@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
@@ -473,7 +736,7 @@ get-stdin@^6.0.0:
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b"
integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==
-glob-parent@^5.0.0:
+glob-parent@^5.0.0, glob-parent@^5.1.0:
version "5.1.1"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229"
integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==
@@ -504,6 +767,35 @@ globals@^12.1.0:
dependencies:
type-fest "^0.8.1"
+globals@^9.18.0:
+ version "9.18.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
+ integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==
+
+globby@^11.0.1:
+ version "11.0.1"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357"
+ integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==
+ dependencies:
+ array-union "^2.1.0"
+ dir-glob "^3.0.1"
+ fast-glob "^3.1.1"
+ ignore "^5.1.4"
+ merge2 "^1.3.0"
+ slash "^3.0.0"
+
+graceful-fs@^4.1.2:
+ version "4.2.4"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
+ integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
+
+has-ansi@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
+ integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
+ dependencies:
+ ansi-regex "^2.0.0"
+
has-flag@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
@@ -514,11 +806,26 @@ has-flag@^4.0.0:
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+he@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
+ integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
+
ignore@^4.0.6:
version "4.0.6"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
+ignore@^5.1.4:
+ version "5.1.8"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
+ integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==
+
+image-size@~0.5.0:
+ version "0.5.5"
+ resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c"
+ integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=
+
import-fresh@^3.0.0, import-fresh@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66"
@@ -545,6 +852,13 @@ inherits@2:
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+invariant@^2.2.2:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
+ integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
+ dependencies:
+ loose-envify "^1.0.0"
+
is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
@@ -562,16 +876,26 @@ is-glob@^4.0.0, is-glob@^4.0.1:
dependencies:
is-extglob "^2.1.1"
+is-number@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+ integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
isexe@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
-js-tokens@^4.0.0:
+"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+js-tokens@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
+ integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
+
js-yaml@^3.13.1:
version "3.14.0"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482"
@@ -595,6 +919,28 @@ json-stable-stringify-without-jsonify@^1.0.1:
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
+less@^3.9.0:
+ version "3.12.2"
+ resolved "https://registry.yarnpkg.com/less/-/less-3.12.2.tgz#157e6dd32a68869df8859314ad38e70211af3ab4"
+ integrity sha512-+1V2PCMFkL+OIj2/HrtrvZw0BC0sYLMICJfbQjuj/K8CEnlrFX6R5cKKgzzttsZDHyxQNL1jqMREjKN3ja/E3Q==
+ dependencies:
+ tslib "^1.10.0"
+ optionalDependencies:
+ errno "^0.1.1"
+ graceful-fs "^4.1.2"
+ image-size "~0.5.0"
+ make-dir "^2.1.0"
+ mime "^1.4.1"
+ native-request "^1.0.5"
+ source-map "~0.6.0"
+
+lessc@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/lessc/-/lessc-1.0.2.tgz#b9bedd7f1953f142bbe70ffc00a2378d19a5152a"
+ integrity sha512-cv7EXQRiD3Cu2Vsy3S9C89G01kOv0TrLQMoWHxscCgkMYdhEvknhaINeQkZbPmUlJ87AEzjPm0y/14Cg9j7/ug==
+ dependencies:
+ less "^3.9.0"
+
levn@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
@@ -603,11 +949,96 @@ levn@^0.4.1:
prelude-ls "^1.2.1"
type-check "~0.4.0"
-lodash@^4.17.14, lodash@^4.17.19:
+lodash@^4.12.0, lodash@^4.15.0, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.4:
version "4.17.20"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
+loose-envify@^1.0.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
+ integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
+ dependencies:
+ js-tokens "^3.0.0 || ^4.0.0"
+
+make-dir@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
+ integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==
+ dependencies:
+ pify "^4.0.1"
+ semver "^5.6.0"
+
+melody-code-frame@^1.7.5:
+ version "1.7.5"
+ resolved "https://registry.yarnpkg.com/melody-code-frame/-/melody-code-frame-1.7.5.tgz#047eaebfc09c26ab9fcc57c0470b34b46312245a"
+ integrity sha512-q/Do+7ZFxRHLN7IhT5RIJrTKh7xNmX3JG4+AD1ZST9iB8gUPYs6yfgGexDRDvtOAAGgLfFbT1DlMWJtldqYaPQ==
+ dependencies:
+ lodash "^4.15.0"
+
+melody-extension-core@^1.7.5:
+ version "1.7.5"
+ resolved "https://registry.yarnpkg.com/melody-extension-core/-/melody-extension-core-1.7.5.tgz#85b7fc2aaf436e4b7cdc212212eff00d3a81ba08"
+ integrity sha512-eu/ji2sxpKvob03+1bdtuRr9XTW/VdogjHXvHiMYIK5DslpREcdGLVDEVAa1dfnnzoKGso76XCOHTJy0pImRfg==
+ dependencies:
+ babel-template "^6.8.0"
+ babel-types "^6.8.1"
+ lodash "^4.12.0"
+ shortid "^2.2.6"
+
+melody-idom@^1.7.5:
+ version "1.7.5"
+ resolved "https://registry.yarnpkg.com/melody-idom/-/melody-idom-1.7.5.tgz#fdd425476fa963c549272ffc6c2842a84c316dcd"
+ integrity sha512-CsMg+vPyaIs9Wl/pTEgevQs+DfPzEpsNnHcaZNBGgQo3GvLItVgrg3Z8z3obVkPikRrHyRnwBPWIWiRyeh6KHg==
+ dependencies:
+ lodash "^4.12.0"
+
+melody-parser@^1.7.5:
+ version "1.7.5"
+ resolved "https://registry.yarnpkg.com/melody-parser/-/melody-parser-1.7.5.tgz#6f10e02f194159792a2f83d51e8790ba6ce71141"
+ integrity sha512-ffWDWl76G3lgTQUZ3SqGY0oZeul9FrKAnV+8+j3+afrS7AjBC32w5H+Imi00+qcOgdkpoU3eWwisqKc+pQmQ8g==
+ dependencies:
+ he "^1.1.0"
+ lodash "^4.12.0"
+ melody-code-frame "^1.7.5"
+
+melody-runtime@^1.7.5:
+ version "1.7.5"
+ resolved "https://registry.yarnpkg.com/melody-runtime/-/melody-runtime-1.7.5.tgz#af6c93017b9874df5bd81168d75adc20ac5e9730"
+ integrity sha512-SmkH57Y6FYn+NP15dES85zmhYsjsvVmvh3euLeMuAPWwqqSm28AIZ9btPpkDUCDu/L7JAQ8dTaflbpeDgBwnPQ==
+ dependencies:
+ lodash "^4.12.0"
+
+melody-traverse@^1.7.5:
+ version "1.7.5"
+ resolved "https://registry.yarnpkg.com/melody-traverse/-/melody-traverse-1.7.5.tgz#b40b80331c47aa483b477c7fbebd1400e21d8e59"
+ integrity sha512-k9agECp5qEyIDybedgMNHPalb6wfwy5WlczJriOAn/swggeoq3+HojXSABo3uKM7K8xXNmpVhW/wOJA86oqjIQ==
+
+melody-types@^1.7.5:
+ version "1.7.5"
+ resolved "https://registry.yarnpkg.com/melody-types/-/melody-types-1.7.5.tgz#6de13f2c6f9504db890a3261a49fc18a26e31018"
+ integrity sha512-KkZmYlkmHtK10Hyx0mVNBZg1OXctIzZo2w3Vyc5AOV+KLA5lRiG6Z3Lp+G8o1LD6UZY0PC83/57hw3gs2Qj+Tg==
+ dependencies:
+ babel-types "^6.8.1"
+
+merge2@^1.3.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
+ integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+
+micromatch@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259"
+ integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==
+ dependencies:
+ braces "^3.0.1"
+ picomatch "^2.0.5"
+
+mime@^1.4.1:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
+ integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
+
minimatch@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
@@ -627,11 +1058,26 @@ mkdirp@^0.5.1:
dependencies:
minimist "^1.2.5"
+ms@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+ integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
+
ms@^2.1.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+nanoid@^2.1.0:
+ version "2.1.11"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280"
+ integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==
+
+native-request@^1.0.5:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/native-request/-/native-request-1.0.7.tgz#ff742dc555b4c8f2f1c14b548639ba174e573856"
+ integrity sha512-9nRjinI9bmz+S7dgNtf4A70+/vPhnd+2krGpy4SUlADuOuSa24IDkNaZ+R/QT1wQ6S8jBdi6wE7fLekFZNfUpQ==
+
natural-compare@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
@@ -678,6 +1124,21 @@ path-parse@^1.0.6:
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
+path-type@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
+ integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+
+picomatch@^2.0.5, picomatch@^2.2.1:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
+ integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
+
+pify@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
+ integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
+
prelude-ls@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
@@ -690,22 +1151,50 @@ prettier-linter-helpers@^1.0.0:
dependencies:
fast-diff "^1.1.2"
-prettier@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.1.tgz#d9485dd5e499daa6cb547023b87a6cf51bee37d6"
- integrity sha512-9bY+5ZWCfqj3ghYBLxApy2zf6m+NJo5GzmLTpr9FsApsfjriNnS2dahWReHMi7qNPhhHl9SYHJs2cHZLgexNIw==
+prettier-plugin-twig-melody@^0.4.6:
+ version "0.4.6"
+ resolved "https://registry.yarnpkg.com/prettier-plugin-twig-melody/-/prettier-plugin-twig-melody-0.4.6.tgz#0ce8f1fac622105ef3e37cc75799402cf9d325c1"
+ integrity sha512-5/sk+0efzxQ4r4hiZiWVQ6mxqaekeOIbGpwLUUtNjcKpAO4HmWsEzXpCEIdq2GjqrgjuPDlknJaa5g4B5Qx/jg==
+ dependencies:
+ babel-types "^6.26.0"
+ melody-extension-core "^1.7.5"
+ melody-parser "^1.7.5"
+ melody-traverse "^1.7.5"
+ melody-types "^1.7.5"
+ prettier "^1.8.2"
+ resolve "^1.12.0"
+
+prettier@^1.8.2:
+ version "1.19.1"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
+ integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==
+
+prettier@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.2.tgz#3050700dae2e4c8b67c4c3f666cdb8af405e1ce5"
+ integrity sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg==
progress@^2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
+prr@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
+ integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY=
+
punycode@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
-regexpp@^3.1.0:
+regenerator-runtime@^0.11.0:
+ version "0.11.1"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
+ integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
+
+regexpp@^3.0.0, regexpp@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
@@ -722,6 +1211,11 @@ resolve@^1.12.0:
dependencies:
path-parse "^1.0.6"
+reusify@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
+ integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
+
rimraf@2.6.3:
version "2.6.3"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
@@ -729,7 +1223,17 @@ rimraf@2.6.3:
dependencies:
glob "^7.1.3"
-semver@^7.2.1:
+run-parallel@^1.1.9:
+ version "1.1.9"
+ resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679"
+ integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==
+
+semver@^5.6.0:
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
+ integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
+
+semver@^7.2.1, semver@^7.3.2:
version "7.3.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
@@ -746,6 +1250,18 @@ shebang-regex@^3.0.0:
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+shortid@^2.2.6:
+ version "2.2.15"
+ resolved "https://registry.yarnpkg.com/shortid/-/shortid-2.2.15.tgz#2b902eaa93a69b11120373cd42a1f1fe4437c122"
+ integrity sha512-5EaCy2mx2Jgc/Fdn9uuDuNIIfWBpzY4XIlhoqtXF6qsf+/+SGZ+FxDdX/ZsMZiWupIWNqAEmiNY4RC+LSmCeOw==
+ dependencies:
+ nanoid "^2.1.0"
+
+slash@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
+ integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
+
slice-ansi@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
@@ -760,6 +1276,11 @@ source-map@^0.5.0:
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
+source-map@~0.6.0:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
+ integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
sprintf-js@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
@@ -774,6 +1295,13 @@ string-width@^3.0.0:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^5.1.0"
+strip-ansi@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+ integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
+ dependencies:
+ ansi-regex "^2.0.0"
+
strip-ansi@^5.1.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
@@ -793,6 +1321,11 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
+supports-color@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
+ integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
+
supports-color@^5.3.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
@@ -822,11 +1355,40 @@ text-table@^0.2.0:
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
+to-fast-properties@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
+ integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=
+
to-fast-properties@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
+to-regex-range@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+ integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+ dependencies:
+ is-number "^7.0.0"
+
+tslib@^1.10.0, tslib@^1.8.1:
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
+ integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==
+
+tslib@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e"
+ integrity sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==
+
+tsutils@^3.17.1:
+ version "3.17.1"
+ resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759"
+ integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==
+ dependencies:
+ tslib "^1.8.1"
+
type-check@^0.4.0, type-check@~0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
@@ -839,6 +1401,11 @@ type-fest@^0.8.1:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
+typescript@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.3.tgz#153bbd468ef07725c1df9c77e8b453f8d36abba5"
+ integrity sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg==
+
uri-js@^4.2.2:
version "4.4.0"
resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602"