diff --git a/.hermione.conf.js b/.hermione.conf.js new file mode 100644 index 0000000..bb82e43 --- /dev/null +++ b/.hermione.conf.js @@ -0,0 +1,26 @@ +module.exports = { + baseUrl: 'http://localhost:3000', + compositeImage: true, + + sets: { + desktop: { + files: 'hermione/test/desktop' + } + }, + + browsers: { + chrome: { + desiredCapabilities: { + browserName: 'chrome' + } + } + }, + + plugins: { + 'html-reporter/hermione': { + path: 'hermione/html-report' + }, + 'hermione-expect-location': true, + 'hermione-link-traversal': true + } +}; \ No newline at end of file diff --git a/README.md b/README.md index ead0967..a9cdf18 100644 --- a/README.md +++ b/README.md @@ -31,3 +31,8 @@ npm start - нужно добавить в README список логических блоков системы и их сценариев - для каждого блока нужно написать модульные тесты - если необходимо, выполните рефакторинг, чтобы реорганизовать логические блоки или добавить точки расширения + +## Логические блоки системы +1. Навигация — составление url и хлебных крошек. Методы `buildFolderUrl`, `buildFileUrl`, `buildBreadcrumbs` +1. Гит — получение и обработка данных git. Методы: `gitHistory`, `gitFileTree`, `gitFileContent` +1. Контроллеры — обработка и передча данных на view. Методы, экспортируемые из файлов в папке `controllers` diff --git a/app.js b/app.js index 70461d5..941f580 100644 --- a/app.js +++ b/app.js @@ -4,10 +4,23 @@ const express = require('express'); const PORT = 3000; const HOST = '::'; +const { + gitHistoryFactory, + gitFileTreeFactory, + gitFileContentFactory +} = require('./utils/git'); + +const gitHistory = gitHistoryFactory(); +const gitFileTree = gitFileTreeFactory(); +const gitFileContent = gitFileContentFactory(); + // controllers -const indexController = require('./controllers/indexController'); -const filesController = require('./controllers/filesController'); -const contentController = require('./controllers/contentController'); +const indexController = require('./controllers/indexController')(); +const filesController = require('./controllers/filesController')(); +const contentController = require('./controllers/contentController')({ + gitFileTree, + gitFileContent +}); const app = express(); diff --git a/controllers/contentController.js b/controllers/contentController.js index c9d1858..23f1d94 100644 --- a/controllers/contentController.js +++ b/controllers/contentController.js @@ -1,28 +1,29 @@ -const { gitFileContent, gitFileTree } = require('../utils/git'); const { buildFolderUrl, buildBreadcrumbs } = require('../utils/navigation'); -module.exports = function(req, res, next) { - const { hash } = req.params; - const path = req.params[0].split('/').filter(Boolean); +module.exports = function({ gitFileTree, gitFileContent }) { + return function(req, res, next) { + const { hash } = req.params; + const path = req.params[0].split('/').filter(Boolean); - gitFileTree(hash, path.join('/')) - .then(function([file]) { - if (file && file.type === 'blob') { - return gitFileContent(file.hash); - } - }) - .then( - content => { - if (content) { - res.render('content', { - title: 'content', - breadcrumbs: buildBreadcrumbs(hash, path.join('/')), - content - }); - } else { - next(); + gitFileTree(hash, path.join('/')) + .then(function([file]) { + if (file && file.type === 'blob') { + return gitFileContent(file.hash); } - }, - err => next(err) - ); + }) + .then( + content => { + if (content) { + res.render('content', { + title: 'content', + breadcrumbs: buildBreadcrumbs(hash, path.join('/')), + content + }); + } else { + next(); + } + }, + err => next(err) + ); + }; }; diff --git a/controllers/filesController.js b/controllers/filesController.js index 02fe732..6db5f1a 100644 --- a/controllers/filesController.js +++ b/controllers/filesController.js @@ -1,10 +1,12 @@ -const { gitFileTree } = require('../utils/git'); +const { gitFileTreeFactory } = require('../utils/git'); const { buildFolderUrl, buildFileUrl, buildBreadcrumbs } = require('../utils/navigation'); +const gitFileTree = gitFileTreeFactory(); + function buildObjectUrl(parentHash, { path, type }) { switch (type) { case 'tree': @@ -16,26 +18,28 @@ function buildObjectUrl(parentHash, { path, type }) { } } -module.exports = function(req, res, next) { - const { hash } = req.params; - const pathParam = (req.params[0] || '').split('/').filter(Boolean); +module.exports = function(getFileTree = gitFileTree) { + return function(req, res, next) { + const { hash } = req.params; + const pathParam = (req.params[0] || '').split('/').filter(Boolean); - const path = pathParam.length ? pathParam.join('/') + '/' : ''; + const path = pathParam.length ? pathParam.join('/') + '/' : ''; - return gitFileTree(hash, path).then( - list => { - const files = list.map(item => ({ - ...item, - href: buildObjectUrl(hash, item), - name: item.path.split('/').pop() - })); + return getFileTree(hash, path).then( + list => { + const files = list.map(item => ({ + ...item, + href: buildObjectUrl(hash, item), + name: item.path.split('/').pop() + })); - res.render('files', { - title: 'files', - breadcrumbs: buildBreadcrumbs(hash, pathParam.join('/')), - files - }); - }, - err => next(err) - ); + res.render('files', { + title: 'files', + breadcrumbs: buildBreadcrumbs(hash, pathParam.join('/')), + files + }); + }, + err => next(err) + ); + }; }; diff --git a/controllers/indexController.js b/controllers/indexController.js index 0e3f100..085285f 100644 --- a/controllers/indexController.js +++ b/controllers/indexController.js @@ -1,20 +1,24 @@ -const { gitHistory } = require('../utils/git'); +const { gitHistoryFactory } = require('../utils/git'); const { buildFolderUrl, buildBreadcrumbs } = require('../utils/navigation'); -module.exports = function(req, res) { - gitHistory(1, 20).then( - history => { - const list = history.map(item => ({ - ...item, - href: buildFolderUrl(item.hash, '') - })); +const gitHistory = gitHistoryFactory(); - res.render('index', { - title: 'history', - breadcrumbs: buildBreadcrumbs(), - list - }); - }, - err => next(err) - ); +module.exports = function(getHistory = gitHistory) { + return function(req, res) { + getHistory(1, 20).then( + history => { + const list = history.map(item => ({ + ...item, + href: buildFolderUrl(item.hash, '') + })); + + res.render('index', { + title: 'history', + breadcrumbs: buildBreadcrumbs(), + list + }); + }, + err => next(err) + ); + }; }; diff --git a/hermione/html-report/data.js b/hermione/html-report/data.js new file mode 100644 index 0000000..6522c15 --- /dev/null +++ b/hermione/html-report/data.js @@ -0,0 +1,2 @@ +var data = {"skips":[],"suites":[{"name":"File","suitePath":["File"],"children":[{"name":"screenshot testing","suitePath":["File","screenshot testing"],"children":[{"name":"has breadcrumbs","suitePath":["File","screenshot testing","has breadcrumbs"],"browsers":[{"name":"chrome","result":{"suiteUrl":"http://localhost:3000/content/999bfb1ec309158f4c86edee76fa5630a3aba565/README.md","name":"chrome","metaInfo":{"url":"/content/999bfb1ec309158f4c86edee76fa5630a3aba565/README.md","file":"hermione/test/desktop/file.hermione.js","sessionId":"0d11e1d31d554d96980775e14c30a003"},"imagesInfo":[{"stateName":"breadcrumbs","refImagePath":"/Users/patat/Documents/code/shri/shri-testing-homework/hermione/screens/2651b79/chrome/breadcrumbs.png","status":"success","expectedPath":"images/2651b79/breadcrumbs/chrome~ref_1.png"}],"screenshot":false,"multipleTabs":true,"status":"success","attempt":1},"retries":[{"suiteUrl":"http://localhost:3000/content/999bfb1ec309158f4c86edee76fa5630a3aba565/README.md","name":"chrome","metaInfo":{"url":"/content/999bfb1ec309158f4c86edee76fa5630a3aba565/README.md","file":"test/integration/desktop/file.hermione.js","sessionId":"5d3a9784b1cc445114ba5c62306d291a"},"imagesInfo":[{"stateName":"breadcrumbs","refImagePath":"/Users/patat/Documents/code/shri/shri-testing-homework/hermione/screens/2651b79/chrome/breadcrumbs.png","status":"success","expectedPath":"images/2651b79/breadcrumbs/chrome~ref_0.png"}],"screenshot":false,"multipleTabs":true,"status":"success","attempt":0}]}],"status":"success"},{"name":"has file tree","suitePath":["File","screenshot testing","has file tree"],"browsers":[{"name":"chrome","result":{"suiteUrl":"http://localhost:3000/content/999bfb1ec309158f4c86edee76fa5630a3aba565/README.md","name":"chrome","metaInfo":{"url":"/content/999bfb1ec309158f4c86edee76fa5630a3aba565/README.md","file":"hermione/test/desktop/file.hermione.js","sessionId":"0d11e1d31d554d96980775e14c30a003"},"imagesInfo":[{"stateName":"file content","refImagePath":"/Users/patat/Documents/code/shri/shri-testing-homework/hermione/screens/8465644/chrome/file content.png","status":"success","expectedPath":"images/8465644/file content/chrome~ref_1.png"}],"screenshot":false,"multipleTabs":true,"status":"success","attempt":1},"retries":[{"suiteUrl":"http://localhost:3000/content/999bfb1ec309158f4c86edee76fa5630a3aba565/README.md","name":"chrome","metaInfo":{"url":"/content/999bfb1ec309158f4c86edee76fa5630a3aba565/README.md","file":"test/integration/desktop/file.hermione.js","sessionId":"5d3a9784b1cc445114ba5c62306d291a"},"imagesInfo":[{"stateName":"file content","refImagePath":"/Users/patat/Documents/code/shri/shri-testing-homework/hermione/screens/8465644/chrome/file content.png","status":"success","expectedPath":"images/8465644/file content/chrome~ref_0.png"}],"screenshot":false,"multipleTabs":true,"status":"success","attempt":0}]}],"status":"success"}],"status":"success"},{"name":"position","suitePath":["File","position"],"children":[{"name":"renders breadcrumbs in proper location","suitePath":["File","position","renders breadcrumbs in proper location"],"browsers":[{"name":"chrome","result":{"suiteUrl":"http://localhost:3000/content/999bfb1ec309158f4c86edee76fa5630a3aba565/README.md","name":"chrome","metaInfo":{"url":"/content/999bfb1ec309158f4c86edee76fa5630a3aba565/README.md","file":"hermione/test/desktop/file.hermione.js","sessionId":"0d11e1d31d554d96980775e14c30a003"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":1},"retries":[{"suiteUrl":"http://localhost:3000/content/999bfb1ec309158f4c86edee76fa5630a3aba565/README.md","name":"chrome","metaInfo":{"url":"/content/999bfb1ec309158f4c86edee76fa5630a3aba565/README.md","file":"test/integration/desktop/file.hermione.js","sessionId":"5d3a9784b1cc445114ba5c62306d291a"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":0}]}],"status":"success"},{"name":"renders file content in proper location","suitePath":["File","position","renders file content in proper location"],"browsers":[{"name":"chrome","result":{"suiteUrl":"http://localhost:3000/content/999bfb1ec309158f4c86edee76fa5630a3aba565/README.md","name":"chrome","metaInfo":{"url":"/content/999bfb1ec309158f4c86edee76fa5630a3aba565/README.md","file":"hermione/test/desktop/file.hermione.js","sessionId":"0d11e1d31d554d96980775e14c30a003"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":1},"retries":[{"suiteUrl":"http://localhost:3000/content/999bfb1ec309158f4c86edee76fa5630a3aba565/README.md","name":"chrome","metaInfo":{"url":"/content/999bfb1ec309158f4c86edee76fa5630a3aba565/README.md","file":"test/integration/desktop/file.hermione.js","sessionId":"5d3a9784b1cc445114ba5c62306d291a"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":0}]}],"status":"success"}],"status":"success"}],"status":"success"},{"name":"Files","suitePath":["Files"],"children":[{"name":"screenshot testing","suitePath":["Files","screenshot testing"],"children":[{"name":"has breadcrumbs","suitePath":["Files","screenshot testing","has breadcrumbs"],"browsers":[{"name":"chrome","result":{"suiteUrl":"http://localhost:3000/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","name":"chrome","metaInfo":{"url":"/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","file":"hermione/test/desktop/filesystem.hermione.js","sessionId":"0d11e1d31d554d96980775e14c30a003"},"imagesInfo":[{"stateName":"breadcrumbs","refImagePath":"/Users/patat/Documents/code/shri/shri-testing-homework/hermione/screens/4ce4ca1/chrome/breadcrumbs.png","status":"success","expectedPath":"images/4ce4ca1/breadcrumbs/chrome~ref_1.png"}],"screenshot":false,"multipleTabs":true,"status":"success","attempt":1},"retries":[{"suiteUrl":"http://localhost:3000/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","name":"chrome","metaInfo":{"url":"/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","file":"test/integration/desktop/filesystem.hermione.js","sessionId":"5d3a9784b1cc445114ba5c62306d291a"},"imagesInfo":[{"stateName":"breadcrumbs","refImagePath":"/Users/patat/Documents/code/shri/shri-testing-homework/hermione/screens/4ce4ca1/chrome/breadcrumbs.png","status":"success","expectedPath":"images/4ce4ca1/breadcrumbs/chrome~ref_0.png"}],"screenshot":false,"multipleTabs":true,"status":"success","attempt":0}]}],"status":"success"},{"name":"has file tree","suitePath":["Files","screenshot testing","has file tree"],"browsers":[{"name":"chrome","result":{"suiteUrl":"http://localhost:3000/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","name":"chrome","metaInfo":{"url":"/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","file":"hermione/test/desktop/filesystem.hermione.js","sessionId":"0d11e1d31d554d96980775e14c30a003"},"imagesInfo":[{"stateName":"file tree","refImagePath":"/Users/patat/Documents/code/shri/shri-testing-homework/hermione/screens/a957080/chrome/file tree.png","status":"success","expectedPath":"images/a957080/file tree/chrome~ref_1.png"}],"screenshot":false,"multipleTabs":true,"status":"success","attempt":1},"retries":[{"suiteUrl":"http://localhost:3000/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","name":"chrome","metaInfo":{"url":"/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","file":"test/integration/desktop/filesystem.hermione.js","sessionId":"5d3a9784b1cc445114ba5c62306d291a"},"imagesInfo":[{"stateName":"file tree","refImagePath":"/Users/patat/Documents/code/shri/shri-testing-homework/hermione/screens/a957080/chrome/file tree.png","status":"success","expectedPath":"images/a957080/file tree/chrome~ref_0.png"}],"screenshot":false,"multipleTabs":true,"status":"success","attempt":0}]}],"status":"success"}],"status":"success"},{"name":"position","suitePath":["Files","position"],"children":[{"name":"renders breadcrumbs in proper location","suitePath":["Files","position","renders breadcrumbs in proper location"],"browsers":[{"name":"chrome","result":{"suiteUrl":"http://localhost:3000/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","name":"chrome","metaInfo":{"url":"/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","file":"hermione/test/desktop/filesystem.hermione.js","sessionId":"0d11e1d31d554d96980775e14c30a003"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":1},"retries":[{"suiteUrl":"http://localhost:3000/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","name":"chrome","metaInfo":{"url":"/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","file":"test/integration/desktop/filesystem.hermione.js","sessionId":"5d3a9784b1cc445114ba5c62306d291a"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":0}]}],"status":"success"},{"name":"renders file tree in proper location","suitePath":["Files","position","renders file tree in proper location"],"browsers":[{"name":"chrome","result":{"suiteUrl":"http://localhost:3000/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","name":"chrome","metaInfo":{"url":"/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","file":"hermione/test/desktop/filesystem.hermione.js","sessionId":"0d11e1d31d554d96980775e14c30a003"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":1},"retries":[{"suiteUrl":"http://localhost:3000/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","name":"chrome","metaInfo":{"url":"/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","file":"test/integration/desktop/filesystem.hermione.js","sessionId":"5d3a9784b1cc445114ba5c62306d291a"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":0}]}],"status":"success"}],"status":"success"}],"status":"success"},{"name":"History","suitePath":["History"],"children":[{"name":"screenshot testing","suitePath":["History","screenshot testing"],"children":[{"name":"has breadcrumbs","suitePath":["History","screenshot testing","has breadcrumbs"],"browsers":[{"name":"chrome","result":{"suiteUrl":"http://localhost:3000/","name":"chrome","metaInfo":{"url":"/","file":"hermione/test/desktop/history.hermione.js","sessionId":"0d11e1d31d554d96980775e14c30a003"},"imagesInfo":[{"stateName":"breadcrumbs","refImagePath":"/Users/patat/Documents/code/shri/shri-testing-homework/hermione/screens/d260a8d/chrome/breadcrumbs.png","status":"success","expectedPath":"images/d260a8d/breadcrumbs/chrome~ref_1.png"}],"screenshot":false,"multipleTabs":true,"status":"success","attempt":1},"retries":[{"suiteUrl":"http://localhost:3000/","name":"chrome","metaInfo":{"url":"/","file":"test/integration/desktop/history.hermione.js","sessionId":"5d3a9784b1cc445114ba5c62306d291a"},"imagesInfo":[{"stateName":"breadcrumbs","refImagePath":"/Users/patat/Documents/code/shri/shri-testing-homework/hermione/screens/d260a8d/chrome/breadcrumbs.png","status":"success","expectedPath":"images/d260a8d/breadcrumbs/chrome~ref_0.png"}],"screenshot":false,"multipleTabs":true,"status":"success","attempt":0}]}],"status":"success"},{"name":"has commits","suitePath":["History","screenshot testing","has commits"],"browsers":[{"name":"chrome","result":{"suiteUrl":"http://localhost:3000/","name":"chrome","metaInfo":{"url":"/","file":"hermione/test/desktop/history.hermione.js","sessionId":"0d11e1d31d554d96980775e14c30a003"},"imagesInfo":[{"stateName":"commit list","refImagePath":"/Users/patat/Documents/code/shri/shri-testing-homework/hermione/screens/8325a2f/chrome/commit list.png","status":"success","expectedPath":"images/8325a2f/commit list/chrome~ref_1.png"}],"screenshot":false,"multipleTabs":true,"status":"success","attempt":1},"retries":[{"suiteUrl":"http://localhost:3000/","name":"chrome","metaInfo":{"url":"/","file":"test/integration/desktop/history.hermione.js","sessionId":"5d3a9784b1cc445114ba5c62306d291a"},"imagesInfo":[{"stateName":"commit list","refImagePath":"/Users/patat/Documents/code/shri/shri-testing-homework/hermione/screens/8325a2f/chrome/commit list.png","status":"success","expectedPath":"images/8325a2f/commit list/chrome~ref_0.png"}],"screenshot":false,"multipleTabs":true,"status":"success","attempt":0}]}],"status":"success"}],"status":"success"},{"name":"position","suitePath":["History","position"],"children":[{"name":"renders breadcrumbs in proper location","suitePath":["History","position","renders breadcrumbs in proper location"],"browsers":[{"name":"chrome","result":{"suiteUrl":"http://localhost:3000/","name":"chrome","metaInfo":{"url":"/","file":"hermione/test/desktop/history.hermione.js","sessionId":"0d11e1d31d554d96980775e14c30a003"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":1},"retries":[{"suiteUrl":"http://localhost:3000/","name":"chrome","metaInfo":{"url":"/","file":"test/integration/desktop/history.hermione.js","sessionId":"5d3a9784b1cc445114ba5c62306d291a"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":0}]}],"status":"success"},{"name":"renders commits list in proper location","suitePath":["History","position","renders commits list in proper location"],"browsers":[{"name":"chrome","result":{"suiteUrl":"http://localhost:3000/","name":"chrome","metaInfo":{"url":"/","file":"hermione/test/desktop/history.hermione.js","sessionId":"0d11e1d31d554d96980775e14c30a003"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":1},"retries":[{"suiteUrl":"http://localhost:3000/","name":"chrome","metaInfo":{"url":"/","file":"test/integration/desktop/history.hermione.js","sessionId":"5d3a9784b1cc445114ba5c62306d291a"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":0}]}],"status":"success"}],"status":"success"}],"status":"success"},{"name":"Links","suitePath":["Links"],"children":[{"name":"commit list links","suitePath":["Links","commit list links"],"children":[{"name":"when clicked leads to files page","suitePath":["Links","commit list links","when clicked leads to files page"],"browsers":[{"name":"chrome","result":{"suiteUrl":"http://localhost:3000/","name":"chrome","metaInfo":{"url":"/","file":"hermione/test/desktop/links.hermione.js","sessionId":"0d11e1d31d554d96980775e14c30a003"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":1},"retries":[{"suiteUrl":"http://localhost:3000/","name":"chrome","metaInfo":{"url":"/","file":"test/integration/desktop/links.hermione.js","sessionId":"5d3a9784b1cc445114ba5c62306d291a"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":0}]}],"status":"success"}],"status":"success"},{"name":"files links","suitePath":["Links","files links"],"children":[{"name":"when folder clicked leads to subfolder page","suitePath":["Links","files links","when folder clicked leads to subfolder page"],"browsers":[{"name":"chrome","result":{"suiteUrl":"http://localhost:3000/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","name":"chrome","metaInfo":{"url":"/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","file":"hermione/test/desktop/links.hermione.js","sessionId":"0d11e1d31d554d96980775e14c30a003"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":1},"retries":[{"suiteUrl":"http://localhost:3000/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","name":"chrome","metaInfo":{"url":"/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","file":"test/integration/desktop/links.hermione.js","sessionId":"5d3a9784b1cc445114ba5c62306d291a"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":0}]}],"status":"success"},{"name":"when file clicked leads to file page","suitePath":["Links","files links","when file clicked leads to file page"],"browsers":[{"name":"chrome","result":{"suiteUrl":"http://localhost:3000/files/999bfb1ec309158f4c86edee76fa5630a3aba565/controllers","name":"chrome","metaInfo":{"url":"/files/999bfb1ec309158f4c86edee76fa5630a3aba565/controllers","file":"hermione/test/desktop/links.hermione.js","sessionId":"0d11e1d31d554d96980775e14c30a003"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":1},"retries":[{"suiteUrl":"http://localhost:3000/files/999bfb1ec309158f4c86edee76fa5630a3aba565/controllers","name":"chrome","metaInfo":{"url":"/files/999bfb1ec309158f4c86edee76fa5630a3aba565/controllers","file":"test/integration/desktop/links.hermione.js","sessionId":"5d3a9784b1cc445114ba5c62306d291a"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":0}]}],"status":"success"}],"status":"success"},{"name":"breadcrumbs","suitePath":["Links","breadcrumbs"],"children":[{"name":"when on history page","suitePath":["Links","breadcrumbs","when on history page"],"children":[{"name":"there are no links","suitePath":["Links","breadcrumbs","when on history page","there are no links"],"browsers":[{"name":"chrome","result":{"suiteUrl":"http://localhost:3000/","name":"chrome","metaInfo":{"url":"/","file":"hermione/test/desktop/links.hermione.js","sessionId":"0d11e1d31d554d96980775e14c30a003"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":1},"retries":[{"suiteUrl":"http://localhost:3000/","name":"chrome","metaInfo":{"url":"/","file":"test/integration/desktop/links.hermione.js","sessionId":"5d3a9784b1cc445114ba5c62306d291a"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":0}]}],"status":"success"}],"status":"success"},{"name":"when on directory page","suitePath":["Links","breadcrumbs","when on directory page"],"children":[{"name":"history link leads to history page","suitePath":["Links","breadcrumbs","when on directory page","history link leads to history page"],"browsers":[{"name":"chrome","result":{"suiteUrl":"http://localhost:3000/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","name":"chrome","metaInfo":{"url":"/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","file":"hermione/test/desktop/links.hermione.js","sessionId":"0d11e1d31d554d96980775e14c30a003"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":1},"retries":[{"suiteUrl":"http://localhost:3000/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","name":"chrome","metaInfo":{"url":"/files/999bfb1ec309158f4c86edee76fa5630a3aba565/","file":"test/integration/desktop/links.hermione.js","sessionId":"5d3a9784b1cc445114ba5c62306d291a"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":0}]}],"status":"success"}],"status":"success"},{"name":"when on file page","suitePath":["Links","breadcrumbs","when on file page"],"children":[{"name":"history link leads to history page","suitePath":["Links","breadcrumbs","when on file page","history link leads to history page"],"browsers":[{"name":"chrome","result":{"suiteUrl":"http://localhost:3000/content/999bfb1ec309158f4c86edee76fa5630a3aba565/controllers/indexController.js","name":"chrome","metaInfo":{"url":"/content/999bfb1ec309158f4c86edee76fa5630a3aba565/controllers/indexController.js","file":"hermione/test/desktop/links.hermione.js","sessionId":"0d11e1d31d554d96980775e14c30a003"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":1},"retries":[{"suiteUrl":"http://localhost:3000/content/999bfb1ec309158f4c86edee76fa5630a3aba565/controllers/indexController.js","name":"chrome","metaInfo":{"url":"/content/999bfb1ec309158f4c86edee76fa5630a3aba565/controllers/indexController.js","file":"test/integration/desktop/links.hermione.js","sessionId":"5d3a9784b1cc445114ba5c62306d291a"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":0}]}],"status":"success"},{"name":"ROOT link leads to filesystem root page","suitePath":["Links","breadcrumbs","when on file page","ROOT link leads to filesystem root page"],"browsers":[{"name":"chrome","result":{"suiteUrl":"http://localhost:3000/content/999bfb1ec309158f4c86edee76fa5630a3aba565/controllers/indexController.js","name":"chrome","metaInfo":{"url":"/content/999bfb1ec309158f4c86edee76fa5630a3aba565/controllers/indexController.js","file":"hermione/test/desktop/links.hermione.js","sessionId":"0d11e1d31d554d96980775e14c30a003"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":1},"retries":[{"suiteUrl":"http://localhost:3000/content/999bfb1ec309158f4c86edee76fa5630a3aba565/controllers/indexController.js","name":"chrome","metaInfo":{"url":"/content/999bfb1ec309158f4c86edee76fa5630a3aba565/controllers/indexController.js","file":"test/integration/desktop/links.hermione.js","sessionId":"5d3a9784b1cc445114ba5c62306d291a"},"imagesInfo":[],"screenshot":false,"multipleTabs":true,"status":"success","attempt":0}]}],"status":"success"}],"status":"success"}],"status":"success"}],"status":"success"}],"config":{"defaultView":"all","baseHost":"","scaleImages":false}}; +try { module.exports = data; } catch(e) {} \ No newline at end of file diff --git a/hermione/html-report/images/2651b79/breadcrumbs/chrome~ref_0.png b/hermione/html-report/images/2651b79/breadcrumbs/chrome~ref_0.png new file mode 100644 index 0000000..21645fa Binary files /dev/null and b/hermione/html-report/images/2651b79/breadcrumbs/chrome~ref_0.png differ diff --git a/hermione/html-report/images/2651b79/breadcrumbs/chrome~ref_1.png b/hermione/html-report/images/2651b79/breadcrumbs/chrome~ref_1.png new file mode 100644 index 0000000..21645fa Binary files /dev/null and b/hermione/html-report/images/2651b79/breadcrumbs/chrome~ref_1.png differ diff --git a/hermione/html-report/images/4ce4ca1/breadcrumbs/chrome~ref_0.png b/hermione/html-report/images/4ce4ca1/breadcrumbs/chrome~ref_0.png new file mode 100644 index 0000000..c533969 Binary files /dev/null and b/hermione/html-report/images/4ce4ca1/breadcrumbs/chrome~ref_0.png differ diff --git a/hermione/html-report/images/4ce4ca1/breadcrumbs/chrome~ref_1.png b/hermione/html-report/images/4ce4ca1/breadcrumbs/chrome~ref_1.png new file mode 100644 index 0000000..c533969 Binary files /dev/null and b/hermione/html-report/images/4ce4ca1/breadcrumbs/chrome~ref_1.png differ diff --git a/hermione/html-report/images/8325a2f/commit list/chrome~ref_0.png b/hermione/html-report/images/8325a2f/commit list/chrome~ref_0.png new file mode 100644 index 0000000..9e4f570 Binary files /dev/null and b/hermione/html-report/images/8325a2f/commit list/chrome~ref_0.png differ diff --git a/hermione/html-report/images/8325a2f/commit list/chrome~ref_1.png b/hermione/html-report/images/8325a2f/commit list/chrome~ref_1.png new file mode 100644 index 0000000..9e4f570 Binary files /dev/null and b/hermione/html-report/images/8325a2f/commit list/chrome~ref_1.png differ diff --git a/hermione/html-report/images/8465644/file content/chrome~ref_0.png b/hermione/html-report/images/8465644/file content/chrome~ref_0.png new file mode 100644 index 0000000..355ac9f Binary files /dev/null and b/hermione/html-report/images/8465644/file content/chrome~ref_0.png differ diff --git a/hermione/html-report/images/8465644/file content/chrome~ref_1.png b/hermione/html-report/images/8465644/file content/chrome~ref_1.png new file mode 100644 index 0000000..355ac9f Binary files /dev/null and b/hermione/html-report/images/8465644/file content/chrome~ref_1.png differ diff --git a/hermione/html-report/images/a957080/file tree/chrome~ref_0.png b/hermione/html-report/images/a957080/file tree/chrome~ref_0.png new file mode 100644 index 0000000..00b4ab4 Binary files /dev/null and b/hermione/html-report/images/a957080/file tree/chrome~ref_0.png differ diff --git a/hermione/html-report/images/a957080/file tree/chrome~ref_1.png b/hermione/html-report/images/a957080/file tree/chrome~ref_1.png new file mode 100644 index 0000000..00b4ab4 Binary files /dev/null and b/hermione/html-report/images/a957080/file tree/chrome~ref_1.png differ diff --git a/hermione/html-report/images/d260a8d/breadcrumbs/chrome~ref_0.png b/hermione/html-report/images/d260a8d/breadcrumbs/chrome~ref_0.png new file mode 100644 index 0000000..245a031 Binary files /dev/null and b/hermione/html-report/images/d260a8d/breadcrumbs/chrome~ref_0.png differ diff --git a/hermione/html-report/images/d260a8d/breadcrumbs/chrome~ref_1.png b/hermione/html-report/images/d260a8d/breadcrumbs/chrome~ref_1.png new file mode 100644 index 0000000..245a031 Binary files /dev/null and b/hermione/html-report/images/d260a8d/breadcrumbs/chrome~ref_1.png differ diff --git a/hermione/html-report/index.html b/hermione/html-report/index.html new file mode 100644 index 0000000..2893cd8 --- /dev/null +++ b/hermione/html-report/index.html @@ -0,0 +1,10 @@ + + + +HTML report + + + +
+ + diff --git a/hermione/html-report/report.min.css b/hermione/html-report/report.min.css new file mode 100644 index 0000000..a329173 --- /dev/null +++ b/hermione/html-report/report.min.css @@ -0,0 +1 @@ +.report{font:14px Helvetica Neue,Arial,sans-serif}.summary__key{font-weight:700;display:inline}.summary__key:after{content:":"}.summary__key_has-fails{color:#c00}.summary__value{margin-left:5px;margin-right:20px;display:inline}.select_type_view{height:22px;margin-right:4px}.button{cursor:pointer;margin-right:4px;background:#fff;border:1px solid #ccc;border-radius:2px;line-height:10px;padding:5px;outline:0;box-sizing:content-box;transition:border-color .2s,background-color .2s}.button:hover{border-color:#555}.button:disabled{background:#ccc;cursor:default}.button.pressed,.button:active{background:#eee}.button_checked{background:#ffeba0;border-color:#cebe7d}.button.button_type_action{background:#ffde5a}.control-group{display:inline-block;margin-right:4px;white-space:nowrap}.control-group__item{position:relative;margin:0;border-radius:0}.control-group__item:first-child{border-radius:2px 0 0 2px}.control-group__item:last-child{border-radius:0 2px 2px 0}.control-group__item:not(:last-child){border-right:0}.control-group__item:not(:last-child):after{content:"";border-right:1px solid transparent;position:absolute;z-index:1;top:-1px;right:-1px;bottom:-1px;transition:border-color .2s}.control-group__item:first-child:after{border-radius:2px 0 0 2px}.control-group__item:last-child:after{border-radius:0 2px 2px 0}.control-group__item:hover:after{border-color:#555}.image-box{padding:5px 10px;border:1px solid #ccc;background:#c9c9c9}.image-box__container_scale{display:flex;flex-flow:row wrap}.report_show-only-errors .section_status_skipped,.report_show-only-errors .section_status_success{display:none}.image-box__image{padding:5px 5px 5px 0;display:inline-block;vertical-align:top;flex-basis:33.333%;flex-grow:1;box-sizing:border-box}.image-box__screenshot{max-width:100%;height:auto}.section__title{font-weight:700;cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.section__title_skipped{color:#ccc;cursor:default;-moz-user-select:text;-webkit-user-select:text;-ms-user-select:text;user-select:text}.section__title:before{height:18px}.section__title:before,.toggle-open__switcher:before{display:inline-block;margin-right:2px;vertical-align:middle;content:"\25BC";color:#000}.section .section__title:hover{color:#2d3e50}.section__title.section__title_skipped:hover{color:#ccc}.section__title_skipped:before{content:none}.section_status_success>.section__title{color:#038035}.section_status_error>.section__title,.section_status_fail>.section__title{color:#c00}.section_status_skipped>.section__title{color:#ccc}.section__body{padding-left:15px}.section__body_guided{border-left:1px dotted #ccc}.section_collapsed .section__body{display:none}.section__icon{display:inline-block;width:19px;height:19px;vertical-align:top;margin-right:1px;padding:0 3px;border:none;opacity:.15;cursor:pointer}.section__icon:hover{opacity:1}.section__icon:before{display:block;width:100%;height:100%;content:"";background-repeat:no-repeat;background-size:100%;background-position:50%}.section__icon_view-local:before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJz48c3ZnIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgLTAuNzA5IC0zMi4wODEgMTQxLjczMiAxNDEuNzMyIiBoZWlnaHQ9IjE0MS43MzJweCIgaWQ9IkxpdmVsbG9fMSIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSItMC43MDkgLTMyLjA4MSAxNDEuNzMyIDE0MS43MzIiIHdpZHRoPSIxNDEuNzMycHgiIHhtbDpzcGFjZT0icHJlc2VydmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxnIGlkPSJMaXZlbGxvXzgwIj48cGF0aCBkPSJNODkuNjY4LDM4Ljc4NmMwLTEwLjc3My04LjczMS0xOS41MTItMTkuNTEtMTkuNTEyUzUwLjY0NiwyOC4wMSw1MC42NDYsMzguNzg2YzAsMTAuNzc0LDguNzMyLDE5LjUxMSwxOS41MTIsMTkuNTExICAgQzgwLjkzNCw1OC4yOTcsODkuNjY4LDQ5LjU2MSw4OS42NjgsMzguNzg2IE0xMjguMzUyLDM4LjcyN2MtMTMuMzE1LDE3LjU5OS0zNC40MjYsMjguOTcyLTU4LjE5MywyOC45NzIgICBjLTIzLjc3LDAtNDQuODc5LTExLjM3My01OC4xOTQtMjguOTcyQzI1LjI3OSwyMS4xMjksNDYuMzg5LDkuNzU2LDcwLjE1OCw5Ljc1NkM5My45MjcsOS43NTYsMTE1LjAzNiwyMS4xMjksMTI4LjM1MiwzOC43MjcgICAgTTE0MC4zMTQsMzguNzZDMTI1LjY2NiwxNS40NzgsOTkuNzI1LDAsNzAuMTU4LDBTMTQuNjQ4LDE1LjQ3OCwwLDM4Ljc2YzE0LjY0OCwyMy4zMTIsNDAuNTkxLDM4LjgxLDcwLjE1OCwzOC44MSAgIFMxMjUuNjY2LDYyLjA3MiwxNDAuMzE0LDM4Ljc2Ii8+PC9nPjxnIGlkPSJMaXZlbGxvXzFfMV8iLz48L3N2Zz4=)}.section__icon_copy-to-clipboard{box-sizing:border-box}.section__icon_copy-to-clipboard:before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJz48c3ZnIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDUxMiA1MTIiIGhlaWdodD0iNTEycHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB3aWR0aD0iNTEycHgiIHhtbDpzcGFjZT0icHJlc2VydmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxwYXRoIGQ9Ik00NjguNDkzLDEwMS42MzdMMzcxLjk1NSw1LjA5OEgxNTkuNTd2NzcuMjMxSDQzLjcyNHY0MjQuNzY5aDMwOC45MjN2LTc3LjIzMWgxMTUuODQ2VjEwMS42Mzd6ICAgTTM3MS45NTUsMzIuNDAxbDY5LjIzNiw2OS4yMzVoLTY5LjIzNlYzMi40MDF6IE02My4wMzEsNDg3Ljc5VjEwMS42MzdoMTczLjc2OXY5Ni41MzhoOTYuNTM4VjQ4Ny43OUg2My4wMzF6IE0yNTYuMTA4LDEwOS42MzIgIGw2OS4yMzYsNjkuMjM1aC02OS4yMzZWMTA5LjYzMnogTTM1Mi42NDcsNDEwLjU2VjE3OC44NjdsLTk2LjUzOC05Ni41MzhoLTc3LjIzMVYyNC40MDZoMTczLjc2OXY5Ni41MzhoOTYuNTM4VjQxMC41NkgzNTIuNjQ3eiIgZmlsbD0iIzM3NDA0RCIvPjwvc3ZnPg==)}.section_collapsed .section__title:before,.toggle-open_collapsed .toggle-open__switcher:before{-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}.toggle-open__item-key{font-weight:700}.reason{background:#f6f5f3;padding:5px;margin-bottom:5px;font:13px Consolas,Helvetica,monospace}.reason__item-key{font-weight:700}.state-button{position:relative;margin-right:2px;height:22px;display:inline-block;box-shadow:0 0 1px #000;border:1px solid #fff;outline:none;background:#fff;cursor:pointer}.state-title{font-weight:700}.state-title_success,.state-title_updated{color:#038035}.state-title_error,.state-title_fail{color:#c00}.cswitcher__item,.tab-switcher__button{width:22px;padding:0}.cswitcher__item_selected.cswitcher__item:before{content:"";position:absolute;top:0;left:0;background:rgba(4,4,4,.3) no-repeat 3px 2px url('data:image/svg+xml;utf8,');height:20px;width:20px}.cswitcher_color_1{background:#c9c9c9}.cswitcher_color_2{background:#d5ff09}.cswitcher_color_3{background-image:url('data:image/svg+xml;utf8,')}.collapsed,.invisible{display:none}.skipped__list{margin:10px 0;font-weight:700;color:#ccc}a:link,a:visited{text-decoration:none}a:active,a:hover{text-decoration:underline}.tab__item{display:none}.tab__item_active{display:block}.tab__item .button_type_suite-controls{position:sticky;top:0;border-color:#bbb}.tab__item .button_type_suite-controls:hover{border-color:#555}.cswitcher,.tab-switcher{display:inline-block;vertical-align:top;padding:5px}.cswitcher{padding-left:0}.cswitcher:before{content:"Background:";padding-right:4px}.tab-switcher:before{content:"Attempts:";padding-right:4px}.tab-switcher__button_active{background:#ffeba0}.toggle-open{margin:5px 5px 5px 0}.toggle-open__switcher{display:inline-block;cursor:pointer}.toggle-open__content{margin:5px 0;background:#f6f5f3;padding:5px;font-family:Consolas,monospace}.toggle-open_collapsed .toggle-open__content{display:none}.text-input{outline:0;line-height:14px;margin-left:3px;padding:3px 5px;border:1px solid #ccc;border-radius:2px}.overlay{background:rgba(0,0,0,.3);left:0;top:0;right:0;bottom:0;position:fixed;z-index:1}.preloader{width:70px;height:20px;position:absolute;top:50%;left:50%;margin-left:-35px;margin-top:-10px}.preloader>div{background-color:#f7c709;opacity:.7;width:15px;height:15px;border-radius:100%;margin:2px;-webkit-animation-fill-mode:both;animation-fill-mode:both;display:inline-block}.preloader>div:first-child{-webkit-animation:scale .75s -.24s infinite cubic-bezier(.2,.68,.18,1.08);animation:scale .75s -.24s infinite cubic-bezier(.2,.68,.18,1.08)}.preloader>div:nth-child(2){-webkit-animation:scale .75s -.12s infinite cubic-bezier(.2,.68,.18,1.08);animation:scale .75s -.12s infinite cubic-bezier(.2,.68,.18,1.08)}.preloader>div:nth-child(3){-webkit-animation:scale .75s 0s infinite cubic-bezier(.2,.68,.18,1.08);animation:scale .75s 0s infinite cubic-bezier(.2,.68,.18,1.08)}@-webkit-keyframes scale{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}45%{-webkit-transform:scale(.1);transform:scale(.1);opacity:.7}80%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes scale{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}45%{-webkit-transform:scale(.1);transform:scale(.1);opacity:.7}80%{-webkit-transform:scale(1);transform:scale(1);opacity:1}} \ No newline at end of file diff --git a/hermione/html-report/report.min.js b/hermione/html-report/report.min.js new file mode 100644 index 0000000..edeb54e --- /dev/null +++ b/hermione/html-report/report.min.js @@ -0,0 +1,54 @@ +!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=362)}([function(e,t,n){"use strict";e.exports=n(120)},function(e,t,n){e.exports=n(131)()},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(174),o=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(){function e(e,t){for(var n=0;n-1}function h(e,t,n){for(var r=-1,o=null==e?0:e.length;++r-1;);return n}function q(e,t){for(var n=e.length;n--&&k(t,e[n],0)>-1;);return n}function F(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}function H(e){return"\\"+Cn[e]}function B(e,t){return null==e?oe:e[t]}function z(e){return bn.test(e)}function V(e){return _n.test(e)}function W(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}function G(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function K(e,t){return function(n){return e(t(n))}}function $(e,t){for(var n=-1,r=e.length,o=0,i=[];++n>>1,qe=[["ary",Ee],["bind",ge],["bindKey",me],["curry",be],["curryRight",_e],["flip",Se],["partial",we],["partialRight",xe],["rearg",ke]],Fe="[object Arguments]",He="[object Array]",Be="[object AsyncFunction]",ze="[object Boolean]",Ve="[object Date]",We="[object DOMException]",Ge="[object Error]",Ke="[object Function]",$e="[object GeneratorFunction]",Ye="[object Map]",Xe="[object Number]",Ze="[object Null]",Qe="[object Object]",Je="[object Proxy]",et="[object RegExp]",tt="[object Set]",nt="[object String]",rt="[object Symbol]",ot="[object Undefined]",it="[object WeakMap]",at="[object WeakSet]",ut="[object ArrayBuffer]",lt="[object DataView]",st="[object Float32Array]",ct="[object Float64Array]",ft="[object Int8Array]",pt="[object Int16Array]",dt="[object Int32Array]",ht="[object Uint8Array]",vt="[object Uint8ClampedArray]",gt="[object Uint16Array]",mt="[object Uint32Array]",yt=/\b__p \+= '';/g,bt=/\b(__p \+=) '' \+/g,_t=/(__e\(.*?\)|\b__t\)) \+\n'';/g,wt=/&(?:amp|lt|gt|quot|#39);/g,xt=/[&<>"']/g,Et=RegExp(wt.source),kt=RegExp(xt.source),St=/<%-([\s\S]+?)%>/g,Ot=/<%([\s\S]+?)%>/g,Tt=/<%=([\s\S]+?)%>/g,Ct=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,At=/^\w*$/,Pt=/^\./,Nt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,jt=/[\\^$.*+?()[\]{}|]/g,Rt=RegExp(jt.source),It=/^\s+|\s+$/g,Lt=/^\s+/,Dt=/\s+$/,Mt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ut=/\{\n\/\* \[wrapped with (.+)\] \*/,qt=/,? & /,Ft=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ht=/\\(\\)?/g,Bt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,zt=/\w*$/,Vt=/^[-+]0x[0-9a-f]+$/i,Wt=/^0b[01]+$/i,Gt=/^\[object .+?Constructor\]$/,Kt=/^0o[0-7]+$/i,$t=/^(?:0|[1-9]\d*)$/,Yt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Xt=/($^)/,Zt=/['\n\r\u2028\u2029\\]/g,Qt="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Jt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",en="["+Jt+"]",tn="["+Qt+"]",nn="[a-z\\xdf-\\xf6\\xf8-\\xff]",rn="[^\\ud800-\\udfff"+Jt+"\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",on="\\ud83c[\\udffb-\\udfff]",an="(?:\\ud83c[\\udde6-\\uddff]){2}",un="[\\ud800-\\udbff][\\udc00-\\udfff]",ln="[A-Z\\xc0-\\xd6\\xd8-\\xde]",sn="(?:"+nn+"|"+rn+")",cn="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",fn="(?:\\u200d(?:"+["[^\\ud800-\\udfff]",an,un].join("|")+")[\\ufe0e\\ufe0f]?"+cn+")*",pn="[\\ufe0e\\ufe0f]?"+cn+fn,dn="(?:"+["[\\u2700-\\u27bf]",an,un].join("|")+")"+pn,hn="(?:"+["[^\\ud800-\\udfff]"+tn+"?",tn,an,un,"[\\ud800-\\udfff]"].join("|")+")",vn=RegExp("['’]","g"),gn=RegExp(tn,"g"),mn=RegExp(on+"(?="+on+")|"+hn+pn,"g"),yn=RegExp([ln+"?"+nn+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[en,ln,"$"].join("|")+")","(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[en,ln+sn,"$"].join("|")+")",ln+"?"+sn+"+(?:['’](?:d|ll|m|re|s|t|ve))?",ln+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)","\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)","\\d+",dn].join("|"),"g"),bn=RegExp("[\\u200d\\ud800-\\udfff"+Qt+"\\ufe0e\\ufe0f]"),_n=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,wn=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],xn=-1,En={};En[st]=En[ct]=En[ft]=En[pt]=En[dt]=En[ht]=En[vt]=En[gt]=En[mt]=!0,En[Fe]=En[He]=En[ut]=En[ze]=En[lt]=En[Ve]=En[Ge]=En[Ke]=En[Ye]=En[Xe]=En[Qe]=En[et]=En[tt]=En[nt]=En[it]=!1;var kn={};kn[Fe]=kn[He]=kn[ut]=kn[lt]=kn[ze]=kn[Ve]=kn[st]=kn[ct]=kn[ft]=kn[pt]=kn[dt]=kn[Ye]=kn[Xe]=kn[Qe]=kn[et]=kn[tt]=kn[nt]=kn[rt]=kn[ht]=kn[vt]=kn[gt]=kn[mt]=!0,kn[Ge]=kn[Ke]=kn[it]=!1;var Sn={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"},On={"&":"&","<":"<",">":">",'"':""","'":"'"},Tn={"&":"&","<":"<",">":">",""":'"',"'":"'"},Cn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},An=parseFloat,Pn=parseInt,Nn="object"==typeof e&&e&&e.Object===Object&&e,jn="object"==typeof self&&self&&self.Object===Object&&self,Rn=Nn||jn||Function("return this")(),In="object"==typeof t&&t&&!t.nodeType&&t,Ln=In&&"object"==typeof r&&r&&!r.nodeType&&r,Dn=Ln&&Ln.exports===In,Mn=Dn&&Nn.process,Un=function(){try{return Mn&&Mn.binding&&Mn.binding("util")}catch(e){}}(),qn=Un&&Un.isArrayBuffer,Fn=Un&&Un.isDate,Hn=Un&&Un.isMap,Bn=Un&&Un.isRegExp,zn=Un&&Un.isSet,Vn=Un&&Un.isTypedArray,Wn=C("length"),Gn=A(Sn),Kn=A(On),$n=A(Tn),Yn=function e(t){function n(e){if(il(e)&&!mp(e)&&!(e instanceof _)){if(e instanceof o)return e;if(gc.call(e,"__wrapped__"))return na(e)}return new o(e)}function r(){}function o(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=oe}function _(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=De,this.__views__=[]}function A(){var e=new _(this.__wrapped__);return e.__actions__=Uo(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Uo(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Uo(this.__views__),e}function Z(){if(this.__filtered__){var e=new _(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e}function te(){var e=this.__wrapped__.value(),t=this.__dir__,n=mp(e),r=t<0,o=n?e.length:0,i=Ti(0,o,this.__views__),a=i.start,u=i.end,l=u-a,s=r?u:a-1,c=this.__iteratees__,f=c.length,p=0,d=Gc(l,this.__takeCount__);if(!n||!r&&o==l&&d==l)return bo(e,this.__actions__);var h=[];e:for(;l--&&p-1}function ln(e,t){var n=this.__data__,r=Xn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function sn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function rr(e,t,n,r,o,i){var a,u=t&fe,l=t&pe,c=t&de;if(n&&(a=o?n(e,r,o,i):n(e)),a!==oe)return a;if(!ol(e))return e;var f=mp(e);if(f){if(a=Pi(e),!u)return Uo(e,a)}else{var p=Tf(e),d=p==Ke||p==$e;if(bp(e))return Oo(e,u);if(p==Qe||p==Fe||d&&!o){if(a=l||d?{}:Ni(e),!u)return l?Ho(e,Jn(a,e)):Fo(e,Qn(a,e))}else{if(!kn[p])return o?e:{};a=ji(e,p,rr,u)}}i||(i=new _n);var h=i.get(e);if(h)return h;i.set(e,a);var v=c?l?bi:yi:l?Hl:Fl,g=f?oe:v(e);return s(g||e,function(r,o){g&&(o=r,r=e[o]),Wn(a,o,rr(r,t,n,o,e,i))}),a}function or(e){var t=Fl(e);return function(n){return ir(n,e,t)}}function ir(e,t,n){var r=n.length;if(null==e)return!r;for(e=uc(e);r--;){var o=n[r],i=t[o],a=e[o];if(a===oe&&!(o in e)||!i(a))return!1}return!0}function ar(e,t,n){if("function"!=typeof e)throw new cc(ue);return Pf(function(){e.apply(oe,n)},t)}function ur(e,t,n,r){var o=-1,i=d,a=!0,u=e.length,l=[],s=t.length;if(!u)return l;n&&(t=v(t,L(n))),r?(i=h,a=!1):t.length>=ie&&(i=M,a=!1,t=new mn(t));e:for(;++oo?0:o+n),r=r===oe||r>o?o:xl(r),r<0&&(r+=o),r=n>r?0:El(r);n0&&n(u)?t>1?pr(u,t-1,n,r,o):g(o,u):r||(o[o.length]=u)}return o}function dr(e,t){return e&&mf(e,t,Fl)}function hr(e,t){return e&&yf(e,t,Fl)}function vr(e,t){return p(t,function(t){return tl(e[t])})}function gr(e,t){t=ko(t,e);for(var n=0,r=t.length;null!=e&&nt}function _r(e,t){return null!=e&&gc.call(e,t)}function wr(e,t){return null!=e&&t in uc(e)}function xr(e,t,n){return e>=Gc(t,n)&&e=120&&c.length>=120)?new mn(a&&c):oe}c=e[0];var f=-1,p=u[0];e:for(;++f-1;)u!==e&&Pc.call(u,l,1),Pc.call(e,l,1);return e}function Qr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var o=t[n];if(n==r||o!==i){var i=o;Li(o)?Pc.call(e,o,1):go(e,o)}}return e}function Jr(e,t){return e+qc(Yc()*(t-e+1))}function eo(e,t,n,r){for(var o=-1,i=Wc(Uc((t-e)/(n||1)),0),a=nc(i);i--;)a[r?i:++o]=e,e+=n;return a}function to(e,t){var n="";if(!e||t<1||t>Re)return n;do{t%2&&(n+=e),(t=qc(t/2))&&(e+=e)}while(t);return n}function no(e,t){return Nf(Ki(e,t,Ps),e+"")}function ro(e){return In(Jl(e))}function oo(e,t){var n=Jl(e);return Qi(n,nr(t,0,n.length))}function io(e,t,n,r){if(!ol(e))return e;t=ko(t,e);for(var o=-1,i=t.length,a=i-1,u=e;null!=u&&++oo?0:o+t),n=n>o?o:n,n<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var i=nc(o);++r>>1,a=e[i];null!==a&&!gl(a)&&(n?a<=t:a=ie){var s=t?null:Ef(e);if(s)return Y(s);a=!1,o=M,l=new mn}else l=t?[]:u;e:for(;++r=r?e:uo(e,t,n)}function Oo(e,t){if(t)return e.slice();var n=e.length,r=Oc?Oc(n):new e.constructor(n);return e.copy(r),r}function To(e){var t=new e.constructor(e.byteLength);return new Sc(t).set(new Sc(e)),t}function Co(e,t){var n=t?To(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}function Ao(e,t,n){return m(t?n(G(e),fe):G(e),i,new e.constructor)}function Po(e){var t=new e.constructor(e.source,zt.exec(e));return t.lastIndex=e.lastIndex,t}function No(e,t,n){return m(t?n(Y(e),fe):Y(e),a,new e.constructor)}function jo(e){return pf?uc(pf.call(e)):{}}function Ro(e,t){var n=t?To(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Io(e,t){if(e!==t){var n=e!==oe,r=null===e,o=e===e,i=gl(e),a=t!==oe,u=null===t,l=t===t,s=gl(t);if(!u&&!s&&!i&&e>t||i&&a&&l&&!u&&!s||r&&a&&l||!n&&l||!o)return 1;if(!r&&!i&&!s&&e=u)return l;return l*("desc"==n[r]?-1:1)}}return e.index-t.index}function Do(e,t,n,r){for(var o=-1,i=e.length,a=n.length,u=-1,l=t.length,s=Wc(i-a,0),c=nc(l+s),f=!r;++u1?n[o-1]:oe,a=o>2?n[2]:oe;for(i=e.length>3&&"function"==typeof i?(o--,i):oe,a&&Di(n[0],n[1],a)&&(i=o<3?oe:i,o=1),t=uc(t);++r-1?o[i?t[a]:a]:oe}}function Qo(e){return mi(function(t){var n=t.length,r=n,i=o.prototype.thru;for(e&&t.reverse();r--;){var a=t[r];if("function"!=typeof a)throw new cc(ue);if(i&&!u&&"wrapper"==_i(a))var u=new o([],!0)}for(r=u?r:n;++r1&&y.reverse(),f&&lu))return!1;var s=i.get(e);if(s&&i.get(t))return s==t;var c=-1,f=!0,p=n&ve?new mn:oe;for(i.set(e,t),i.set(t,e);++c1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(Mt,"{\n/* [wrapped with "+t+"] */\n")}function Ii(e){return mp(e)||gp(e)||!!(Nc&&e&&e[Nc])}function Li(e,t){return!!(t=null==t?Re:t)&&("number"==typeof e||$t.test(e))&&e>-1&&e%1==0&&e0){if(++t>=Ce)return arguments[0]}else t=0;return e.apply(oe,arguments)}}function Qi(e,t){var n=-1,r=e.length,o=r-1;for(t=t===oe?r:t;++n=this.__values__.length;return{done:e,value:e?oe:this.__values__[this.__index__++]}}function nu(){return this}function ru(e){for(var t,n=this;n instanceof r;){var o=na(n);o.__index__=0,o.__values__=oe,t?i.__wrapped__=o:t=o;var i=o;n=n.__wrapped__}return i.__wrapped__=e,t}function ou(){var e=this.__wrapped__;if(e instanceof _){var t=e;return this.__actions__.length&&(t=new _(this)),t=t.reverse(),t.__actions__.push({func:Qa,args:[Ca],thisArg:oe}),new o(t,this.__chain__)}return this.thru(Ca)}function iu(){return bo(this.__wrapped__,this.__actions__)}function au(e,t,n){var r=mp(e)?f:lr;return n&&Di(e,t,n)&&(t=oe),r(e,xi(t,3))}function uu(e,t){return(mp(e)?p:fr)(e,xi(t,3))}function lu(e,t){return pr(hu(e,t),1)}function su(e,t){return pr(hu(e,t),je)}function cu(e,t,n){return n=n===oe?1:xl(n),pr(hu(e,t),n)}function fu(e,t){return(mp(e)?s:vf)(e,xi(t,3))}function pu(e,t){return(mp(e)?c:gf)(e,xi(t,3))}function du(e,t,n,r){e=Gu(e)?e:Jl(e),n=n&&!r?xl(n):0;var o=e.length;return n<0&&(n=Wc(o+n,0)),vl(e)?n<=o&&e.indexOf(t,n)>-1:!!o&&k(e,t,n)>-1}function hu(e,t){return(mp(e)?v:Hr)(e,xi(t,3))}function vu(e,t,n,r){return null==e?[]:(mp(t)||(t=null==t?[]:[t]),n=r?oe:n,mp(n)||(n=null==n?[]:[n]),Kr(e,t,n))}function gu(e,t,n){var r=mp(e)?m:P,o=arguments.length<3;return r(e,xi(t,4),n,o,vf)}function mu(e,t,n){var r=mp(e)?y:P,o=arguments.length<3;return r(e,xi(t,4),n,o,gf)}function yu(e,t){return(mp(e)?p:fr)(e,ju(xi(t,3)))}function bu(e){return(mp(e)?In:ro)(e)}function _u(e,t,n){return t=(n?Di(e,t,n):t===oe)?1:xl(t),(mp(e)?Ln:oo)(e,t)}function wu(e){return(mp(e)?Mn:ao)(e)}function xu(e){if(null==e)return 0;if(Gu(e))return vl(e)?J(e):e.length;var t=Tf(e);return t==Ye||t==tt?e.size:Ur(e).length}function Eu(e,t,n){var r=mp(e)?b:lo;return n&&Di(e,t,n)&&(t=oe),r(e,xi(t,3))}function ku(e,t){if("function"!=typeof t)throw new cc(ue);return e=xl(e),function(){if(--e<1)return t.apply(this,arguments)}}function Su(e,t,n){return t=n?oe:t,t=e&&null==t?e.length:t,ci(e,Ee,oe,oe,oe,oe,t)}function Ou(e,t){var n;if("function"!=typeof t)throw new cc(ue);return e=xl(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=oe),n}}function Tu(e,t,n){t=n?oe:t;var r=ci(e,be,oe,oe,oe,oe,oe,t);return r.placeholder=Tu.placeholder,r}function Cu(e,t,n){t=n?oe:t;var r=ci(e,_e,oe,oe,oe,oe,oe,t);return r.placeholder=Cu.placeholder,r}function Au(e,t,n){function r(t){var n=p,r=d;return p=d=oe,y=t,v=e.apply(r,n)}function o(e){return y=e,g=Pf(u,t),b?r(e):v}function i(e){var n=e-m,r=e-y,o=t-n;return _?Gc(o,h-r):o}function a(e){var n=e-m,r=e-y;return m===oe||n>=t||n<0||_&&r>=h}function u(){var e=ip();if(a(e))return l(e);g=Pf(u,i(e))}function l(e){return g=oe,w&&p?r(e):(p=d=oe,v)}function s(){g!==oe&&xf(g),y=0,p=m=d=g=oe}function c(){return g===oe?v:l(ip())}function f(){var e=ip(),n=a(e);if(p=arguments,d=this,m=e,n){if(g===oe)return o(m);if(_)return g=Pf(u,t),r(m)}return g===oe&&(g=Pf(u,t)),v}var p,d,h,v,g,m,y=0,b=!1,_=!1,w=!0;if("function"!=typeof e)throw new cc(ue);return t=kl(t)||0,ol(n)&&(b=!!n.leading,_="maxWait"in n,h=_?Wc(kl(n.maxWait)||0,t):h,w="trailing"in n?!!n.trailing:w),f.cancel=s,f.flush=c,f}function Pu(e){return ci(e,Se)}function Nu(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new cc(ue);var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return n.cache=i.set(o,a)||i,a};return n.cache=new(Nu.Cache||sn),n}function ju(e){if("function"!=typeof e)throw new cc(ue);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function Ru(e){return Ou(2,e)}function Iu(e,t){if("function"!=typeof e)throw new cc(ue);return t=t===oe?t:xl(t),no(e,t)}function Lu(e,t){if("function"!=typeof e)throw new cc(ue);return t=null==t?0:Wc(xl(t),0),no(function(n){var r=n[t],o=So(n,0,t);return r&&g(o,r),u(e,this,o)})}function Du(e,t,n){var r=!0,o=!0;if("function"!=typeof e)throw new cc(ue);return ol(n)&&(r="leading"in n?!!n.leading:r,o="trailing"in n?!!n.trailing:o),Au(e,t,{leading:r,maxWait:t,trailing:o})}function Mu(e){return Su(e,1)}function Uu(e,t){return fp(Eo(t),e)}function qu(){if(!arguments.length)return[];var e=arguments[0];return mp(e)?e:[e]}function Fu(e){return rr(e,de)}function Hu(e,t){return t="function"==typeof t?t:oe,rr(e,de,t)}function Bu(e){return rr(e,fe|de)}function zu(e,t){return t="function"==typeof t?t:oe,rr(e,fe|de,t)}function Vu(e,t){return null==t||ir(e,t,Fl(t))}function Wu(e,t){return e===t||e!==e&&t!==t}function Gu(e){return null!=e&&rl(e.length)&&!tl(e)}function Ku(e){return il(e)&&Gu(e)}function $u(e){return!0===e||!1===e||il(e)&&yr(e)==ze}function Yu(e){return il(e)&&1===e.nodeType&&!dl(e)}function Xu(e){if(null==e)return!0;if(Gu(e)&&(mp(e)||"string"==typeof e||"function"==typeof e.splice||bp(e)||kp(e)||gp(e)))return!e.length;var t=Tf(e);if(t==Ye||t==tt)return!e.size;if(Hi(e))return!Ur(e).length;for(var n in e)if(gc.call(e,n))return!1;return!0}function Zu(e,t){return Ar(e,t)}function Qu(e,t,n){n="function"==typeof n?n:oe;var r=n?n(e,t):oe;return r===oe?Ar(e,t,oe,n):!!r}function Ju(e){if(!il(e))return!1;var t=yr(e);return t==Ge||t==We||"string"==typeof e.message&&"string"==typeof e.name&&!dl(e)}function el(e){return"number"==typeof e&&Bc(e)}function tl(e){if(!ol(e))return!1;var t=yr(e);return t==Ke||t==$e||t==Be||t==Je}function nl(e){return"number"==typeof e&&e==xl(e)}function rl(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=Re}function ol(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function il(e){return null!=e&&"object"==typeof e}function al(e,t){return e===t||jr(e,t,ki(t))}function ul(e,t,n){return n="function"==typeof n?n:oe,jr(e,t,ki(t),n)}function ll(e){return pl(e)&&e!=+e}function sl(e){if(Cf(e))throw new oc(ae);return Rr(e)}function cl(e){return null===e}function fl(e){return null==e}function pl(e){return"number"==typeof e||il(e)&&yr(e)==Xe}function dl(e){if(!il(e)||yr(e)!=Qe)return!1;var t=Tc(e);if(null===t)return!0;var n=gc.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&vc.call(n)==_c}function hl(e){return nl(e)&&e>=-Re&&e<=Re}function vl(e){return"string"==typeof e||!mp(e)&&il(e)&&yr(e)==nt}function gl(e){return"symbol"==typeof e||il(e)&&yr(e)==rt}function ml(e){return e===oe}function yl(e){return il(e)&&Tf(e)==it}function bl(e){return il(e)&&yr(e)==at}function _l(e){if(!e)return[];if(Gu(e))return vl(e)?ee(e):Uo(e);if(jc&&e[jc])return W(e[jc]());var t=Tf(e);return(t==Ye?G:t==tt?Y:Jl)(e)}function wl(e){if(!e)return 0===e?e:0;if((e=kl(e))===je||e===-je){return(e<0?-1:1)*Ie}return e===e?e:0}function xl(e){var t=wl(e),n=t%1;return t===t?n?t-n:t:0}function El(e){return e?nr(xl(e),0,De):0}function kl(e){if("number"==typeof e)return e;if(gl(e))return Le;if(ol(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=ol(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(It,"");var n=Wt.test(e);return n||Kt.test(e)?Pn(e.slice(2),n?2:8):Vt.test(e)?Le:+e}function Sl(e){return qo(e,Hl(e))}function Ol(e){return e?nr(xl(e),-Re,Re):0===e?e:0}function Tl(e){return null==e?"":ho(e)}function Cl(e,t){var n=hf(e);return null==t?n:Qn(n,t)}function Al(e,t){return x(e,xi(t,3),dr)}function Pl(e,t){return x(e,xi(t,3),hr)}function Nl(e,t){return null==e?e:mf(e,xi(t,3),Hl)}function jl(e,t){return null==e?e:yf(e,xi(t,3),Hl)}function Rl(e,t){return e&&dr(e,xi(t,3))}function Il(e,t){return e&&hr(e,xi(t,3))}function Ll(e){return null==e?[]:vr(e,Fl(e))}function Dl(e){return null==e?[]:vr(e,Hl(e))}function Ml(e,t,n){var r=null==e?oe:gr(e,t);return r===oe?n:r}function Ul(e,t){return null!=e&&Ai(e,t,_r)}function ql(e,t){return null!=e&&Ai(e,t,wr)}function Fl(e){return Gu(e)?jn(e):Ur(e)}function Hl(e){return Gu(e)?jn(e,!0):qr(e)}function Bl(e,t){var n={};return t=xi(t,3),dr(e,function(e,r,o){er(n,t(e,r,o),e)}),n}function zl(e,t){var n={};return t=xi(t,3),dr(e,function(e,r,o){er(n,r,t(e,r,o))}),n}function Vl(e,t){return Wl(e,ju(xi(t)))}function Wl(e,t){if(null==e)return{};var n=v(bi(e),function(e){return[e]});return t=xi(t),Yr(e,n,function(e,n){return t(e,n[0])})}function Gl(e,t,n){t=ko(t,e);var r=-1,o=t.length;for(o||(o=1,e=oe);++rt){var r=e;e=t,t=r}if(n||e%1||t%1){var o=Yc();return Gc(e+o*(t-e+An("1e-"+((o+"").length-1))),t)}return Jr(e,t)}function os(e){return Xp(Tl(e).toLowerCase())}function is(e){return(e=Tl(e))&&e.replace(Yt,Gn).replace(gn,"")}function as(e,t,n){e=Tl(e),t=ho(t);var r=e.length;n=n===oe?r:nr(xl(n),0,r);var o=n;return(n-=t.length)>=0&&e.slice(n,o)==t}function us(e){return e=Tl(e),e&&kt.test(e)?e.replace(xt,Kn):e}function ls(e){return e=Tl(e),e&&Rt.test(e)?e.replace(jt,"\\$&"):e}function ss(e,t,n){e=Tl(e),t=xl(t);var r=t?J(e):0;if(!t||r>=t)return e;var o=(t-r)/2;return ri(qc(o),n)+e+ri(Uc(o),n)}function cs(e,t,n){e=Tl(e),t=xl(t);var r=t?J(e):0;return t&&r>>0)?(e=Tl(e),e&&("string"==typeof t||null!=t&&!xp(t))&&!(t=ho(t))&&z(e)?So(ee(e),0,n):e.split(t,n)):[]}function gs(e,t,n){return e=Tl(e),n=null==n?0:nr(xl(n),0,e.length),t=ho(t),e.slice(n,n+t.length)==t}function ms(e,t,r){var o=n.templateSettings;r&&Di(e,t,r)&&(t=oe),e=Tl(e),t=Ap({},t,o,fi);var i,a,u=Ap({},t.imports,o.imports,fi),l=Fl(u),s=D(u,l),c=0,f=t.interpolate||Xt,p="__p += '",d=lc((t.escape||Xt).source+"|"+f.source+"|"+(f===Tt?Bt:Xt).source+"|"+(t.evaluate||Xt).source+"|$","g"),h="//# sourceURL="+("sourceURL"in t?t.sourceURL:"lodash.templateSources["+ ++xn+"]")+"\n";e.replace(d,function(t,n,r,o,u,l){return r||(r=o),p+=e.slice(c,l).replace(Zt,H),n&&(i=!0,p+="' +\n__e("+n+") +\n'"),u&&(a=!0,p+="';\n"+u+";\n__p += '"),r&&(p+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),c=l+t.length,t}),p+="';\n";var v=t.variable;v||(p="with (obj) {\n"+p+"\n}\n"),p=(a?p.replace(yt,""):p).replace(bt,"$1").replace(_t,"$1;"),p="function("+(v||"obj")+") {\n"+(v?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+p+"return __p\n}";var g=Zp(function(){return ic(l,h+"return "+p).apply(oe,s)});if(g.source=p,Ju(g))throw g;return g}function ys(e){return Tl(e).toLowerCase()}function bs(e){return Tl(e).toUpperCase()}function _s(e,t,n){if((e=Tl(e))&&(n||t===oe))return e.replace(It,"");if(!e||!(t=ho(t)))return e;var r=ee(e),o=ee(t);return So(r,U(r,o),q(r,o)+1).join("")}function ws(e,t,n){if((e=Tl(e))&&(n||t===oe))return e.replace(Dt,"");if(!e||!(t=ho(t)))return e;var r=ee(e);return So(r,0,q(r,ee(t))+1).join("")}function xs(e,t,n){if((e=Tl(e))&&(n||t===oe))return e.replace(Lt,"");if(!e||!(t=ho(t)))return e;var r=ee(e);return So(r,U(r,ee(t))).join("")}function Es(e,t){var n=Oe,r=Te;if(ol(t)){var o="separator"in t?t.separator:o;n="length"in t?xl(t.length):n,r="omission"in t?ho(t.omission):r}e=Tl(e);var i=e.length;if(z(e)){var a=ee(e);i=a.length}if(n>=i)return e;var u=n-J(r);if(u<1)return r;var l=a?So(a,0,u).join(""):e.slice(0,u);if(o===oe)return l+r;if(a&&(u+=l.length-u),xp(o)){if(e.slice(u).search(o)){var s,c=l;for(o.global||(o=lc(o.source,Tl(zt.exec(o))+"g")),o.lastIndex=0;s=o.exec(c);)var f=s.index;l=l.slice(0,f===oe?u:f)}}else if(e.indexOf(ho(o),u)!=u){var p=l.lastIndexOf(o);p>-1&&(l=l.slice(0,p))}return l+r}function ks(e){return e=Tl(e),e&&Et.test(e)?e.replace(wt,$n):e}function Ss(e,t,n){return e=Tl(e),t=n?oe:t,t===oe?V(e)?re(e):w(e):e.match(t)||[]}function Os(e){var t=null==e?0:e.length,n=xi();return e=t?v(e,function(e){if("function"!=typeof e[1])throw new cc(ue);return[n(e[0]),e[1]]}):[],no(function(n){for(var r=-1;++rRe)return[];var n=De,r=Gc(e,De);t=xi(t),e-=De;for(var o=R(r,t);++n1?e[t-1]:oe;return n="function"==typeof n?(e.pop(),n):oe,Ka(e,n)}),Xf=mi(function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,i=function(t){return tr(t,e)};return!(t>1||this.__actions__.length)&&r instanceof _&&Li(n)?(r=r.slice(n,+n+(t?1:0)),r.__actions__.push({func:Qa,args:[i],thisArg:oe}),new o(r,this.__chain__).thru(function(e){return t&&!e.length&&e.push(oe),e})):this.thru(i)}),Zf=Bo(function(e,t,n){gc.call(e,n)?++e[n]:er(e,n,1)}),Qf=Zo(fa),Jf=Zo(pa),ep=Bo(function(e,t,n){gc.call(e,n)?e[n].push(t):er(e,n,[t])}),tp=no(function(e,t,n){var r=-1,o="function"==typeof t,i=Gu(e)?nc(e.length):[];return vf(e,function(e){i[++r]=o?u(t,e,n):Sr(e,t,n)}),i}),np=Bo(function(e,t,n){er(e,n,t)}),rp=Bo(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]}),op=no(function(e,t){if(null==e)return[];var n=t.length;return n>1&&Di(e,t[0],t[1])?t=[]:n>2&&Di(t[0],t[1],t[2])&&(t=[t[0]]),Kr(e,pr(t,1),[])}),ip=Dc||function(){return Rn.Date.now()},ap=no(function(e,t,n){var r=ge;if(n.length){var o=$(n,wi(ap));r|=we}return ci(e,r,t,n,o)}),up=no(function(e,t,n){var r=ge|me;if(n.length){var o=$(n,wi(up));r|=we}return ci(t,r,e,n,o)}),lp=no(function(e,t){return ar(e,1,t)}),sp=no(function(e,t,n){return ar(e,kl(t)||0,n)});Nu.Cache=sn;var cp=wf(function(e,t){t=1==t.length&&mp(t[0])?v(t[0],L(xi())):v(pr(t,1),L(xi()));var n=t.length;return no(function(r){for(var o=-1,i=Gc(r.length,n);++o=t}),gp=Or(function(){return arguments}())?Or:function(e){return il(e)&&gc.call(e,"callee")&&!Ac.call(e,"callee")},mp=nc.isArray,yp=qn?L(qn):Tr,bp=Hc||Hs,_p=Fn?L(Fn):Cr,wp=Hn?L(Hn):Nr,xp=Bn?L(Bn):Ir,Ep=zn?L(zn):Lr,kp=Vn?L(Vn):Dr,Sp=ai(Fr),Op=ai(function(e,t){return e<=t}),Tp=zo(function(e,t){if(Hi(t)||Gu(t))return void qo(t,Fl(t),e);for(var n in t)gc.call(t,n)&&Wn(e,n,t[n])}),Cp=zo(function(e,t){qo(t,Hl(t),e)}),Ap=zo(function(e,t,n,r){qo(t,Hl(t),e,r)}),Pp=zo(function(e,t,n,r){qo(t,Fl(t),e,r)}),Np=mi(tr),jp=no(function(e){return e.push(oe,fi),u(Ap,oe,e)}),Rp=no(function(e){return e.push(oe,pi),u(Up,oe,e)}),Ip=ei(function(e,t,n){e[t]=n},Cs(Ps)),Lp=ei(function(e,t,n){gc.call(e,t)?e[t].push(n):e[t]=[n]},xi),Dp=no(Sr),Mp=zo(function(e,t,n){Vr(e,t,n)}),Up=zo(function(e,t,n,r){Vr(e,t,n,r)}),qp=mi(function(e,t){var n={};if(null==e)return n;var r=!1;t=v(t,function(t){return t=ko(t,e),r||(r=t.length>1),t}),qo(e,bi(e),n),r&&(n=rr(n,fe|pe|de,di));for(var o=t.length;o--;)go(n,t[o]);return n}),Fp=mi(function(e,t){return null==e?{}:$r(e,t)}),Hp=si(Fl),Bp=si(Hl),zp=$o(function(e,t,n){return t=t.toLowerCase(),e+(n?os(t):t)}),Vp=$o(function(e,t,n){return e+(n?"-":"")+t.toLowerCase()}),Wp=$o(function(e,t,n){return e+(n?" ":"")+t.toLowerCase()}),Gp=Ko("toLowerCase"),Kp=$o(function(e,t,n){return e+(n?"_":"")+t.toLowerCase()}),$p=$o(function(e,t,n){return e+(n?" ":"")+Xp(t)}),Yp=$o(function(e,t,n){return e+(n?" ":"")+t.toUpperCase()}),Xp=Ko("toUpperCase"),Zp=no(function(e,t){try{return u(e,oe,t)}catch(e){return Ju(e)?e:new oc(e)}}),Qp=mi(function(e,t){return s(t,function(t){t=Ji(t),er(e,t,ap(e[t],e))}),e}),Jp=Qo(),ed=Qo(!0),td=no(function(e,t){return function(n){return Sr(n,e,t)}}),nd=no(function(e,t){return function(n){return Sr(e,n,t)}}),rd=ni(v),od=ni(f),id=ni(b),ad=ii(),ud=ii(!0),ld=ti(function(e,t){return e+t},0),sd=li("ceil"),cd=ti(function(e,t){return e/t},1),fd=li("floor"),pd=ti(function(e,t){return e*t},1),dd=li("round"),hd=ti(function(e,t){return e-t},0);return n.after=ku,n.ary=Su,n.assign=Tp,n.assignIn=Cp,n.assignInWith=Ap,n.assignWith=Pp,n.at=Np,n.before=Ou,n.bind=ap,n.bindAll=Qp,n.bindKey=up,n.castArray=qu,n.chain=Xa,n.chunk=ra,n.compact=oa,n.concat=ia,n.cond=Os,n.conforms=Ts,n.constant=Cs,n.countBy=Zf,n.create=Cl,n.curry=Tu,n.curryRight=Cu,n.debounce=Au,n.defaults=jp,n.defaultsDeep=Rp,n.defer=lp,n.delay=sp,n.difference=Rf,n.differenceBy=If,n.differenceWith=Lf,n.drop=aa,n.dropRight=ua,n.dropRightWhile=la,n.dropWhile=sa,n.fill=ca,n.filter=uu,n.flatMap=lu,n.flatMapDeep=su,n.flatMapDepth=cu,n.flatten=da,n.flattenDeep=ha,n.flattenDepth=va,n.flip=Pu,n.flow=Jp,n.flowRight=ed,n.fromPairs=ga,n.functions=Ll,n.functionsIn=Dl,n.groupBy=ep,n.initial=ba,n.intersection=Df,n.intersectionBy=Mf,n.intersectionWith=Uf,n.invert=Ip,n.invertBy=Lp,n.invokeMap=tp,n.iteratee=Ns,n.keyBy=np,n.keys=Fl,n.keysIn=Hl,n.map=hu,n.mapKeys=Bl,n.mapValues=zl,n.matches=js,n.matchesProperty=Rs,n.memoize=Nu,n.merge=Mp,n.mergeWith=Up,n.method=td,n.methodOf=nd,n.mixin=Is,n.negate=ju,n.nthArg=Ms,n.omit=qp,n.omitBy=Vl,n.once=Ru,n.orderBy=vu,n.over=rd,n.overArgs=cp,n.overEvery=od,n.overSome=id,n.partial=fp,n.partialRight=pp,n.partition=rp,n.pick=Fp,n.pickBy=Wl,n.property=Us,n.propertyOf=qs,n.pull=qf,n.pullAll=ka,n.pullAllBy=Sa,n.pullAllWith=Oa,n.pullAt=Ff,n.range=ad,n.rangeRight=ud,n.rearg=dp,n.reject=yu,n.remove=Ta,n.rest=Iu,n.reverse=Ca,n.sampleSize=_u,n.set=Kl,n.setWith=$l,n.shuffle=wu,n.slice=Aa,n.sortBy=op,n.sortedUniq=Da,n.sortedUniqBy=Ma,n.split=vs,n.spread=Lu,n.tail=Ua,n.take=qa,n.takeRight=Fa,n.takeRightWhile=Ha,n.takeWhile=Ba,n.tap=Za,n.throttle=Du,n.thru=Qa,n.toArray=_l,n.toPairs=Hp,n.toPairsIn=Bp,n.toPath=Gs,n.toPlainObject=Sl,n.transform=Yl,n.unary=Mu,n.union=Hf,n.unionBy=Bf,n.unionWith=zf,n.uniq=za,n.uniqBy=Va,n.uniqWith=Wa,n.unset=Xl,n.unzip=Ga,n.unzipWith=Ka,n.update=Zl,n.updateWith=Ql,n.values=Jl,n.valuesIn=es,n.without=Vf,n.words=Ss,n.wrap=Uu,n.xor=Wf,n.xorBy=Gf,n.xorWith=Kf,n.zip=$f,n.zipObject=$a,n.zipObjectDeep=Ya,n.zipWith=Yf,n.entries=Hp,n.entriesIn=Bp,n.extend=Cp,n.extendWith=Ap,Is(n,n),n.add=ld,n.attempt=Zp,n.camelCase=zp,n.capitalize=os,n.ceil=sd,n.clamp=ts,n.clone=Fu,n.cloneDeep=Bu,n.cloneDeepWith=zu,n.cloneWith=Hu,n.conformsTo=Vu,n.deburr=is,n.defaultTo=As,n.divide=cd,n.endsWith=as,n.eq=Wu,n.escape=us,n.escapeRegExp=ls,n.every=au,n.find=Qf,n.findIndex=fa,n.findKey=Al,n.findLast=Jf,n.findLastIndex=pa,n.findLastKey=Pl,n.floor=fd,n.forEach=fu,n.forEachRight=pu,n.forIn=Nl,n.forInRight=jl,n.forOwn=Rl,n.forOwnRight=Il,n.get=Ml,n.gt=hp,n.gte=vp,n.has=Ul,n.hasIn=ql,n.head=ma,n.identity=Ps,n.includes=du,n.indexOf=ya,n.inRange=ns,n.invoke=Dp,n.isArguments=gp,n.isArray=mp,n.isArrayBuffer=yp,n.isArrayLike=Gu,n.isArrayLikeObject=Ku,n.isBoolean=$u,n.isBuffer=bp,n.isDate=_p,n.isElement=Yu,n.isEmpty=Xu,n.isEqual=Zu,n.isEqualWith=Qu,n.isError=Ju,n.isFinite=el,n.isFunction=tl,n.isInteger=nl,n.isLength=rl,n.isMap=wp,n.isMatch=al,n.isMatchWith=ul,n.isNaN=ll,n.isNative=sl,n.isNil=fl,n.isNull=cl,n.isNumber=pl,n.isObject=ol,n.isObjectLike=il,n.isPlainObject=dl,n.isRegExp=xp,n.isSafeInteger=hl,n.isSet=Ep,n.isString=vl,n.isSymbol=gl,n.isTypedArray=kp,n.isUndefined=ml,n.isWeakMap=yl,n.isWeakSet=bl,n.join=_a,n.kebabCase=Vp,n.last=wa,n.lastIndexOf=xa,n.lowerCase=Wp,n.lowerFirst=Gp,n.lt=Sp,n.lte=Op,n.max=$s,n.maxBy=Ys,n.mean=Xs,n.meanBy=Zs,n.min=Qs,n.minBy=Js,n.stubArray=Fs,n.stubFalse=Hs,n.stubObject=Bs,n.stubString=zs,n.stubTrue=Vs,n.multiply=pd,n.nth=Ea,n.noConflict=Ls,n.noop=Ds,n.now=ip,n.pad=ss,n.padEnd=cs,n.padStart=fs,n.parseInt=ps,n.random=rs,n.reduce=gu,n.reduceRight=mu,n.repeat=ds,n.replace=hs,n.result=Gl,n.round=dd,n.runInContext=e,n.sample=bu,n.size=xu,n.snakeCase=Kp,n.some=Eu,n.sortedIndex=Pa,n.sortedIndexBy=Na,n.sortedIndexOf=ja,n.sortedLastIndex=Ra,n.sortedLastIndexBy=Ia,n.sortedLastIndexOf=La,n.startCase=$p,n.startsWith=gs,n.subtract=hd,n.sum=ec,n.sumBy=tc,n.template=ms,n.times=Ws,n.toFinite=wl,n.toInteger=xl,n.toLength=El,n.toLower=ys,n.toNumber=kl,n.toSafeInteger=Ol,n.toString=Tl,n.toUpper=bs,n.trim=_s,n.trimEnd=ws,n.trimStart=xs,n.truncate=Es,n.unescape=ks,n.uniqueId=Ks,n.upperCase=Yp,n.upperFirst=Xp,n.each=fu,n.eachRight=pu,n.first=ma,Is(n,function(){var e={};return dr(n,function(t,r){gc.call(n.prototype,r)||(e[r]=t)}),e}(),{chain:!1}),n.VERSION="4.17.4",s(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){n[e].placeholder=n}),s(["drop","take"],function(e,t){_.prototype[e]=function(n){n=n===oe?1:Wc(xl(n),0);var r=this.__filtered__&&!t?new _(this):this.clone();return r.__filtered__?r.__takeCount__=Gc(n,r.__takeCount__):r.__views__.push({size:Gc(n,De),type:e+(r.__dir__<0?"Right":"")}),r},_.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}}),s(["filter","map","takeWhile"],function(e,t){var n=t+1,r=n==Pe||3==n;_.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:xi(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}}),s(["head","last"],function(e,t){var n="take"+(t?"Right":"");_.prototype[e]=function(){return this[n](1).value()[0]}}),s(["initial","tail"],function(e,t){var n="drop"+(t?"":"Right");_.prototype[e]=function(){return this.__filtered__?new _(this):this[n](1)}}),_.prototype.compact=function(){return this.filter(Ps)},_.prototype.find=function(e){return this.filter(e).head()},_.prototype.findLast=function(e){return this.reverse().find(e)},_.prototype.invokeMap=no(function(e,t){return"function"==typeof e?new _(this):this.map(function(n){return Sr(n,e,t)})}),_.prototype.reject=function(e){return this.filter(ju(xi(e)))},_.prototype.slice=function(e,t){e=xl(e);var n=this;return n.__filtered__&&(e>0||t<0)?new _(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==oe&&(t=xl(t),n=t<0?n.dropRight(-t):n.take(t-e)),n)},_.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},_.prototype.toArray=function(){return this.take(De)},dr(_.prototype,function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),a=n[i?"take"+("last"==t?"Right":""):t],u=i||/^find/.test(t);a&&(n.prototype[t]=function(){var t=this.__wrapped__,l=i?[1]:arguments,s=t instanceof _,c=l[0],f=s||mp(t),p=function(e){var t=a.apply(n,g([e],l));return i&&d?t[0]:t};f&&r&&"function"==typeof c&&1!=c.length&&(s=f=!1);var d=this.__chain__,h=!!this.__actions__.length,v=u&&!d,m=s&&!h;if(!u&&f){t=m?t:new _(this);var y=e.apply(t,l);return y.__actions__.push({func:Qa,args:[p],thisArg:oe}),new o(y,d)}return v&&m?e.apply(this,l):(y=this.thru(p),v?i?y.value()[0]:y.value():y)})}),s(["pop","push","shift","sort","splice","unshift"],function(e){var t=fc[e],r=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",o=/^(?:pop|shift)$/.test(e);n.prototype[e]=function(){var e=arguments;if(o&&!this.__chain__){var n=this.value();return t.apply(mp(n)?n:[],e)}return this[r](function(n){return t.apply(mp(n)?n:[],e)})}}),dr(_.prototype,function(e,t){var r=n[t];if(r){var o=r.name+"";(of[o]||(of[o]=[])).push({name:t,func:r})}}),of[Jo(oe,me).name]=[{name:"wrapper",func:oe}],_.prototype.clone=A,_.prototype.reverse=Z,_.prototype.value=te,n.prototype.at=Xf,n.prototype.chain=Ja,n.prototype.commit=eu,n.prototype.next=tu,n.prototype.plant=ru,n.prototype.reverse=ou,n.prototype.toJSON=n.prototype.valueOf=n.prototype.value=iu,n.prototype.first=n.prototype.head,jc&&(n.prototype[jc]=nu),n}();Rn._=Yn,(o=function(){return Yn}.call(t,n,t,r))!==oe&&(r.exports=o)}).call(this)}).call(t,n(22),n(46)(e))},function(e,t,n){var r,o;/*! + Copyright (c) 2016 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +!function(){"use strict";function n(){for(var e=[],t=0;t0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1],n=function e(n){return n.children?(0,g.flatMap)(n.children,e):(0,g.set)(n,"browsers",(0,g.filter)(n.browsers,function(e){if(n.browserId&&n.browserId!==e.name)return!1;var r=s(e,n.acceptTestAttempt);return t(r)}))};return(0,g.flatMap)((0,g.cloneDeep)(e),n)}function u(){return a(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],_.isSuiteFailed)}function l(){return a(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],_.isAcceptable)}function s(e,t){return t>=0?e.retries.concat(e.result)[t]:e.result}Object.defineProperty(t,"__esModule",{value:!0}),t.updateBaseHost=t.toggleScaleImages=t.toggleOnlyDiff=t.toggleSkipped=t.collapseAll=t.expandRetries=t.expandErrors=t.expandAll=t.runFailed=t.testsEnd=t.testResult=t.testBegin=t.suiteBegin=t.acceptTest=t.acceptAll=t.retryTest=t.retrySuite=t.runFailedTests=t.runAllTests=t.initial=void 0;var c=n(202),f=r(c),p=n(205),d=r(p);t.changeViewMode=o;var h=n(221),v=r(h),g=n(19),m=n(86),y=r(m),b=n(87),_=n(38),w=(t.initial=function(){return function(){var e=(0,d.default)(f.default.mark(function e(t){var n;return f.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,v.default.get("/init");case 3:n=e.sent,t({type:y.default.VIEW_INITIAL,payload:n.data}),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),console.error("Error while getting initial data:",e.t0);case 10:case"end":return e.stop()}},e,void 0,[[0,7]])}));return function(t){return e.apply(this,arguments)}}()},function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.tests,n=void 0===t?[]:t,r=e.action,o=void 0===r?{}:r;return function(){var e=(0,d.default)(f.default.mark(function e(t){return f.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,v.default.post("/run",n);case 3:t(o),e.next=9;break;case 6:e.prev=6,e.t0=e.catch(0),console.error("Error while running tests:",e.t0);case 9:case"end":return e.stop()}},e,void 0,[[0,6]])}));return function(t){return e.apply(this,arguments)}}()}),x=(t.runAllTests=function(){return w({action:{type:y.default.RUN_ALL_TESTS,payload:{status:b.QUEUED}}})},t.runFailedTests=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:y.default.RUN_FAILED_TESTS;return e=u([].concat(e)),w({tests:e,action:{type:t}})}),E=(t.retrySuite=function(e){return w({tests:[e],action:{type:y.default.RETRY_SUITE}})},t.retryTest=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return x((0,g.assign)({browserId:t},e),y.default.RETRY_TEST)},t.acceptAll=function(e){e=l([].concat(e));var t=(0,g.flatMap)([].concat(e),i);return function(){var e=(0,d.default)(f.default.mark(function e(n){var r,o;return f.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,v.default.post("/update-reference",(0,g.compact)(t));case 3:r=e.sent,o=r.data,n({type:y.default.UPDATE_RESULT,payload:o}),e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),console.error("Error while updating references of failed tests:",e.t0);case 11:case"end":return e.stop()}},e,void 0,[[0,8]])}));return function(t){return e.apply(this,arguments)}}()});t.acceptTest=function(e,t,n,r){return E((0,g.assign)({browserId:t,stateName:r},e,{acceptTestAttempt:n}))},t.suiteBegin=function(e){return{type:y.default.SUITE_BEGIN,payload:e}},t.testBegin=function(e){return{type:y.default.TEST_BEGIN,payload:e}},t.testResult=function(e){return{type:y.default.TEST_RESULT,payload:e}},t.testsEnd=function(){return{type:y.default.TESTS_END}},t.runFailed=function(){return{type:y.default.RUN_FAILED_TESTS}},t.expandAll=function(){return{type:y.default.VIEW_EXPAND_ALL}},t.expandErrors=function(){return{type:y.default.VIEW_EXPAND_ERRORS}},t.expandRetries=function(){return{type:y.default.VIEW_EXPAND_RETRIES}},t.collapseAll=function(){return{type:y.default.VIEW_COLLAPSE_ALL}},t.toggleSkipped=function(){return{type:y.default.VIEW_TOGGLE_SKIPPED}},t.toggleOnlyDiff=function(){return{type:y.default.VIEW_TOGGLE_ONLY_DIFF}},t.toggleScaleImages=function(){return{type:y.default.VIEW_TOGGLE_SCALE_IMAGES}},t.updateBaseHost=function(e){return window.localStorage.setItem("_gemini-replace-host",e),{type:y.default.VIEW_UPDATE_BASE_HOST,host:e}}},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){var r=n(15),o=n(34);e.exports=n(17)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(83),o=n(50);e.exports=function(e){return r(o(e))}},function(e,t,n){"use strict";var r=n(87),o=r.SUCCESS,i=r.FAIL,a=r.ERROR,u=r.SKIPPED,l=r.UPDATED,s=r.IDLE;t.isSuccessStatus=function(e){return e===o},t.isFailStatus=function(e){return e===i},t.isIdleStatus=function(e){return e===s},t.isErroredStatus=function(e){return e===a},t.isSkippedStatus=function(e){return e===u},t.isUpdatedStatus=function(e){return e===l}},function(e,t){function n(e){return e.replace(/^\s*|\s*$/g,"")}t=e.exports=n,t.left=function(e){return e.replace(/^\s*/,"")},t.right=function(e){return e.replace(/\s*$/,"")}},function(e,t,n){var r=n(33);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t){e.exports={}},function(e,t,n){"use strict";function r(e){return function(){return e}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},e.exports=o},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(82),o=n(54);e.exports=Object.keys||function(e){return r(e,o)}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){"use strict";function r(e){var t=e.imagesInfo,n=void 0===t?[]:t,r=e.status;return n.some(function(e){var t=e.status;return x(t)||w(t)})||x(r)||w(r)}function o(e){var t=e.imagesInfo,n=void 0===t?[]:t;return Boolean(n.filter(function(e){return m(e,"reason.stack","").startsWith(C)}).length)}function i(e){var t=e.result;return t&&r(t)||c(e,i)}function a(e){return w(e.status)||x(e.status)}function u(e){var t=e.status,n=e.reason,r=void 0===n?"":n,o=r&&r.stack;return x(t)&&o.startsWith(C)||w(t)}function l(e){return e.retries&&e.retries.length||c(e,l)}function s(e){var t=e.result,n=t&&E(t.status);return Boolean(n||c(e,s,Array.prototype.every))}function c(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Array.prototype.some;return e.browsers&&n.call(e.browsers,t)||e.children&&n.call(e.children,t)}function f(e,t){v(e)&&e.forEach(function(e){return f(e,t)});var n=m(e,"result.status",e.status);if(!E(n))return e.result?e.result.status=t:e.status=t,c(e,function(e){return f(e,t)},Array.prototype.forEach)}function p(e,t){if(t=t.slice(),!e.children){e=y(e);return p({name:"root",children:e},t)}var n=t.shift(),r=g(e.children,{name:n});if(r)return r.name!==n||t.length?p(r,t):r}function d(e,t,n){var r=p(e,t);r&&((_(n)||k(n))&&i(r)||(r.status=n,t=t.slice(0,-1),d(e,t,n)))}var h=n(19),v=h.isArray,g=h.find,m=h.get,y=h.values,b=n(26),_=b.isSuccessStatus,w=b.isFailStatus,x=b.isErroredStatus,E=b.isSkippedStatus,k=b.isUpdatedStatus,S=n(173),O=S.getCommonErrors,T=O(),C=T.NO_REF_IMAGE_ERROR;e.exports={hasNoRefImageErrors:o,hasFails:i,isSuiteFailed:a,isAcceptable:u,hasRetries:l,allSkipped:s,findNode:p,setStatusToAll:f,setStatusForBranch:d}},function(e,t){e.exports=!0},function(e,t,n){var r=n(15).f,o=n(24),i=n(8)("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(2),i=r(o),a=n(3),u=r(a),l=n(4),s=r(l),c=n(5),f=r(c),p=n(0),d=r(p),h=n(1),v=r(h),g=n(20),m=r(g),y=function(e){function t(){return(0,i.default)(this,t),(0,s.default)(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return(0,f.default)(t,e),(0,u.default)(t,[{key:"render",value:function(){var e=this.props,t=e.label,n=e.handler,r=e.isActive,o=e.isAction,i=e.isSuiteControl,a=e.isControlGroup,u=e.isDisabled,l=void 0!==u&&u,s=(0,m.default)("button",{"button_type_suite-controls":i},{button_checked:r},{button_type_action:o},{"control-group__item":a});return d.default.createElement("button",{onClick:n,className:s,disabled:l},t)}}]),t}(p.Component);y.propTypes={label:v.default.string.isRequired,handler:v.default.func.isRequired,isActive:v.default.bool,isAction:v.default.bool,isDisabled:v.default.bool,isSuiteControl:v.default.bool,isControlGroup:v.default.bool},t.default=y},function(e,t,n){"use strict";function r(e){var t="string"==typeof e?e.charCodeAt(0):e;return t>=48&&t<=57}e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){function l(e,r,i){var l;return r=r||(i?0:null),t&&e.type!==t&&!o(t,e,r,i||null)||(l=n(e,r,i||null)),l===u?l:e.children&&l!==a&&s(e.children,e)===u?u:l}function s(e,t){for(var n,o,a=r?-1:1,s=(r?e.length:-1)+a;s>-1&&s0?r:n)(e)}},function(e,t,n){var r=n(53)("keys"),o=n(36);e.exports=function(e){return r[e]||(r[e]=o(e))}},function(e,t,n){var r=n(7),o=r["__core-js_shared__"]||(r["__core-js_shared__"]={});e.exports=function(e){return o[e]||(o[e]={})}},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,n){"use strict";function r(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function o(e,t,n){if(e&&s.isObject(e)&&e instanceof r)return e;var o=new r;return o.parse(e,t,n),o}function i(e){return s.isString(e)&&(e=o(e)),e instanceof r?e.format():r.prototype.format.call(e)}function a(e,t){return o(e,!1,!0).resolve(t)}function u(e,t){return e?o(e,!1,!0).resolveObject(t):t}var l=n(167),s=n(168);t.parse=o,t.resolve=a,t.resolveObject=u,t.format=i,t.Url=r;var c=/^([a-z0-9.+-]+:)/i,f=/:[0-9]*$/,p=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,d=["<",">",'"',"`"," ","\r","\n","\t"],h=["{","}","|","\\","^","`"].concat(d),v=["'"].concat(h),g=["%","/","?",";","#"].concat(v),m=["/","?","#"],y=/^[+a-z0-9A-Z_-]{0,63}$/,b=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,_={javascript:!0,"javascript:":!0},w={javascript:!0,"javascript:":!0},x={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},E=n(169);r.prototype.parse=function(e,t,n){if(!s.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var r=e.indexOf("?"),o=-1!==r&&r127?I+="x":I+=R[L];if(!I.match(y)){var M=N.slice(0,O),U=N.slice(O+1),q=R.match(b);q&&(M.push(q[1]),U.unshift(q[2])),U.length&&(u="/"+U.join(".")+u),this.hostname=M.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),P||(this.hostname=l.toASCII(this.hostname));var F=this.port?":"+this.port:"",H=this.hostname||"";this.host=H+F,this.href+=this.host,P&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==u[0]&&(u="/"+u))}if(!_[h])for(var O=0,j=v.length;O0)&&n.host.split("@");S&&(n.auth=S.shift(),n.host=n.hostname=S.shift())}return n.search=e.search,n.query=e.query,s.isNull(n.pathname)&&s.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!E.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var O=E.slice(-1)[0],T=(n.host||e.host||E.length>1)&&("."===O||".."===O)||""===O,C=0,A=E.length;A>=0;A--)O=E[A],"."===O?E.splice(A,1):".."===O?(E.splice(A,1),C++):C&&(E.splice(A,1),C--);if(!b&&!_)for(;C--;C)E.unshift("..");!b||""===E[0]||E[0]&&"/"===E[0].charAt(0)||E.unshift(""),T&&"/"!==E.join("/").substr(-1)&&E.push("");var P=""===E[0]||E[0]&&"/"===E[0].charAt(0);if(k){n.hostname=n.host=P?"":E.length?E.shift():"";var S=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@");S&&(n.auth=S.shift(),n.host=n.hostname=S.shift())}return b=b||n.host&&E.length,b&&!P&&E.unshift(""),E.length?n.pathname=E.join("/"):(n.pathname=null,n.path=null),s.isNull(n.pathname)&&s.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},r.prototype.parseHost=function(){var e=this.host,t=f.exec(e);t&&(t=t[0],":"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},function(e,t,n){var r=n(13),o=n(181),i=n(54),a=n(52)("IE_PROTO"),u=function(){},l=function(){var e,t=n(48)("iframe"),r=i.length;for(t.style.display="none",n(92).appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write("