From 8b2cac1d58ab39676d57cab097f4fb138ae77b01 Mon Sep 17 00:00:00 2001 From: Mark Friedrich Date: Sat, 11 May 2019 14:02:28 +0200 Subject: [PATCH] =?UTF-8?q?-=20Improved=20"signature=20type"=20map=20overl?= =?UTF-8?q?ays=20on=20"connection=20endpoints",=20closed=20#725=20-=20Upgr?= =?UTF-8?q?aded=20"[localForage](https://localforage.github.io/localForage?= =?UTF-8?q?)",=20JS=20lib=20`v1.4.2`=20=E2=86=92=20`v1.7.3`=20-=20Upgraded?= =?UTF-8?q?=20"[Mustache](http://mustache.github.io)",=20JS=20lib=20`v1.0.?= =?UTF-8?q?0`=20=E2=86=92=20`v3.0.1`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/pathfinder.ini | 2 +- app/requirements.ini | 6 - js/app.js | 6 +- js/app/map/map.js | 27 +- js/app/map/overlay.js | 92 +- js/app/map/util.js | 33 +- js/app/ui/module/connection_info.js | 8 +- js/lib/localforage.min.js | 8 +- js/lib/mustache.min.js | 2 +- public/css/v1.5.1/pathfinder.css.br | Bin 59666 -> 0 bytes public/css/{v1.5.1 => v1.5.2}/pathfinder.css | 0 .../css/{v1.5.1 => v1.5.2}/pathfinder.css.map | 0 public/js/v1.5.1/app.js | 2 - public/js/v1.5.1/app.js.br | Bin 1026 -> 0 bytes public/js/v1.5.1/app.js.map | 1 - public/js/v1.5.1/app/admin.js | 2 - public/js/v1.5.1/app/admin.js.br | Bin 144035 -> 0 bytes public/js/v1.5.1/app/admin.js.map | 1 - public/js/v1.5.1/app/datatables.loader.js | 2 - public/js/v1.5.1/app/datatables.loader.js.br | Bin 69093 -> 0 bytes public/js/v1.5.1/app/datatables.loader.js.map | 1 - public/js/v1.5.1/app/login.js | 2 - public/js/v1.5.1/app/login.js.br | Bin 128783 -> 0 bytes public/js/v1.5.1/app/login.js.map | 1 - public/js/v1.5.1/app/mappage.js | 2 - public/js/v1.5.1/app/mappage.js.br | Bin 275555 -> 0 bytes public/js/v1.5.1/app/mappage.js.map | 1 - public/js/v1.5.1/app/notification.js | 2 - public/js/v1.5.1/app/notification.js.br | Bin 35412 -> 0 bytes public/js/v1.5.1/app/notification.js.map | 1 - public/js/v1.5.1/app/setup.js | 2 - public/js/v1.5.1/app/setup.js.br | Bin 107551 -> 0 bytes public/js/v1.5.1/app/setup.js.map | 1 - public/js/v1.5.1/app/summernote.loader.js | 2 - public/js/v1.5.1/app/summernote.loader.js.br | Bin 1027 -> 0 bytes public/js/v1.5.1/app/summernote.loader.js.map | 1 - public/js/v1.5.1/app/worker/map.js | 2 - public/js/v1.5.1/app/worker/map.js.br | Bin 648 -> 0 bytes public/js/v1.5.1/app/worker/map.js.map | 1 - public/js/v1.5.1/app/worker/message.js | 2 - public/js/v1.5.1/app/worker/message.js.br | 1 - public/js/v1.5.1/app/worker/message.js.map | 1 - .../js/v1.5.1/lib/bootstrap-image-gallery.js | 2 - .../v1.5.1/lib/bootstrap-image-gallery.js.br | Bin 462 -> 0 bytes .../v1.5.1/lib/bootstrap-image-gallery.js.map | 1 - public/js/v1.5.1/lib/jquery.fullscreen.min.js | 2 - .../js/v1.5.1/lib/jquery.fullscreen.min.js.br | Bin 1534 -> 0 bytes .../v1.5.1/lib/jquery.fullscreen.min.js.map | 1 - .../v1.5.1/lib/jquery.hoverIntent.minified.js | 2 - .../lib/jquery.hoverIntent.minified.js.br | Bin 609 -> 0 bytes .../lib/jquery.hoverIntent.minified.js.map | 1 - public/js/v1.5.1/lib/jsPlumb-2.0.5.js | 2 - public/js/v1.5.1/lib/jsPlumb-2.0.5.js.br | Bin 43916 -> 0 bytes public/js/v1.5.1/lib/jsPlumb-2.0.5.js.map | 1 - .../js/v1.5.1/lib/pnotify/pnotify.buttons.js | 2 - .../v1.5.1/lib/pnotify/pnotify.buttons.js.br | Bin 951 -> 0 bytes .../v1.5.1/lib/pnotify/pnotify.buttons.js.map | 1 - public/js/v1.5.1/lib/require.js | 2 - public/js/v1.5.1/lib/require.js.br | Bin 5626 -> 0 bytes public/js/v1.5.1/lib/require.js.map | 1 - .../v1.5.1/lib/summernote/summernote.min.js | 2 - .../lib/summernote/summernote.min.js.br | Bin 26886 -> 0 bytes .../lib/summernote/summernote.min.js.map | 1 - public/js/v1.5.2/app.js | 194 + public/js/v1.5.2/app/admin.js | 93 + public/js/v1.5.2/app/conf/signature_type.js | 435 + public/js/v1.5.2/app/conf/system_effect.js | 733 + public/js/v1.5.2/app/console.js | 215 + public/js/v1.5.2/app/counter.js | 160 + public/js/v1.5.2/app/datatables.loader.js | 161 + public/js/v1.5.2/app/init.js | 557 + public/js/v1.5.2/app/key.js | 465 + public/js/v1.5.2/app/logging.js | 526 + public/js/v1.5.2/app/login.js | 835 + public/js/v1.5.2/app/map/contextmenu.js | 299 + public/js/v1.5.2/app/map/layout.js | 423 + public/js/v1.5.2/app/map/local.js | 583 + public/js/v1.5.2/app/map/magnetizing.js | 180 + public/js/v1.5.2/app/map/map.js | 3085 ++++ public/js/v1.5.2/app/map/overlay.js | 769 + public/js/v1.5.2/app/map/scrollbar.js | 109 + public/js/v1.5.2/app/map/system.js | 817 + public/js/v1.5.2/app/map/util.js | 1852 +++ public/js/v1.5.2/app/map/worker.js | 127 + public/js/v1.5.2/app/mappage.js | 556 + public/js/v1.5.2/app/module_map.js | 1374 ++ public/js/v1.5.2/app/notification.js | 199 + public/js/v1.5.2/app/page.js | 1328 ++ .../v1.5.2/app/promises/promise.deferred.js | 39 + .../js/v1.5.2/app/promises/promise.timeout.js | 69 + public/js/v1.5.2/app/render.js | 150 + public/js/v1.5.2/app/setup.js | 295 + public/js/v1.5.2/app/summernote.loader.js | 187 + public/js/v1.5.2/app/ui/demo_map.js | 314 + .../v1.5.2/app/ui/dialog/account_settings.js | 216 + public/js/v1.5.2/app/ui/dialog/api_status.js | 76 + public/js/v1.5.2/app/ui/dialog/changelog.js | 140 + public/js/v1.5.2/app/ui/dialog/credit.js | 51 + .../js/v1.5.2/app/ui/dialog/delete_account.js | 130 + public/js/v1.5.2/app/ui/dialog/jump_info.js | 120 + public/js/v1.5.2/app/ui/dialog/manual.js | 171 + public/js/v1.5.2/app/ui/dialog/map_info.js | 1379 ++ .../js/v1.5.2/app/ui/dialog/map_settings.js | 814 + .../js/v1.5.2/app/ui/dialog/notification.js | 88 + public/js/v1.5.2/app/ui/dialog/shortcuts.js | 50 + public/js/v1.5.2/app/ui/dialog/stats.js | 852 ++ .../js/v1.5.2/app/ui/dialog/system_effects.js | 189 + public/js/v1.5.2/app/ui/form_element.js | 846 + public/js/v1.5.2/app/ui/header.js | 239 + public/js/v1.5.2/app/ui/logo.js | 149 + .../v1.5.2/app/ui/module/connection_info.js | 1331 ++ .../js/v1.5.2/app/ui/module/system_graph.js | 302 + public/js/v1.5.2/app/ui/module/system_info.js | 405 + .../js/v1.5.2/app/ui/module/system_intel.js | 864 ++ .../v1.5.2/app/ui/module/system_killboard.js | 353 + .../js/v1.5.2/app/ui/module/system_route.js | 1380 ++ .../v1.5.2/app/ui/module/system_signature.js | 2784 ++++ public/js/v1.5.2/app/util.js | 3271 ++++ public/js/v1.5.2/app/worker/map.js | 162 + public/js/v1.5.2/app/worker/message.js | 55 + public/js/v1.5.2/lib/EasePack.min.js | 12 + public/js/v1.5.2/lib/TweenLite.min.js | 12 + public/js/v1.5.2/lib/blueimp-gallery.js | 1377 ++ public/js/v1.5.2/lib/blueimp-helper.js | 190 + public/js/v1.5.2/lib/bootbox.min.js | 6 + .../js/v1.5.2/lib/bootstrap-confirmation.js | 256 + .../js/v1.5.2/lib/bootstrap-editable.min.js | 7 + .../js/v1.5.2/lib/bootstrap-image-gallery.js | 87 + public/js/v1.5.2/lib/bootstrap-toggle.min.js | 8 + public/js/v1.5.2/lib/bootstrap.min.js | 7 + .../Buttons-1.2.1/js/buttons.html5.min.js | 26 + .../js/dataTables.buttons.min.js | 35 + .../js/jquery.dataTables.min.js | 166 + .../js/dataTables.responsive.min.js | 26 + .../Select-1.2.0/js/dataTables.select.min.js | 26 + public/js/v1.5.2/lib/dom.jsPlumb-1.7.6.js | 12735 ++++++++++++++++ public/js/v1.5.2/lib/farahey-0.5.js | 350 + public/js/v1.5.2/lib/jquery-3.3.1.min.js | 2 + public/js/v1.5.2/lib/jquery.dragToSelect.js | 392 + .../js/v1.5.2/lib/jquery.easypiechart.min.js | 9 + public/js/v1.5.2/lib/jquery.fullscreen.min.js | 28 + .../js/v1.5.2/lib/jquery.hoverIntent.min.js | 9 + .../v1.5.2/lib/jquery.hoverIntent.minified.js | 9 + .../lib/jquery.lazylinepainter-1.5.1.min.js | 17 + public/js/v1.5.2/lib/jquery.lazyload.min.js | 2 + .../v1.5.2/lib/jquery.mCustomScrollbar.min.js | 3 + public/js/v1.5.2/lib/jquery.mousewheel.min.js | 8 + public/js/v1.5.2/lib/jquery.peity.min.js | 13 + public/js/v1.5.2/lib/jsPlumb-2.0.5.js | 12733 +++++++++++++++ public/js/v1.5.2/lib/localforage.min.js | 7 + public/js/v1.5.2/lib/morris.min.js | 7 + public/js/v1.5.2/lib/mustache.min.js | 1 + .../js/v1.5.2/lib/pnotify/pnotify.buttons.js | 164 + .../v1.5.2/lib/pnotify/pnotify.callbacks.js | 51 + .../js/v1.5.2/lib/pnotify/pnotify.desktop.js | 157 + public/js/v1.5.2/lib/pnotify/pnotify.js | 875 ++ .../js/v1.5.2/lib/pnotify/pnotify.nonblock.js | 157 + public/js/v1.5.2/lib/raphael-min.js | 3 + public/js/v1.5.2/lib/require.js | 36 + public/js/v1.5.2/lib/requirejs/text.js | 390 + public/js/v1.5.2/lib/select2.min.js | 1 + public/js/v1.5.2/lib/slidebars.js | 349 + public/js/v1.5.2/lib/sortable.min.js | 2 + .../v1.5.2/lib/summernote/summernote.min.js | 3 + public/js/v1.5.2/lib/validator.min.js | 9 + public/js/v1.5.2/lib/velocity.min.js | 4 + public/js/v1.5.2/lib/velocity.ui.min.js | 1 + 167 files changed, 64427 insertions(+), 123 deletions(-) delete mode 100644 public/css/v1.5.1/pathfinder.css.br rename public/css/{v1.5.1 => v1.5.2}/pathfinder.css (100%) rename public/css/{v1.5.1 => v1.5.2}/pathfinder.css.map (100%) delete mode 100644 public/js/v1.5.1/app.js delete mode 100644 public/js/v1.5.1/app.js.br delete mode 100644 public/js/v1.5.1/app.js.map delete mode 100644 public/js/v1.5.1/app/admin.js delete mode 100644 public/js/v1.5.1/app/admin.js.br delete mode 100644 public/js/v1.5.1/app/admin.js.map delete mode 100644 public/js/v1.5.1/app/datatables.loader.js delete mode 100644 public/js/v1.5.1/app/datatables.loader.js.br delete mode 100644 public/js/v1.5.1/app/datatables.loader.js.map delete mode 100644 public/js/v1.5.1/app/login.js delete mode 100644 public/js/v1.5.1/app/login.js.br delete mode 100644 public/js/v1.5.1/app/login.js.map delete mode 100644 public/js/v1.5.1/app/mappage.js delete mode 100644 public/js/v1.5.1/app/mappage.js.br delete mode 100644 public/js/v1.5.1/app/mappage.js.map delete mode 100644 public/js/v1.5.1/app/notification.js delete mode 100644 public/js/v1.5.1/app/notification.js.br delete mode 100644 public/js/v1.5.1/app/notification.js.map delete mode 100644 public/js/v1.5.1/app/setup.js delete mode 100644 public/js/v1.5.1/app/setup.js.br delete mode 100644 public/js/v1.5.1/app/setup.js.map delete mode 100644 public/js/v1.5.1/app/summernote.loader.js delete mode 100644 public/js/v1.5.1/app/summernote.loader.js.br delete mode 100644 public/js/v1.5.1/app/summernote.loader.js.map delete mode 100644 public/js/v1.5.1/app/worker/map.js delete mode 100644 public/js/v1.5.1/app/worker/map.js.br delete mode 100644 public/js/v1.5.1/app/worker/map.js.map delete mode 100644 public/js/v1.5.1/app/worker/message.js delete mode 100644 public/js/v1.5.1/app/worker/message.js.br delete mode 100644 public/js/v1.5.1/app/worker/message.js.map delete mode 100644 public/js/v1.5.1/lib/bootstrap-image-gallery.js delete mode 100644 public/js/v1.5.1/lib/bootstrap-image-gallery.js.br delete mode 100644 public/js/v1.5.1/lib/bootstrap-image-gallery.js.map delete mode 100644 public/js/v1.5.1/lib/jquery.fullscreen.min.js delete mode 100644 public/js/v1.5.1/lib/jquery.fullscreen.min.js.br delete mode 100644 public/js/v1.5.1/lib/jquery.fullscreen.min.js.map delete mode 100644 public/js/v1.5.1/lib/jquery.hoverIntent.minified.js delete mode 100644 public/js/v1.5.1/lib/jquery.hoverIntent.minified.js.br delete mode 100644 public/js/v1.5.1/lib/jquery.hoverIntent.minified.js.map delete mode 100644 public/js/v1.5.1/lib/jsPlumb-2.0.5.js delete mode 100644 public/js/v1.5.1/lib/jsPlumb-2.0.5.js.br delete mode 100644 public/js/v1.5.1/lib/jsPlumb-2.0.5.js.map delete mode 100644 public/js/v1.5.1/lib/pnotify/pnotify.buttons.js delete mode 100644 public/js/v1.5.1/lib/pnotify/pnotify.buttons.js.br delete mode 100644 public/js/v1.5.1/lib/pnotify/pnotify.buttons.js.map delete mode 100644 public/js/v1.5.1/lib/require.js delete mode 100644 public/js/v1.5.1/lib/require.js.br delete mode 100644 public/js/v1.5.1/lib/require.js.map delete mode 100644 public/js/v1.5.1/lib/summernote/summernote.min.js delete mode 100644 public/js/v1.5.1/lib/summernote/summernote.min.js.br delete mode 100644 public/js/v1.5.1/lib/summernote/summernote.min.js.map create mode 100644 public/js/v1.5.2/app.js create mode 100644 public/js/v1.5.2/app/admin.js create mode 100644 public/js/v1.5.2/app/conf/signature_type.js create mode 100644 public/js/v1.5.2/app/conf/system_effect.js create mode 100644 public/js/v1.5.2/app/console.js create mode 100644 public/js/v1.5.2/app/counter.js create mode 100644 public/js/v1.5.2/app/datatables.loader.js create mode 100644 public/js/v1.5.2/app/init.js create mode 100644 public/js/v1.5.2/app/key.js create mode 100644 public/js/v1.5.2/app/logging.js create mode 100644 public/js/v1.5.2/app/login.js create mode 100644 public/js/v1.5.2/app/map/contextmenu.js create mode 100644 public/js/v1.5.2/app/map/layout.js create mode 100644 public/js/v1.5.2/app/map/local.js create mode 100644 public/js/v1.5.2/app/map/magnetizing.js create mode 100644 public/js/v1.5.2/app/map/map.js create mode 100644 public/js/v1.5.2/app/map/overlay.js create mode 100644 public/js/v1.5.2/app/map/scrollbar.js create mode 100644 public/js/v1.5.2/app/map/system.js create mode 100644 public/js/v1.5.2/app/map/util.js create mode 100644 public/js/v1.5.2/app/map/worker.js create mode 100644 public/js/v1.5.2/app/mappage.js create mode 100644 public/js/v1.5.2/app/module_map.js create mode 100644 public/js/v1.5.2/app/notification.js create mode 100644 public/js/v1.5.2/app/page.js create mode 100644 public/js/v1.5.2/app/promises/promise.deferred.js create mode 100644 public/js/v1.5.2/app/promises/promise.timeout.js create mode 100644 public/js/v1.5.2/app/render.js create mode 100644 public/js/v1.5.2/app/setup.js create mode 100644 public/js/v1.5.2/app/summernote.loader.js create mode 100644 public/js/v1.5.2/app/ui/demo_map.js create mode 100644 public/js/v1.5.2/app/ui/dialog/account_settings.js create mode 100644 public/js/v1.5.2/app/ui/dialog/api_status.js create mode 100644 public/js/v1.5.2/app/ui/dialog/changelog.js create mode 100644 public/js/v1.5.2/app/ui/dialog/credit.js create mode 100644 public/js/v1.5.2/app/ui/dialog/delete_account.js create mode 100644 public/js/v1.5.2/app/ui/dialog/jump_info.js create mode 100644 public/js/v1.5.2/app/ui/dialog/manual.js create mode 100644 public/js/v1.5.2/app/ui/dialog/map_info.js create mode 100644 public/js/v1.5.2/app/ui/dialog/map_settings.js create mode 100644 public/js/v1.5.2/app/ui/dialog/notification.js create mode 100644 public/js/v1.5.2/app/ui/dialog/shortcuts.js create mode 100644 public/js/v1.5.2/app/ui/dialog/stats.js create mode 100644 public/js/v1.5.2/app/ui/dialog/system_effects.js create mode 100644 public/js/v1.5.2/app/ui/form_element.js create mode 100644 public/js/v1.5.2/app/ui/header.js create mode 100644 public/js/v1.5.2/app/ui/logo.js create mode 100644 public/js/v1.5.2/app/ui/module/connection_info.js create mode 100644 public/js/v1.5.2/app/ui/module/system_graph.js create mode 100644 public/js/v1.5.2/app/ui/module/system_info.js create mode 100644 public/js/v1.5.2/app/ui/module/system_intel.js create mode 100644 public/js/v1.5.2/app/ui/module/system_killboard.js create mode 100644 public/js/v1.5.2/app/ui/module/system_route.js create mode 100644 public/js/v1.5.2/app/ui/module/system_signature.js create mode 100644 public/js/v1.5.2/app/util.js create mode 100644 public/js/v1.5.2/app/worker/map.js create mode 100644 public/js/v1.5.2/app/worker/message.js create mode 100644 public/js/v1.5.2/lib/EasePack.min.js create mode 100644 public/js/v1.5.2/lib/TweenLite.min.js create mode 100644 public/js/v1.5.2/lib/blueimp-gallery.js create mode 100644 public/js/v1.5.2/lib/blueimp-helper.js create mode 100644 public/js/v1.5.2/lib/bootbox.min.js create mode 100644 public/js/v1.5.2/lib/bootstrap-confirmation.js create mode 100644 public/js/v1.5.2/lib/bootstrap-editable.min.js create mode 100644 public/js/v1.5.2/lib/bootstrap-image-gallery.js create mode 100644 public/js/v1.5.2/lib/bootstrap-toggle.min.js create mode 100644 public/js/v1.5.2/lib/bootstrap.min.js create mode 100644 public/js/v1.5.2/lib/datatables/Buttons-1.2.1/js/buttons.html5.min.js create mode 100644 public/js/v1.5.2/lib/datatables/Buttons-1.2.1/js/dataTables.buttons.min.js create mode 100644 public/js/v1.5.2/lib/datatables/DataTables-1.10.12/js/jquery.dataTables.min.js create mode 100644 public/js/v1.5.2/lib/datatables/Responsive-2.1.0/js/dataTables.responsive.min.js create mode 100644 public/js/v1.5.2/lib/datatables/Select-1.2.0/js/dataTables.select.min.js create mode 100644 public/js/v1.5.2/lib/dom.jsPlumb-1.7.6.js create mode 100644 public/js/v1.5.2/lib/farahey-0.5.js create mode 100644 public/js/v1.5.2/lib/jquery-3.3.1.min.js create mode 100644 public/js/v1.5.2/lib/jquery.dragToSelect.js create mode 100644 public/js/v1.5.2/lib/jquery.easypiechart.min.js create mode 100644 public/js/v1.5.2/lib/jquery.fullscreen.min.js create mode 100644 public/js/v1.5.2/lib/jquery.hoverIntent.min.js create mode 100644 public/js/v1.5.2/lib/jquery.hoverIntent.minified.js create mode 100644 public/js/v1.5.2/lib/jquery.lazylinepainter-1.5.1.min.js create mode 100644 public/js/v1.5.2/lib/jquery.lazyload.min.js create mode 100644 public/js/v1.5.2/lib/jquery.mCustomScrollbar.min.js create mode 100644 public/js/v1.5.2/lib/jquery.mousewheel.min.js create mode 100644 public/js/v1.5.2/lib/jquery.peity.min.js create mode 100644 public/js/v1.5.2/lib/jsPlumb-2.0.5.js create mode 100644 public/js/v1.5.2/lib/localforage.min.js create mode 100644 public/js/v1.5.2/lib/morris.min.js create mode 100644 public/js/v1.5.2/lib/mustache.min.js create mode 100644 public/js/v1.5.2/lib/pnotify/pnotify.buttons.js create mode 100644 public/js/v1.5.2/lib/pnotify/pnotify.callbacks.js create mode 100644 public/js/v1.5.2/lib/pnotify/pnotify.desktop.js create mode 100644 public/js/v1.5.2/lib/pnotify/pnotify.js create mode 100644 public/js/v1.5.2/lib/pnotify/pnotify.nonblock.js create mode 100644 public/js/v1.5.2/lib/raphael-min.js create mode 100644 public/js/v1.5.2/lib/require.js create mode 100644 public/js/v1.5.2/lib/requirejs/text.js create mode 100644 public/js/v1.5.2/lib/select2.min.js create mode 100644 public/js/v1.5.2/lib/slidebars.js create mode 100644 public/js/v1.5.2/lib/sortable.min.js create mode 100644 public/js/v1.5.2/lib/summernote/summernote.min.js create mode 100644 public/js/v1.5.2/lib/validator.min.js create mode 100644 public/js/v1.5.2/lib/velocity.min.js create mode 100644 public/js/v1.5.2/lib/velocity.ui.min.js diff --git a/app/pathfinder.ini b/app/pathfinder.ini index d3167fcb..1953ca21 100644 --- a/app/pathfinder.ini +++ b/app/pathfinder.ini @@ -14,7 +14,7 @@ NAME = Pathfinder ; e.g. public/js/vX.X.X/app.js ; Syntax: String (current version) ; Default: v1.5.0 -VERSION = v1.5.1 +VERSION = v1.5.2 ; Contact information [optional] ; Shown on 'licence', 'contact' page. diff --git a/app/requirements.ini b/app/requirements.ini index 81afcba7..35525f68 100644 --- a/app/requirements.ini +++ b/app/requirements.ini @@ -22,9 +22,6 @@ PCRE_VERSION = 8.02 ; Redis extension (optional), required if you want to use Redis as caching Engine (recommended) REDIS = 3.0.0 -; ZeroMQ (ØMQ) extension (optional) required for WebSocket Server extension (recommended) -ZMQ = 1.1.3 - ; Event extension (optional) for WebSocket configuration. Better performance ; https://pecl.php.net/package/event EVENT = 2.3.0 @@ -48,9 +45,6 @@ MAX_INPUT_VARS = 3000 ; Formatted HTML StackTraces HTML_ERRORS = 0 -[REQUIREMENTS.LIBS] -ZMQ = 4.1.3 - [REQUIREMENTS.MYSQL] ; min MySQL Version ; newer "deviation" of MySQL like "MariaDB" > 10.1 are recommended diff --git a/js/app.js b/js/app.js index f994e441..d9204586 100644 --- a/js/app.js +++ b/js/app.js @@ -28,11 +28,11 @@ requirejs.config({ jquery: 'lib/jquery-3.3.1.min', // v3.3.1 jQuery bootstrap: 'lib/bootstrap.min', // v3.3.0 Bootstrap js code - http://getbootstrap.com/javascript text: 'lib/requirejs/text', // v2.0.12 A RequireJS/AMD loader plugin for loading text resources. - mustache: 'lib/mustache.min', // v1.0.0 Javascript template engine - http://mustache.github.io - localForage: 'lib/localforage.min', // v1.4.2 localStorage library - https://mozilla.github.io/localForage + mustache: 'lib/mustache.min', // v3.0.1 Javascript template engine - http://mustache.github.io + localForage: 'lib/localforage.min', // v1.7.3 localStorage library - https://localforage.github.io/localForage/ velocity: 'lib/velocity.min', // v1.5.1 animation engine - http://julian.com/research/velocity velocityUI: 'lib/velocity.ui.min', // v5.2.0 plugin for velocity - http://julian.com/research/velocity/#uiPack - slidebars: 'lib/slidebars', // v0.10 Slidebars - side menu plugin http://plugins.adchsm.me/slidebars + slidebars: 'lib/slidebars', // v0.10 Slidebars - side menu plugin https://www.adchsm.com/slidebars/ jsPlumb: 'lib/dom.jsPlumb-1.7.6', // v1.7.6 jsPlumb (Vanilla)- main map draw plugin https://jsplumbtoolkit.com farahey: 'lib/farahey-0.5', // v0.5 jsPlumb "magnetizing" extension - https://github.com/jsplumb/farahey customScrollbar: 'lib/jquery.mCustomScrollbar.min', // v3.1.5 Custom scroll bars - http://manos.malihu.gr diff --git a/js/app/map/map.js b/js/app/map/map.js index a79bf830..1b44cd40 100644 --- a/js/app/map/map.js +++ b/js/app/map/map.js @@ -9,14 +9,14 @@ define([ 'bootbox', 'app/map/util', 'app/map/contextmenu', + 'app/map/overlay', 'app/map/system', 'app/map/layout', 'app/map/magnetizing', 'app/map/scrollbar', 'dragToSelect', - 'app/map/overlay', 'app/map/local' -], ($, Init, Util, bootbox, MapUtil, MapContextMenu, System, Layout, MagnetizerWrapper) => { +], ($, Init, Util, bootbox, MapUtil, MapContextMenu, MapOverlay, System, Layout, MagnetizerWrapper) => { 'use strict'; @@ -130,10 +130,10 @@ define([ // -> we need BOTH endpoints of a connection -> index 0 for(let endpoint of connectionInfo[0].endpoints){ // check if there is a Label overlay - let overlay = endpoint.getOverlay('pf-map-endpoint-overlay'); + let overlay = endpoint.getOverlay(MapOverlay.endpointOverlayId); if(overlay instanceof jsPlumb.Overlays.Label){ let label = overlay.getParameter('label'); - overlay.setLocation(MapUtil.getLabelEndpointOverlayLocation(endpoint, label)); + overlay.setLocation(MapUtil.getEndpointOverlaySignatureLocation(endpoint, label)); } } } @@ -2469,6 +2469,25 @@ define([ selector: '.' + config.systemHeadInfoClass + ' span[class^="pf-system-sec-"]' }); + // toggle "fullSize" Endpoint overlays for system (signature information) ------------------------------------- + mapContainer.hoverIntent({ + over: function(e){ + for(let overlayInfo of map.selectEndpoints({element: this}).getOverlay(MapOverlay.endpointOverlayId)){ + if(overlayInfo[0] instanceof jsPlumb.Overlays.Label){ + overlayInfo[0].fire('toggleSize', true); + } + } + }, + out: function(e){ + for(let overlayInfo of map.selectEndpoints({element: this}).getOverlay(MapOverlay.endpointOverlayId)){ + if(overlayInfo[0] instanceof jsPlumb.Overlays.Label){ + overlayInfo[0].fire('toggleSize', false); + } + } + }, + selector: '.' + config.systemClass + }); + // catch events =============================================================================================== // toggle global map option (e.g. "grid snap", "magnetization") diff --git a/js/app/map/overlay.js b/js/app/map/overlay.js index d7318c9d..f720df19 100644 --- a/js/app/map/overlay.js +++ b/js/app/map/overlay.js @@ -13,9 +13,6 @@ define([ let config = { logTimerCount: 3, // map log timer in seconds - // map - mapWrapperClass: 'pf-map-wrapper', // wrapper div (scrollable) - // map overlay positions mapOverlayClass: 'pf-map-overlay', // class for all map overlays mapOverlayTimerClass: 'pf-map-overlay-timer', // class for map overlay timer e.g. map timer @@ -60,6 +57,43 @@ define([ return getMapObjectFromMapElement( mapElement ); }; + /** + * add overlay to endpoint with signature data + * @param endpoint + * @param labelData + */ + let addEndpointOverlaySignatureLabel = (endpoint, labelData) => { + let label = labelData.labels.join(', '); + let name = labelData.names.join(', '); + + endpoint.addOverlay([ + 'Label', + { + label: MapUtil.formatEndpointOverlaySignatureLabel(label), + id: config.endpointOverlayId, + cssClass: [config.componentOverlayClass, label.length ? 'small' : 'icon'].join(' '), + location: MapUtil.getEndpointOverlaySignatureLocation(endpoint, label), + events: { + toggleSize: function(fullSize){ + let signatureName = this.getParameter('signatureName'); + if(fullSize && !this.getParameter('fullSize') && signatureName){ + this.setLabel(this.getLabel() + '
' + '' + signatureName + ''); + this.setParameter('fullSize', true); + }else if(this.getParameter('fullSize')){ + this.setLabel(MapUtil.formatEndpointOverlaySignatureLabel(this.getParameter('label'))); + this.setParameter('fullSize', false); + } + } + }, + parameters: { + fullSize: false, + label: label, + signatureName: name + } + } + ]); + }; + /** * add overlays to connections (signature based data) * @param connections @@ -68,54 +102,38 @@ define([ let addConnectionsOverlay = (connections, connectionsData) => { let SystemSignatures = require('app/ui/module/system_signature'); - /** - * add label to endpoint - * @param endpoint - * @param label - */ - let addEndpointOverlay = (endpoint, label) => { - label = label.join(', '); - - endpoint.addOverlay([ - 'Label', - { - label: MapUtil.getEndpointOverlayContent(label), - id: config.endpointOverlayId, - cssClass: [config.componentOverlayClass, label.length ? 'small' : 'icon'].join(' '), - location: MapUtil.getLabelEndpointOverlayLocation(endpoint, label), - parameters: { - label: label - } - } - ]); - }; - // loop through all map connections (get from DOM) for(let connection of connections){ let connectionId = connection.getParameter('connectionId'); let sourceEndpoint = connection.endpoints[0]; let targetEndpoint = connection.endpoints[1]; - let signatureTypeNames = { - sourceLabels: [], - targetLabels: [] + let signatureTypeData = { + source: { + names: [], + labels: [] + }, + target: { + names: [], + labels: [] + } }; // ... find matching connectionData (from Ajax) for(let connectionData of connectionsData){ if(connectionData.id === connectionId){ - signatureTypeNames = MapUtil.getConnectionDataFromSignatures(connection, connectionData); + signatureTypeData = MapUtil.getConnectionDataFromSignatures(connection, connectionData); // ... connection matched -> continue with next one break; } } - let sourceLabel = signatureTypeNames.sourceLabels; - let targetLabel = signatureTypeNames.targetLabels; - // add endpoint overlays ------------------------------------------------------ - addEndpointOverlay(sourceEndpoint, sourceLabel); - addEndpointOverlay(targetEndpoint, targetLabel); + addEndpointOverlaySignatureLabel(sourceEndpoint, signatureTypeData.source); + addEndpointOverlaySignatureLabel(targetEndpoint, signatureTypeData.target); + + let sourceLabel = signatureTypeData.source.labels; + let targetLabel = signatureTypeData.target.labels; // add arrow (connection) overlay that points from "XXX" => "K162" ------------ let overlayType = 'Diamond'; // not specified @@ -472,7 +490,7 @@ define([ * @returns {*} */ $.fn.getMapOverlay = function(overlayType){ - let mapWrapperElement = $(this).parents('.' + config.mapWrapperClass); + let mapWrapperElement = $(this).parents('.' + MapUtil.config.mapWrapperClass); let mapOverlay = null; switch(overlayType){ @@ -744,4 +762,8 @@ define([ }); }; + return { + endpointOverlayId: config.endpointOverlayId + }; + }); \ No newline at end of file diff --git a/js/app/map/util.js b/js/app/map/util.js index d6894311..7d793cef 100644 --- a/js/app/map/util.js +++ b/js/app/map/util.js @@ -498,12 +498,18 @@ define([ * -> data requires a signature bind to that connection * @param connection * @param connectionData - * @returns {{sourceLabels: Array, targetLabels: Array}} + * @returns {{source: {names: Array, labels: Array}, target: {names: Array, labels: Array}}} */ let getConnectionDataFromSignatures = (connection, connectionData) => { - let signatureTypeNames = { - sourceLabels: [], - targetLabels: [] + let signatureTypeData = { + source: { + names: [], + labels: [] + }, + target: { + names: [], + labels: [] + } }; if( @@ -530,11 +536,11 @@ define([ if(signatureData.system.id === sourceId){ // relates to "source" endpoint - tmpSystemType = 'sourceLabels'; + tmpSystemType = 'source'; tmpSystem = sourceSystem; }else if(signatureData.system.id === targetId){ // relates to "target" endpoint - tmpSystemType = 'targetLabels'; + tmpSystemType = 'target'; tmpSystem = targetSystem; } @@ -544,18 +550,19 @@ define([ let availableSigTypeNames = SystemSignatures.getAllSignatureNamesBySystem(tmpSystem, 5); let flattenSigTypeNames = Util.flattenXEditableSelectArray(availableSigTypeNames); - if( flattenSigTypeNames.hasOwnProperty(signatureData.typeId) ){ + if(flattenSigTypeNames.hasOwnProperty(signatureData.typeId)){ let label = flattenSigTypeNames[signatureData.typeId]; // shorten label, just take the in game name label = label.substr(0, label.indexOf(' ')); - signatureTypeNames[tmpSystemType].push(label); + signatureTypeData[tmpSystemType].names.push(signatureData.name); + signatureTypeData[tmpSystemType].labels.push(label); } } } } } - return signatureTypeNames; + return signatureTypeData; }; /** @@ -566,7 +573,7 @@ define([ * @param label * @returns {number[]} */ - let getLabelEndpointOverlayLocation = (endpoint, label) => { + let getEndpointOverlaySignatureLocation = (endpoint, label) => { let chars = label.length ? label.length : 2; let xTop = chars === 2 ? +0.05 : chars <= 4 ? -0.75 : 3; let xLeft = chars === 2 ? -1.10 : chars <= 4 ? -2.75 : 3; @@ -589,7 +596,7 @@ define([ * @param label * @returns {string} */ - let getEndpointOverlayContent = label => { + let formatEndpointOverlaySignatureLabel = label => { let colorClass = 'txt-color-grayLighter'; if(label.length > 0){ @@ -1825,8 +1832,8 @@ define([ getDataByConnections: getDataByConnections, deleteConnections: deleteConnections, getConnectionDataFromSignatures: getConnectionDataFromSignatures, - getLabelEndpointOverlayLocation: getLabelEndpointOverlayLocation, - getEndpointOverlayContent: getEndpointOverlayContent, + getEndpointOverlaySignatureLocation: getEndpointOverlaySignatureLocation, + formatEndpointOverlaySignatureLabel: formatEndpointOverlaySignatureLabel, getTabContentElementByMapElement: getTabContentElementByMapElement, hasActiveConnection: hasActiveConnection, filterMapByScopes: filterMapByScopes, diff --git a/js/app/ui/module/connection_info.js b/js/app/ui/module/connection_info.js index bcac90cb..b14dc986 100644 --- a/js/app/ui/module/connection_info.js +++ b/js/app/ui/module/connection_info.js @@ -306,10 +306,10 @@ define([ let connection = $().getConnectionById(data.mapId, data.connectionId); let signatureTypeNames = MapUtil.getConnectionDataFromSignatures(connection, connectionData); - let sourceLabel = signatureTypeNames.sourceLabels; - let targetLabel = signatureTypeNames.targetLabels; - sourceLabelElement.html(MapUtil.getEndpointOverlayContent(sourceLabel.join(', '))); - targetLabelElement.html(MapUtil.getEndpointOverlayContent(targetLabel.join(', '))); + let sourceLabel = signatureTypeNames.source.labels; + let targetLabel = signatureTypeNames.target.labels; + sourceLabelElement.html(MapUtil.formatEndpointOverlaySignatureLabel(sourceLabel.join(', '))); + targetLabelElement.html(MapUtil.formatEndpointOverlaySignatureLabel(targetLabel.join(', '))); // remove K162 sourceLabel = sourceLabel.diff(['K162']); diff --git a/js/lib/localforage.min.js b/js/lib/localforage.min.js index a0c0ed38..eb875349 100644 --- a/js/lib/localforage.min.js +++ b/js/lib/localforage.min.js @@ -1,7 +1,7 @@ /*! localForage -- Offline Storage, Improved - Version 1.4.2 - https://mozilla.github.io/localForage - (c) 2013-2015 Mozilla, Apache License 2.0 + Version 1.7.3 + https://localforage.github.io/localForage + (c) 2013-2017 Mozilla, Apache License 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.localforage=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;ge;e++)d[e]=a.charCodeAt(e);return c}function l(a){return new ia(function(b){var c=i([""]);a.objectStore(ja).put(c,"key"),a.onabort=function(a){a.preventDefault(),a.stopPropagation(),b(!1)},a.oncomplete=function(){var a=navigator.userAgent.match(/Chrome\/(\d+)/),c=navigator.userAgent.match(/Edge\//);b(c||!a||parseInt(a[1],10)>=43)}})["catch"](function(){return!1})}function m(a){return"boolean"==typeof ga?ia.resolve(ga):l(a).then(function(a){return ga=a})}function n(a){var b=ha[a.name],c={};c.promise=new ia(function(a){c.resolve=a}),b.deferredOperations.push(c),b.dbReady?b.dbReady=b.dbReady.then(function(){return c.promise}):b.dbReady=c.promise}function o(a){var b=ha[a.name],c=b.deferredOperations.pop();c&&c.resolve()}function p(a,b){return new ia(function(c,d){if(a.db){if(!b)return c(a.db);n(a),a.db.close()}var e=[a.name];b&&e.push(a.version);var f=fa.open.apply(fa,e);b&&(f.onupgradeneeded=function(b){var c=f.result;try{c.createObjectStore(a.storeName),b.oldVersion<=1&&c.createObjectStore(ja)}catch(d){if("ConstraintError"!==d.name)throw d;console.warn('The database "'+a.name+'" has been upgraded from version '+b.oldVersion+" to version "+b.newVersion+', but the storage "'+a.storeName+'" already exists.')}}),f.onerror=function(){d(f.error)},f.onsuccess=function(){c(f.result),o(a)}})}function q(a){return p(a,!1)}function r(a){return p(a,!0)}function s(a,b){if(!a.db)return!0;var c=!a.db.objectStoreNames.contains(a.storeName),d=a.versiona.db.version;if(d&&(a.version!==b&&console.warn('The database "'+a.name+"\" can't be downgraded from version "+a.db.version+" to version "+a.version+"."),a.version=a.db.version),e||c){if(c){var f=a.db.version+1;f>a.version&&(a.version=f)}return!0}return!1}function t(a){return new ia(function(b,c){var d=new FileReader;d.onerror=c,d.onloadend=function(c){var d=btoa(c.target.result||"");b({__local_forage_encoded_blob:!0,data:d,type:a.type})},d.readAsBinaryString(a)})}function u(a){var b=k(atob(a.data));return i([b],{type:a.type})}function v(a){return a&&a.__local_forage_encoded_blob}function w(a){var b=this,c=b._initReady().then(function(){var a=ha[b._dbInfo.name];return a&&a.dbReady?a.dbReady:void 0});return c.then(a,a),c}function x(a){function b(){return ia.resolve()}var c=this,d={db:null};if(a)for(var e in a)d[e]=a[e];ha||(ha={});var f=ha[d.name];f||(f={forages:[],db:null,dbReady:null,deferredOperations:[]},ha[d.name]=f),f.forages.push(c),c._initReady||(c._initReady=c.ready,c.ready=w);for(var g=[],h=0;ha?void b(null):void c.ready().then(function(){var e=c._dbInfo,f=e.db.transaction(e.storeName,"readonly").objectStore(e.storeName),g=!1,h=f.openCursor();h.onsuccess=function(){var c=h.result;return c?void(0===a?b(c.key):g?b(c.key):(g=!0,c.advance(a))):void b(null)},h.onerror=function(){d(h.error)}})["catch"](d)});return j(d,b),d}function F(a){var b=this,c=new ia(function(a,c){b.ready().then(function(){var d=b._dbInfo,e=d.db.transaction(d.storeName,"readonly").objectStore(d.storeName),f=e.openCursor(),g=[];f.onsuccess=function(){var b=f.result;return b?(g.push(b.key),void b["continue"]()):void a(g)},f.onerror=function(){c(f.error)}})["catch"](c)});return j(c,a),c}function G(a){var b,c,d,e,f,g=.75*a.length,h=a.length,i=0;"="===a[a.length-1]&&(g--,"="===a[a.length-2]&&g--);var j=new ArrayBuffer(g),k=new Uint8Array(j);for(b=0;h>b;b+=4)c=la.indexOf(a[b]),d=la.indexOf(a[b+1]),e=la.indexOf(a[b+2]),f=la.indexOf(a[b+3]),k[i++]=c<<2|d>>4,k[i++]=(15&d)<<4|e>>2,k[i++]=(3&e)<<6|63&f;return j}function H(a){var b,c=new Uint8Array(a),d="";for(b=0;b>2],d+=la[(3&c[b])<<4|c[b+1]>>4],d+=la[(15&c[b+1])<<2|c[b+2]>>6],d+=la[63&c[b+2]];return c.length%3===2?d=d.substring(0,d.length-1)+"=":c.length%3===1&&(d=d.substring(0,d.length-2)+"=="),d}function I(a,b){var c="";if(a&&(c=a.toString()),a&&("[object ArrayBuffer]"===a.toString()||a.buffer&&"[object ArrayBuffer]"===a.buffer.toString())){var d,e=oa;a instanceof ArrayBuffer?(d=a,e+=qa):(d=a.buffer,"[object Int8Array]"===c?e+=sa:"[object Uint8Array]"===c?e+=ta:"[object Uint8ClampedArray]"===c?e+=ua:"[object Int16Array]"===c?e+=va:"[object Uint16Array]"===c?e+=xa:"[object Int32Array]"===c?e+=wa:"[object Uint32Array]"===c?e+=ya:"[object Float32Array]"===c?e+=za:"[object Float64Array]"===c?e+=Aa:b(new Error("Failed to get type for BinaryArray"))),b(e+H(d))}else if("[object Blob]"===c){var f=new FileReader;f.onload=function(){var c=ma+a.type+"~"+H(this.result);b(oa+ra+c)},f.readAsArrayBuffer(a)}else try{b(JSON.stringify(a))}catch(g){console.error("Couldn't convert value into a JSON string: ",a),b(null,g)}}function J(a){if(a.substring(0,pa)!==oa)return JSON.parse(a);var b,c=a.substring(Ba),d=a.substring(pa,Ba);if(d===ra&&na.test(c)){var e=c.match(na);b=e[1],c=c.substring(e[0].length)}var f=G(c);switch(d){case qa:return f;case ra:return i([f],{type:b});case sa:return new Int8Array(f);case ta:return new Uint8Array(f);case ua:return new Uint8ClampedArray(f);case va:return new Int16Array(f);case xa:return new Uint16Array(f);case wa:return new Int32Array(f);case ya:return new Uint32Array(f);case za:return new Float32Array(f);case Aa:return new Float64Array(f);default:throw new Error("Unkown type: "+d)}}function K(a){var b=this,c={db:null};if(a)for(var d in a)c[d]="string"!=typeof a[d]?a[d].toString():a[d];var e=new ia(function(a,d){try{c.db=openDatabase(c.name,String(c.version),c.description,c.size)}catch(e){return d(e)}c.db.transaction(function(e){e.executeSql("CREATE TABLE IF NOT EXISTS "+c.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],function(){b._dbInfo=c,a()},function(a,b){d(b)})})});return c.serializer=Ca,e}function L(a,b){var c=this;"string"!=typeof a&&(console.warn(a+" used as a key, but it is not a string."),a=String(a));var d=new ia(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql("SELECT * FROM "+e.storeName+" WHERE key = ? LIMIT 1",[a],function(a,c){var d=c.rows.length?c.rows.item(0).value:null;d&&(d=e.serializer.deserialize(d)),b(d)},function(a,b){d(b)})})})["catch"](d)});return j(d,b),d}function M(a,b){var c=this,d=new ia(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql("SELECT * FROM "+e.storeName,[],function(c,d){for(var f=d.rows,g=f.length,h=0;g>h;h++){var i=f.item(h),j=i.value;if(j&&(j=e.serializer.deserialize(j)),j=a(j,i.key,h+1),void 0!==j)return void b(j)}b()},function(a,b){d(b)})})})["catch"](d)});return j(d,b),d}function N(a,b,c){var d=this;"string"!=typeof a&&(console.warn(a+" used as a key, but it is not a string."),a=String(a));var e=new ia(function(c,e){d.ready().then(function(){void 0===b&&(b=null);var f=b,g=d._dbInfo;g.serializer.serialize(b,function(b,d){d?e(d):g.db.transaction(function(d){d.executeSql("INSERT OR REPLACE INTO "+g.storeName+" (key, value) VALUES (?, ?)",[a,b],function(){c(f)},function(a,b){e(b)})},function(a){a.code===a.QUOTA_ERR&&e(a)})})})["catch"](e)});return j(e,c),e}function O(a,b){var c=this;"string"!=typeof a&&(console.warn(a+" used as a key, but it is not a string."),a=String(a));var d=new ia(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql("DELETE FROM "+e.storeName+" WHERE key = ?",[a],function(){b()},function(a,b){d(b)})})})["catch"](d)});return j(d,b),d}function P(a){var b=this,c=new ia(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql("DELETE FROM "+d.storeName,[],function(){a()},function(a,b){c(b)})})})["catch"](c)});return j(c,a),c}function Q(a){var b=this,c=new ia(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql("SELECT COUNT(key) as c FROM "+d.storeName,[],function(b,c){var d=c.rows.item(0).c;a(d)},function(a,b){c(b)})})})["catch"](c)});return j(c,a),c}function R(a,b){var c=this,d=new ia(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql("SELECT key FROM "+e.storeName+" WHERE id = ? LIMIT 1",[a+1],function(a,c){var d=c.rows.length?c.rows.item(0).key:null;b(d)},function(a,b){d(b)})})})["catch"](d)});return j(d,b),d}function S(a){var b=this,c=new ia(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql("SELECT key FROM "+d.storeName,[],function(b,c){for(var d=[],e=0;e=0;c--){var d=localStorage.key(c);0===d.indexOf(a)&&localStorage.removeItem(d)}});return j(c,a),c}function V(a,b){var c=this;"string"!=typeof a&&(console.warn(a+" used as a key, but it is not a string."),a=String(a));var d=c.ready().then(function(){var b=c._dbInfo,d=localStorage.getItem(b.keyPrefix+a);return d&&(d=b.serializer.deserialize(d)),d});return j(d,b),d}function W(a,b){var c=this,d=c.ready().then(function(){for(var b=c._dbInfo,d=b.keyPrefix,e=d.length,f=localStorage.length,g=1,h=0;f>h;h++){var i=localStorage.key(h);if(0===i.indexOf(d)){var j=localStorage.getItem(i);if(j&&(j=b.serializer.deserialize(j)),j=a(j,i.substring(e),g++),void 0!==j)return j}}});return j(d,b),d}function X(a,b){var c=this,d=c.ready().then(function(){var b,d=c._dbInfo;try{b=localStorage.key(a)}catch(e){b=null}return b&&(b=b.substring(d.keyPrefix.length)),b});return j(d,b),d}function Y(a){var b=this,c=b.ready().then(function(){for(var a=b._dbInfo,c=localStorage.length,d=[],e=0;c>e;e++)0===localStorage.key(e).indexOf(a.keyPrefix)&&d.push(localStorage.key(e).substring(a.keyPrefix.length));return d});return j(c,a),c}function Z(a){var b=this,c=b.keys().then(function(a){return a.length});return j(c,a),c}function $(a,b){var c=this;"string"!=typeof a&&(console.warn(a+" used as a key, but it is not a string."),a=String(a));var d=c.ready().then(function(){var b=c._dbInfo;localStorage.removeItem(b.keyPrefix+a)});return j(d,b),d}function _(a,b,c){var d=this;"string"!=typeof a&&(console.warn(a+" used as a key, but it is not a string."),a=String(a));var e=d.ready().then(function(){void 0===b&&(b=null);var c=b;return new ia(function(e,f){var g=d._dbInfo;g.serializer.serialize(b,function(b,d){if(d)f(d);else try{localStorage.setItem(g.keyPrefix+a,b),e(c)}catch(h){"QuotaExceededError"!==h.name&&"NS_ERROR_DOM_QUOTA_REACHED"!==h.name||f(h),f(h)}})})});return j(e,c),e}function aa(a,b,c){"function"==typeof b&&a.then(b),"function"==typeof c&&a["catch"](c)}function ba(a,b){a[b]=function(){var c=arguments;return a.ready().then(function(){return a[b].apply(a,c)})}}function ca(){for(var a=1;ac;c++){var e=a[c];this.supports(e)&&b.push(e)}return b},a.prototype._wrapLibraryMethodsWithReady=function(){for(var a=0;a=43)}}).catch(function(){return!1})}function n(a){return"boolean"==typeof xa?va.resolve(xa):m(a).then(function(a){return xa=a})}function o(a){var b=ya[a.name],c={};c.promise=new va(function(a,b){c.resolve=a,c.reject=b}),b.deferredOperations.push(c),b.dbReady?b.dbReady=b.dbReady.then(function(){return c.promise}):b.dbReady=c.promise}function p(a){var b=ya[a.name],c=b.deferredOperations.pop();if(c)return c.resolve(),c.promise}function q(a,b){var c=ya[a.name],d=c.deferredOperations.pop();if(d)return d.reject(b),d.promise}function r(a,b){return new va(function(c,d){if(ya[a.name]=ya[a.name]||B(),a.db){if(!b)return c(a.db);o(a),a.db.close()}var e=[a.name];b&&e.push(a.version);var f=ua.open.apply(ua,e);b&&(f.onupgradeneeded=function(b){var c=f.result;try{c.createObjectStore(a.storeName),b.oldVersion<=1&&c.createObjectStore(wa)}catch(c){if("ConstraintError"!==c.name)throw c;console.warn('The database "'+a.name+'" has been upgraded from version '+b.oldVersion+" to version "+b.newVersion+', but the storage "'+a.storeName+'" already exists.')}}),f.onerror=function(a){a.preventDefault(),d(f.error)},f.onsuccess=function(){c(f.result),p(a)}})}function s(a){return r(a,!1)}function t(a){return r(a,!0)}function u(a,b){if(!a.db)return!0;var c=!a.db.objectStoreNames.contains(a.storeName),d=a.versiona.db.version;if(d&&(a.version!==b&&console.warn('The database "'+a.name+"\" can't be downgraded from version "+a.db.version+" to version "+a.version+"."),a.version=a.db.version),e||c){if(c){var f=a.db.version+1;f>a.version&&(a.version=f)}return!0}return!1}function v(a){return new va(function(b,c){var d=new FileReader;d.onerror=c,d.onloadend=function(c){var d=btoa(c.target.result||"");b({__local_forage_encoded_blob:!0,data:d,type:a.type})},d.readAsBinaryString(a)})}function w(a){return g([l(atob(a.data))],{type:a.type})}function x(a){return a&&a.__local_forage_encoded_blob}function y(a){var b=this,c=b._initReady().then(function(){var a=ya[b._dbInfo.name];if(a&&a.dbReady)return a.dbReady});return i(c,a,a),c}function z(a){o(a);for(var b=ya[a.name],c=b.forages,d=0;d0&&(!a.db||"InvalidStateError"===e.name||"NotFoundError"===e.name))return va.resolve().then(function(){if(!a.db||"NotFoundError"===e.name&&!a.db.objectStoreNames.contains(a.storeName)&&a.version<=a.db.version)return a.db&&(a.version=a.db.version+1),t(a)}).then(function(){return z(a).then(function(){A(a,b,c,d-1)})}).catch(c);c(e)}}function B(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}function C(a){function b(){return va.resolve()}var c=this,d={db:null};if(a)for(var e in a)d[e]=a[e];var f=ya[d.name];f||(f=B(),ya[d.name]=f),f.forages.push(c),c._initReady||(c._initReady=c.ready,c.ready=y);for(var g=[],h=0;h>4,k[i++]=(15&d)<<4|e>>2,k[i++]=(3&e)<<6|63&f;return j}function O(a){var b,c=new Uint8Array(a),d="";for(b=0;b>2],d+=Da[(3&c[b])<<4|c[b+1]>>4],d+=Da[(15&c[b+1])<<2|c[b+2]>>6],d+=Da[63&c[b+2]];return c.length%3==2?d=d.substring(0,d.length-1)+"=":c.length%3==1&&(d=d.substring(0,d.length-2)+"=="),d}function P(a,b){var c="";if(a&&(c=Ua.call(a)),a&&("[object ArrayBuffer]"===c||a.buffer&&"[object ArrayBuffer]"===Ua.call(a.buffer))){var d,e=Ga;a instanceof ArrayBuffer?(d=a,e+=Ia):(d=a.buffer,"[object Int8Array]"===c?e+=Ka:"[object Uint8Array]"===c?e+=La:"[object Uint8ClampedArray]"===c?e+=Ma:"[object Int16Array]"===c?e+=Na:"[object Uint16Array]"===c?e+=Pa:"[object Int32Array]"===c?e+=Oa:"[object Uint32Array]"===c?e+=Qa:"[object Float32Array]"===c?e+=Ra:"[object Float64Array]"===c?e+=Sa:b(new Error("Failed to get type for BinaryArray"))),b(e+O(d))}else if("[object Blob]"===c){var f=new FileReader;f.onload=function(){var c=Ea+a.type+"~"+O(this.result);b(Ga+Ja+c)},f.readAsArrayBuffer(a)}else try{b(JSON.stringify(a))}catch(c){console.error("Couldn't convert value into a JSON string: ",a),b(null,c)}}function Q(a){if(a.substring(0,Ha)!==Ga)return JSON.parse(a);var b,c=a.substring(Ta),d=a.substring(Ha,Ta);if(d===Ja&&Fa.test(c)){var e=c.match(Fa);b=e[1],c=c.substring(e[0].length)}var f=N(c);switch(d){case Ia:return f;case Ja:return g([f],{type:b});case Ka:return new Int8Array(f);case La:return new Uint8Array(f);case Ma:return new Uint8ClampedArray(f);case Na:return new Int16Array(f);case Pa:return new Uint16Array(f);case Oa:return new Int32Array(f);case Qa:return new Uint32Array(f);case Ra:return new Float32Array(f);case Sa:return new Float64Array(f);default:throw new Error("Unkown type: "+d)}}function R(a,b,c,d){a.executeSql("CREATE TABLE IF NOT EXISTS "+b.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],c,d)}function S(a){var b=this,c={db:null};if(a)for(var d in a)c[d]="string"!=typeof a[d]?a[d].toString():a[d];var e=new va(function(a,d){try{c.db=openDatabase(c.name,String(c.version),c.description,c.size)}catch(a){return d(a)}c.db.transaction(function(e){R(e,c,function(){b._dbInfo=c,a()},function(a,b){d(b)})},d)});return c.serializer=Va,e}function T(a,b,c,d,e,f){a.executeSql(c,d,e,function(a,g){g.code===g.SYNTAX_ERR?a.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[b.storeName],function(a,h){h.rows.length?f(a,g):R(a,b,function(){a.executeSql(c,d,e,f)},f)},f):f(a,g)},f)}function U(a,b){var c=this;a=j(a);var d=new va(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){T(c,e,"SELECT * FROM "+e.storeName+" WHERE key = ? LIMIT 1",[a],function(a,c){var d=c.rows.length?c.rows.item(0).value:null;d&&(d=e.serializer.deserialize(d)),b(d)},function(a,b){d(b)})})}).catch(d)});return h(d,b),d}function V(a,b){var c=this,d=new va(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){T(c,e,"SELECT * FROM "+e.storeName,[],function(c,d){for(var f=d.rows,g=f.length,h=0;h0)return void f(W.apply(e,[a,h,c,d-1]));g(b)}})})}).catch(g)});return h(f,c),f}function X(a,b,c){return W.apply(this,[a,b,c,1])}function Y(a,b){var c=this;a=j(a);var d=new va(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){T(c,e,"DELETE FROM "+e.storeName+" WHERE key = ?",[a],function(){b()},function(a,b){d(b)})})}).catch(d)});return h(d,b),d}function Z(a){var b=this,c=new va(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){T(b,d,"DELETE FROM "+d.storeName,[],function(){a()},function(a,b){c(b)})})}).catch(c)});return h(c,a),c}function $(a){var b=this,c=new va(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){T(b,d,"SELECT COUNT(key) as c FROM "+d.storeName,[],function(b,c){var d=c.rows.item(0).c;a(d)},function(a,b){c(b)})})}).catch(c)});return h(c,a),c}function _(a,b){var c=this,d=new va(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){T(c,e,"SELECT key FROM "+e.storeName+" WHERE id = ? LIMIT 1",[a+1],function(a,c){var d=c.rows.length?c.rows.item(0).key:null;b(d)},function(a,b){d(b)})})}).catch(d)});return h(d,b),d}function aa(a){var b=this,c=new va(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){T(b,d,"SELECT key FROM "+d.storeName,[],function(b,c){for(var d=[],e=0;e '__WebKitDatabaseInfoTable__'",[],function(c,d){for(var e=[],f=0;f0}function ha(a){var b=this,c={};if(a)for(var d in a)c[d]=a[d];return c.keyPrefix=ea(a,b._defaultConfig),ga()?(b._dbInfo=c,c.serializer=Va,va.resolve()):va.reject()}function ia(a){var b=this,c=b.ready().then(function(){for(var a=b._dbInfo.keyPrefix,c=localStorage.length-1;c>=0;c--){var d=localStorage.key(c);0===d.indexOf(a)&&localStorage.removeItem(d)}});return h(c,a),c}function ja(a,b){var c=this;a=j(a);var d=c.ready().then(function(){var b=c._dbInfo,d=localStorage.getItem(b.keyPrefix+a);return d&&(d=b.serializer.deserialize(d)),d});return h(d,b),d}function ka(a,b){var c=this,d=c.ready().then(function(){for(var b=c._dbInfo,d=b.keyPrefix,e=d.length,f=localStorage.length,g=1,h=0;h=0;b--){var c=localStorage.key(b);0===c.indexOf(a)&&localStorage.removeItem(c)}}):va.reject("Invalid arguments"),h(d,b),d}function ra(a,b){a[b]=function(){var c=arguments;return a.ready().then(function(){return a[b].apply(a,c)})}}function sa(){for(var a=1;a":">",'"':""","'":"'","/":"/"};function escapeHtml(string){return String(string).replace(/[&<>"'\/]/g,function(s){return entityMap[s]})}var whiteRe=/\s*/;var spaceRe=/\s+/;var equalsRe=/\s*=/;var curlyRe=/\s*\}/;var tagRe=/#|\^|\/|>|\{|&|=|!/;function parseTemplate(template,tags){if(!template)return[];var sections=[];var tokens=[];var spaces=[];var hasTag=false;var nonSpace=false;function stripSpace(){if(hasTag&&!nonSpace){while(spaces.length)delete tokens[spaces.pop()]}else{spaces=[]}hasTag=false;nonSpace=false}var openingTagRe,closingTagRe,closingCurlyRe;function compileTags(tags){if(typeof tags==="string")tags=tags.split(spaceRe,2);if(!isArray(tags)||tags.length!==2)throw new Error("Invalid tags: "+tags);openingTagRe=new RegExp(escapeRegExp(tags[0])+"\\s*");closingTagRe=new RegExp("\\s*"+escapeRegExp(tags[1]));closingCurlyRe=new RegExp("\\s*"+escapeRegExp("}"+tags[1]))}compileTags(tags||mustache.tags);var scanner=new Scanner(template);var start,type,value,chr,token,openSection;while(!scanner.eos()){start=scanner.pos;value=scanner.scanUntil(openingTagRe);if(value){for(var i=0,valueLength=value.length;i0?sections[sections.length-1][4]:nestedTokens;break;default:collector.push(token)}}return nestedTokens}function Scanner(string){this.string=string;this.tail=string;this.pos=0}Scanner.prototype.eos=function(){return this.tail===""};Scanner.prototype.scan=function(re){var match=this.tail.match(re);if(!match||match.index!==0)return"";var string=match[0];this.tail=this.tail.substring(string.length);this.pos+=string.length;return string};Scanner.prototype.scanUntil=function(re){var index=this.tail.search(re),match;switch(index){case-1:match=this.tail;this.tail="";break;case 0:match="";break;default:match=this.tail.substring(0,index);this.tail=this.tail.substring(index)}this.pos+=match.length;return match};function Context(view,parentContext){this.view=view==null?{}:view;this.cache={".":this.view};this.parent=parentContext}Context.prototype.push=function(view){return new Context(view,this)};Context.prototype.lookup=function(name){var cache=this.cache;var value;if(name in cache){value=cache[name]}else{var context=this,names,index;while(context){if(name.indexOf(".")>0){value=context.view;names=name.split(".");index=0;while(value!=null&&index":if(!partials)continue;value=isFunction(partials)?partials(token[1]):partials[token[1]];if(value!=null)buffer+=this.renderTokens(this.parse(value),context,partials,value);break;case"&":value=context.lookup(token[1]);if(value!=null)buffer+=value;break;case"name":value=context.lookup(token[1]);if(value!=null)buffer+=mustache.escape(value);break;case"text":buffer+=token[1];break}}return buffer};mustache.name="mustache.js";mustache.version="1.0.0";mustache.tags=["{{","}}"];var defaultWriter=new Writer;mustache.clearCache=function(){return defaultWriter.clearCache()};mustache.parse=function(template,tags){return defaultWriter.parse(template,tags)};mustache.render=function(template,view,partials){return defaultWriter.render(template,view,partials)};mustache.to_html=function(template,view,partials,send){var result=mustache.render(template,view,partials);if(isFunction(send)){send(result)}else{return result}};mustache.escape=escapeHtml;mustache.Scanner=Scanner;mustache.Context=Context;mustache.Writer=Writer}); \ No newline at end of file +(function defineMustache(global,factory){if(typeof exports==="object"&&exports&&typeof exports.nodeName!=="string"){factory(exports)}else if(typeof define==="function"&&define.amd){define(["exports"],factory)}else{global.Mustache={};factory(global.Mustache)}})(this,function mustacheFactory(mustache){var objectToString=Object.prototype.toString;var isArray=Array.isArray||function isArrayPolyfill(object){return objectToString.call(object)==="[object Array]"};function isFunction(object){return typeof object==="function"}function typeStr(obj){return isArray(obj)?"array":typeof obj}function escapeRegExp(string){return string.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function hasProperty(obj,propName){return obj!=null&&typeof obj==="object"&&propName in obj}function primitiveHasOwnProperty(primitive,propName){return primitive!=null&&typeof primitive!=="object"&&primitive.hasOwnProperty&&primitive.hasOwnProperty(propName)}var regExpTest=RegExp.prototype.test;function testRegExp(re,string){return regExpTest.call(re,string)}var nonSpaceRe=/\S/;function isWhitespace(string){return!testRegExp(nonSpaceRe,string)}var entityMap={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};function escapeHtml(string){return String(string).replace(/[&<>"'`=\/]/g,function fromEntityMap(s){return entityMap[s]})}var whiteRe=/\s*/;var spaceRe=/\s+/;var equalsRe=/\s*=/;var curlyRe=/\s*\}/;var tagRe=/#|\^|\/|>|\{|&|=|!/;function parseTemplate(template,tags){if(!template)return[];var sections=[];var tokens=[];var spaces=[];var hasTag=false;var nonSpace=false;function stripSpace(){if(hasTag&&!nonSpace){while(spaces.length)delete tokens[spaces.pop()]}else{spaces=[]}hasTag=false;nonSpace=false}var openingTagRe,closingTagRe,closingCurlyRe;function compileTags(tagsToCompile){if(typeof tagsToCompile==="string")tagsToCompile=tagsToCompile.split(spaceRe,2);if(!isArray(tagsToCompile)||tagsToCompile.length!==2)throw new Error("Invalid tags: "+tagsToCompile);openingTagRe=new RegExp(escapeRegExp(tagsToCompile[0])+"\\s*");closingTagRe=new RegExp("\\s*"+escapeRegExp(tagsToCompile[1]));closingCurlyRe=new RegExp("\\s*"+escapeRegExp("}"+tagsToCompile[1]))}compileTags(tags||mustache.tags);var scanner=new Scanner(template);var start,type,value,chr,token,openSection;while(!scanner.eos()){start=scanner.pos;value=scanner.scanUntil(openingTagRe);if(value){for(var i=0,valueLength=value.length;i0?sections[sections.length-1][4]:nestedTokens;break;default:collector.push(token)}}return nestedTokens}function Scanner(string){this.string=string;this.tail=string;this.pos=0}Scanner.prototype.eos=function eos(){return this.tail===""};Scanner.prototype.scan=function scan(re){var match=this.tail.match(re);if(!match||match.index!==0)return"";var string=match[0];this.tail=this.tail.substring(string.length);this.pos+=string.length;return string};Scanner.prototype.scanUntil=function scanUntil(re){var index=this.tail.search(re),match;switch(index){case-1:match=this.tail;this.tail="";break;case 0:match="";break;default:match=this.tail.substring(0,index);this.tail=this.tail.substring(index)}this.pos+=match.length;return match};function Context(view,parentContext){this.view=view;this.cache={".":this.view};this.parent=parentContext}Context.prototype.push=function push(view){return new Context(view,this)};Context.prototype.lookup=function lookup(name){var cache=this.cache;var value;if(cache.hasOwnProperty(name)){value=cache[name]}else{var context=this,intermediateValue,names,index,lookupHit=false;while(context){if(name.indexOf(".")>0){intermediateValue=context.view;names=name.split(".");index=0;while(intermediateValue!=null&&index")value=this.renderPartial(token,context,partials,tags);else if(symbol==="&")value=this.unescapedValue(token,context);else if(symbol==="name")value=this.escapedValue(token,context);else if(symbol==="text")value=this.rawValue(token);if(value!==undefined)buffer+=value}return buffer};Writer.prototype.renderSection=function renderSection(token,context,partials,originalTemplate){var self=this;var buffer="";var value=context.lookup(token[1]);function subRender(template){return self.render(template,context,partials)}if(!value)return;if(isArray(value)){for(var j=0,valueLength=value.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 diff --git a/public/css/v1.5.1/pathfinder.css b/public/css/v1.5.2/pathfinder.css similarity index 100% rename from public/css/v1.5.1/pathfinder.css rename to public/css/v1.5.2/pathfinder.css diff --git a/public/css/v1.5.1/pathfinder.css.map b/public/css/v1.5.2/pathfinder.css.map similarity index 100% rename from public/css/v1.5.1/pathfinder.css.map rename to public/css/v1.5.2/pathfinder.css.map diff --git a/public/js/v1.5.1/app.js b/public/js/v1.5.1/app.js deleted file mode 100644 index 48086523..00000000 --- a/public/js/v1.5.1/app.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";var mainScriptPath=document.body.getAttribute("data-script"),jsBaseUrl=document.body.getAttribute("data-js-path");requirejs.config({baseUrl:"js",paths:{layout:"layout",conf:"app/conf",dialog:"app/ui/dialog",templates:"../../templates",img:"../../img",login:"./app/login",mappage:"./app/mappage",setup:"./app/setup",admin:"./app/admin",notification:"./app/notification",jquery:"lib/jquery-3.3.1.min",bootstrap:"lib/bootstrap.min",text:"lib/requirejs/text",mustache:"lib/mustache.min",localForage:"lib/localforage.min",velocity:"lib/velocity.min",velocityUI:"lib/velocity.ui.min",slidebars:"lib/slidebars",jsPlumb:"lib/dom.jsPlumb-1.7.6",farahey:"lib/farahey-0.5",customScrollbar:"lib/jquery.mCustomScrollbar.min",mousewheel:"lib/jquery.mousewheel.min",xEditable:"lib/bootstrap-editable.min",morris:"lib/morris.min",raphael:"lib/raphael-min",bootbox:"lib/bootbox.min",easyPieChart:"lib/jquery.easypiechart.min",peityInlineChart:"lib/jquery.peity.min",dragToSelect:"lib/jquery.dragToSelect",hoverIntent:"lib/jquery.hoverIntent.min",fullScreen:"lib/jquery.fullscreen.min",select2:"lib/select2.min",validator:"lib/validator.min",lazylinepainter:"lib/jquery.lazylinepainter-1.5.1.min",blueImpGallery:"lib/blueimp-gallery",blueImpGalleryHelper:"lib/blueimp-helper",blueImpGalleryBootstrap:"lib/bootstrap-image-gallery",bootstrapConfirmation:"lib/bootstrap-confirmation",bootstrapToggle:"lib/bootstrap-toggle.min",lazyload:"lib/jquery.lazyload.min",sortable:"lib/sortable.min","summernote.loader":"./app/summernote.loader",summernote:"lib/summernote/summernote.min",easePack:"lib/EasePack.min",tweenLite:"lib/TweenLite.min","datatables.loader":"./app/datatables.loader","datatables.net":"lib/datatables/DataTables-1.10.12/js/jquery.dataTables.min","datatables.net-buttons":"lib/datatables/Buttons-1.2.1/js/dataTables.buttons.min","datatables.net-buttons-html":"lib/datatables/Buttons-1.2.1/js/buttons.html5.min","datatables.net-responsive":"lib/datatables/Responsive-2.1.0/js/dataTables.responsive.min","datatables.net-select":"lib/datatables/Select-1.2.0/js/dataTables.select.min","datatables.plugins.render.ellipsis":"lib/datatables/plugins/render/ellipsis",pnotify:"lib/pnotify/pnotify","pnotify.buttons":"lib/pnotify/pnotify.buttons","pnotify.confirm":"lib/pnotify/pnotify.confirm","pnotify.nonblock":"lib/pnotify/pnotify.nonblock","pnotify.desktop":"lib/pnotify/pnotify.desktop","pnotify.history":"lib/pnotify/pnotify.history","pnotify.callbacks":"lib/pnotify/pnotify.callbacks","pnotify.reference":"lib/pnotify/pnotify.reference"},shim:{bootstrap:{deps:["jquery"]},farahey:{deps:["jsPlumb"]},velocity:{deps:["jquery"]},velocityUI:{deps:["velocity"]},slidebars:{deps:["jquery"]},customScrollbar:{deps:["jquery","mousewheel"]},"datatables.loader":{deps:["jquery"]},"datatables.net":{deps:["jquery"]},"datatables.net-buttons":{deps:["datatables.net"]},"datatables.net-buttons-html":{deps:["datatables.net-buttons"]},"datatables.net-responsive":{deps:["datatables.net"]},"datatables.net-select":{deps:["datatables.net"]},"datatables.plugins.render.ellipsis":{deps:["datatables.net"]},xEditable:{deps:["bootstrap"]},bootbox:{deps:["jquery","bootstrap"],exports:"bootbox"},morris:{deps:["jquery","raphael"],exports:"Morris",init:function(e,t){window.Raphael=t}},pnotify:{deps:["jquery"]},easyPieChart:{deps:["jquery"]},peityInlineChart:{deps:["jquery"]},dragToSelect:{deps:["jquery"]},hoverIntent:{deps:["jquery"]},fullScreen:{deps:["jquery"]},select2:{deps:["jquery","mousewheel"],exports:"Select2"},validator:{deps:["jquery","bootstrap"]},lazylinepainter:{deps:["jquery","bootstrap"]},blueImpGallery:{deps:["jquery"]},bootstrapConfirmation:{deps:["bootstrap"]},bootstrapToggle:{deps:["jquery"]},lazyload:{deps:["jquery"]},summernote:{deps:["jquery"]}}}),require.config({baseUrl:jsBaseUrl}),requirejs([mainScriptPath]); -//# sourceMappingURL=app.js.map diff --git a/public/js/v1.5.1/app.js.br b/public/js/v1.5.1/app.js.br deleted file mode 100644 index 63584fd2987630f2a36074ff40358e13a2259ed5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1026 zcmV+d1pWIP5f1>I1$HbOvK*SGaOq@OyNJNZ^m}!>XPNqb0c90X1>lM0_!6H{Pp1H3 zDQEmi!A3m70}olO&fv@M_iBNhsc_Y%%{@s<#EJs%mjXk;hUltm#5&-hZ3e*= z{qg@gLQ@hvHv?|kNi(A0J1;h*hbrALM;A~CdIi6O$>bGDANlDExsH90nx1*=VsI>z zf4_{eQLN~MK_-Bl6Em8sF@x(PfIneiozr0qk{r~z4r|gRM9H>66zK~M2f$^U(|L0g zlAx2?qxBTR4wTkKqi{HkLYb0TS&Tydlw+B_0%;*^H=l&Y<BLfl;HHb&)dyd zhe4%ik!iwGNtYp$m!ea~y!E6mqi{s6xh>kZthXr*m~cj|YO*`pt$HiAKE~b=mFEDA zNwHYP0tN!g0(7;1nQ*a);&@yUPc*K1&w|5kEDpSNsT~Xx236wC$8~>=IgY2v%HW0R zrIddBh*{?vnh1N2I1HLeOGF9)*fWW@?T^|DdYog9g0<_tt*d;nd*~$Ff!4zOnplkj zC`?}8`j!dc$~&pXYQIquf_(hNJXhoa`Qb#14Yj7_feh&UZRx5GND{q{$5fjU0_l~H zuOScbO&8(*Y0e58f9#GOhA_ExIF#;4?tYVR_h{iQ6oB2wWQt?pqeU1T@h{gt(+UOr zKG=V1P8N0OAna6p97Gm;dF$fm2kbp zT15eB4dax)u)%)Z{HI#O@XCEK0m$&ZMs{PKAe!M3(6-Ae5G1dvq(eq z6kGG~#ZqtR(t7ZX->nX>qp>yO6?&A?L^VtVjcKeFVu?!rR}K8Qi2> z^(a>pa!F=_T%QMQBn6%ftRSomm%eFJ=ZKynCc_z?9H z)Z8SJnw3~_SORK=Nr_f?gvrIc5m4D2s5ym^2{B3AK^a+TyZcBr>xUTSp0s@eQ&e%!!XIBWLeXDTp7fBSvkx( zSlPllR@vTqQ^{U@sOov%MoZtj$V=s7RZoS-bGE8W1Wr*JpSk~&=aSIx$rOrbld!FG wl7#h|J3R4yM!gGaaNo#e;p;B#*`HlQ>*;sIbGyvTpKlL`x0a$zB8d^#0A+s$aR2}S diff --git a/public/js/v1.5.1/app.js.map b/public/js/v1.5.1/app.js.map deleted file mode 100644 index adbffa1f..00000000 --- a/public/js/v1.5.1/app.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["app.js"],"names":["mainScriptPath","document","body","getAttribute","jsBaseUrl","requirejs","config","baseUrl","paths","layout","conf","dialog","templates","img","login","mappage","setup","admin","notification","jquery","bootstrap","text","mustache","localForage","velocity","velocityUI","slidebars","jsPlumb","farahey","customScrollbar","mousewheel","xEditable","morris","raphael","bootbox","easyPieChart","peityInlineChart","dragToSelect","hoverIntent","fullScreen","select2","validator","lazylinepainter","blueImpGallery","blueImpGalleryHelper","blueImpGalleryBootstrap","bootstrapConfirmation","bootstrapToggle","lazyload","sortable","summernote.loader","summernote","easePack","tweenLite","datatables.loader","datatables.net","datatables.net-buttons","datatables.net-buttons-html","datatables.net-responsive","datatables.net-select","datatables.plugins.render.ellipsis","pnotify","pnotify.buttons","pnotify.confirm","pnotify.nonblock","pnotify.desktop","pnotify.history","pnotify.callbacks","pnotify.reference","shim","deps","exports","init","$","Raphael","window","require"],"mappings":"AAAA,aAGA,IAAIA,eAAiBC,SAASC,KAAKC,aAAa,eAI5CC,UAAYH,SAASC,KAAKC,aAAa,gBAG3CE,UAAUC,QACNC,QAAS,KAETC,OACIC,OAAQ,SACRC,KAAM,WACNC,OAAQ,gBACRC,UAAW,kBACXC,IAAK,YAGLC,MAAO,cACPC,QAAS,gBACTC,MAAO,cACPC,MAAO,cACPC,aAAc,qBAEdC,OAAQ,uBACRC,UAAW,oBACXC,KAAM,qBACNC,SAAU,mBACVC,YAAa,sBACbC,SAAU,mBACVC,WAAY,sBACZC,UAAW,gBACXC,QAAS,wBACTC,QAAS,kBACTC,gBAAiB,kCACjBC,WAAY,4BACZC,UAAW,6BACXC,OAAQ,iBACRC,QAAS,kBACTC,QAAS,kBACTC,aAAc,8BACdC,iBAAkB,uBAClBC,aAAc,0BACdC,YAAa,6BACbC,WAAY,4BACZC,QAAS,kBACTC,UAAW,oBACXC,gBAAiB,uCACjBC,eAAgB,sBAChBC,qBAAsB,qBACtBC,wBAAyB,8BACzBC,sBAAuB,6BACvBC,gBAAiB,2BACjBC,SAAU,0BACVC,SAAU,mBAEVC,oBAAqB,0BACrBC,WAAc,gCAGdC,SAAU,mBACVC,UAAW,oBAGXC,oBAAqB,0BACrBC,iBAAkB,6DAClBC,yBAA0B,yDAC1BC,8BAA+B,oDAC/BC,4BAA6B,+DAC7BC,wBAAyB,uDACzBC,qCAAsC,yCAGtCC,QAAS,sBACTC,kBAAmB,8BACnBC,kBAAmB,8BACnBC,mBAAoB,+BACpBC,kBAAmB,8BACnBC,kBAAmB,8BACnBC,oBAAqB,gCACrBC,oBAAqB,iCAEzBC,MACIjD,WACIkD,MAAO,WAEX1C,SACI0C,MAAO,YAEX9C,UACI8C,MAAO,WAEX7C,YACI6C,MAAO,aAEX5C,WACI4C,MAAO,WAEXzC,iBACIyC,MAAO,SAAU,eAErBhB,qBACIgB,MAAO,WAEXf,kBACIe,MAAO,WAEXd,0BACIc,MAAO,mBAEXb,+BACIa,MAAO,2BAEXZ,6BACIY,MAAO,mBAEXX,yBACIW,MAAO,mBAEXV,sCACIU,MAAO,mBAEXvC,WACIuC,MAAO,cAEXpC,SACIoC,MAAO,SAAU,aACjBC,QAAS,WAEbvC,QACIsC,MAAO,SAAU,WACjBC,QAAS,SACTC,KAAM,SAAUC,EAAGC,GACfC,OAAOD,QAAUA,IAGzBb,SACIS,MAAO,WAEXnC,cACImC,MAAO,WAEXlC,kBACIkC,MAAO,WAEXjC,cACIiC,MAAO,WAEXhC,aACIgC,MAAO,WAEX/B,YACI+B,MAAO,WAEX9B,SACI8B,MAAO,SAAU,cACjBC,QAAS,WAEb9B,WACI6B,MAAO,SAAU,cAErB5B,iBACI4B,MAAO,SAAU,cAErB3B,gBACI2B,MAAO,WAEXxB,uBACIwB,MAAO,cAEXvB,iBACIuB,MAAO,WAEXtB,UACIsB,MAAO,WAEXnB,YACImB,MAAO,cAQnBM,QAAQtE,QACJC,QAASH,YAIbC,WAAYL","file":"app.js","sourceRoot":"/js"} \ No newline at end of file diff --git a/public/js/v1.5.1/app/admin.js b/public/js/v1.5.1/app/admin.js deleted file mode 100644 index b662160a..00000000 --- a/public/js/v1.5.1/app/admin.js +++ /dev/null @@ -1,2 +0,0 @@ -if(function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,o=Object.getPrototypeOf,a=n.slice,i=n.concat,s=n.push,l=n.indexOf,c={},u=c.toString,d=c.hasOwnProperty,f=d.toString,p=f.call(Object),h={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},g=function(e){return null!=e&&e===e.window},v={type:!0,src:!0,noModule:!0};function y(e,t,n){var o,a=(t=t||r).createElement("script");if(a.text=e,n)for(o in v)n[o]&&(a[o]=n[o]);t.head.appendChild(a).parentNode.removeChild(a)}function b(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[u.call(e)]||"object":typeof e}var w=function(e,t){return new w.fn.init(e,t)},x=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function C(e){var t=!!e&&"length"in e&&e.length,n=b(e);return!m(e)&&!g(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return a.call(this)},get:function(e){return null==e?a.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(a.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n+~]|"+N+")"+N+"*"),W=new RegExp("="+N+"*([^\\]'\"]*?)"+N+"*\\]","g"),z=new RegExp(B),V=new RegExp("^"+$+"$"),X={ID:new RegExp("^#("+$+")"),CLASS:new RegExp("^\\.("+$+")"),TAG:new RegExp("^("+$+"|[*])"),ATTR:new RegExp("^"+j),PSEUDO:new RegExp("^"+B),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+N+"*(even|odd|(([+-]|)(\\d*)n|)"+N+"*(?:([+-]|)"+N+"*(\\d+)|))"+N+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+N+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+N+"*((?:-\\d)?\\d*)"+N+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,G=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Q=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Z=/[+~]/,J=new RegExp("\\\\([\\da-f]{1,6}"+N+"?|("+N+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){f()},oe=ye(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{P.apply(k=F.call(x.childNodes),x.childNodes),k[x.childNodes.length].nodeType}catch(e){P={apply:k.length?function(e,t){E.apply(e,F.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function ae(e,t,r,o){var a,s,c,u,d,h,v,y=t&&t.ownerDocument,C=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==C&&9!==C&&11!==C)return r;if(!o&&((t?t.ownerDocument||t:x)!==p&&f(t),t=t||p,m)){if(11!==C&&(d=Q.exec(e)))if(a=d[1]){if(9===C){if(!(c=t.getElementById(a)))return r;if(c.id===a)return r.push(c),r}else if(y&&(c=y.getElementById(a))&&b(t,c)&&c.id===a)return r.push(c),r}else{if(d[2])return P.apply(r,t.getElementsByTagName(e)),r;if((a=d[3])&&n.getElementsByClassName&&t.getElementsByClassName)return P.apply(r,t.getElementsByClassName(a)),r}if(n.qsa&&!D[e+" "]&&(!g||!g.test(e))){if(1!==C)y=t,v=e;else if("object"!==t.nodeName.toLowerCase()){for((u=t.getAttribute("id"))?u=u.replace(te,ne):t.setAttribute("id",u=w),s=(h=i(e)).length;s--;)h[s]="#"+u+" "+ve(h[s]);v=h.join(","),y=Z.test(e)&&me(t.parentNode)||t}if(v)try{return P.apply(r,y.querySelectorAll(v)),r}catch(e){}finally{u===w&&t.removeAttribute("id")}}}return l(e.replace(H,"$1"),t,r,o)}function ie(){var e=[];return function t(n,o){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=o}}function se(e){return e[w]=!0,e}function le(e){var t=p.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ce(e,t){for(var n=e.split("|"),o=n.length;o--;)r.attrHandle[n[o]]=t}function ue(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function fe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pe(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&oe(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){for(var o,a=e([],n.length,t),i=a.length;i--;)n[o=a[i]]&&(n[o]=!(r[o]=n[o]))})})}function me(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=ae.support={},a=ae.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},f=ae.setDocument=function(e){var t,o,i=e?e.ownerDocument||e:x;return i!==p&&9===i.nodeType&&i.documentElement?(h=(p=i).documentElement,m=!a(p),x!==p&&(o=p.defaultView)&&o.top!==o&&(o.addEventListener?o.addEventListener("unload",re,!1):o.attachEvent&&o.attachEvent("onunload",re)),n.attributes=le(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=le(function(e){return e.appendChild(p.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=K.test(p.getElementsByClassName),n.getById=le(function(e){return h.appendChild(e).id=w,!p.getElementsByName||!p.getElementsByName(w).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(J,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&m){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(J,ee);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&m){var n,r,o,a=t.getElementById(e);if(a){if((n=a.getAttributeNode("id"))&&n.value===e)return[a];for(o=t.getElementsByName(e),r=0;a=o[r++];)if((n=a.getAttributeNode("id"))&&n.value===e)return[a]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],o=0,a=t.getElementsByTagName(e);if("*"===e){for(;n=a[o++];)1===n.nodeType&&r.push(n);return r}return a},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&m)return t.getElementsByClassName(e)},v=[],g=[],(n.qsa=K.test(p.querySelectorAll))&&(le(function(e){h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&g.push("[*^$]="+N+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||g.push("\\["+N+"*(?:value|"+L+")"),e.querySelectorAll("[id~="+w+"-]").length||g.push("~="),e.querySelectorAll(":checked").length||g.push(":checked"),e.querySelectorAll("a#"+w+"+*").length||g.push(".#.+[+~]")}),le(function(e){e.innerHTML="";var t=p.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&g.push("name"+N+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&g.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(n.matchesSelector=K.test(y=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&le(function(e){n.disconnectedMatch=y.call(e,"*"),y.call(e,"[s!='']:x"),v.push("!=",B)}),g=g.length&&new RegExp(g.join("|")),v=v.length&&new RegExp(v.join("|")),t=K.test(h.compareDocumentPosition),b=t||K.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},I=t?function(e,t){if(e===t)return d=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===p||e.ownerDocument===x&&b(x,e)?-1:t===p||t.ownerDocument===x&&b(x,t)?1:u?R(u,e)-R(u,t):0:4&r?-1:1)}:function(e,t){if(e===t)return d=!0,0;var n,r=0,o=e.parentNode,a=t.parentNode,i=[e],s=[t];if(!o||!a)return e===p?-1:t===p?1:o?-1:a?1:u?R(u,e)-R(u,t):0;if(o===a)return ue(e,t);for(n=e;n=n.parentNode;)i.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;i[r]===s[r];)r++;return r?ue(i[r],s[r]):i[r]===x?-1:s[r]===x?1:0},p):p},ae.matches=function(e,t){return ae(e,null,null,t)},ae.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&f(e),t=t.replace(W,"='$1']"),n.matchesSelector&&m&&!D[t+" "]&&(!v||!v.test(t))&&(!g||!g.test(t)))try{var r=y.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return ae(t,p,null,[e]).length>0},ae.contains=function(e,t){return(e.ownerDocument||e)!==p&&f(e),b(e,t)},ae.attr=function(e,t){(e.ownerDocument||e)!==p&&f(e);var o=r.attrHandle[t.toLowerCase()],a=o&&A.call(r.attrHandle,t.toLowerCase())?o(e,t,!m):void 0;return void 0!==a?a:n.attributes||!m?e.getAttribute(t):(a=e.getAttributeNode(t))&&a.specified?a.value:null},ae.escape=function(e){return(e+"").replace(te,ne)},ae.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},ae.uniqueSort=function(e){var t,r=[],o=0,a=0;if(d=!n.detectDuplicates,u=!n.sortStable&&e.slice(0),e.sort(I),d){for(;t=e[a++];)t===e[a]&&(o=r.push(a));for(;o--;)e.splice(r[o],1)}return u=null,e},o=ae.getText=function(e){var t,n="",r=0,a=e.nodeType;if(a){if(1===a||9===a||11===a){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===a||4===a)return e.nodeValue}else for(;t=e[r++];)n+=o(t);return n},(r=ae.selectors={cacheLength:50,createPseudo:se,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(J,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(J,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||ae.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&ae.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return X.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&z.test(n)&&(t=i(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(J,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=T[e+" "];return t||(t=new RegExp("(^|"+N+")"+e+"("+N+"|$)"))&&T(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var o=ae.attr(r,e);return null==o?"!="===t:!t||(o+="","="===t?o===n:"!="===t?o!==n:"^="===t?n&&0===o.indexOf(n):"*="===t?n&&o.indexOf(n)>-1:"$="===t?n&&o.slice(-n.length)===n:"~="===t?(" "+o.replace(M," ")+" ").indexOf(n)>-1:"|="===t&&(o===n||o.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,o){var a="nth"!==e.slice(0,3),i="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===o?function(e){return!!e.parentNode}:function(t,n,l){var c,u,d,f,p,h,m=a!==i?"nextSibling":"previousSibling",g=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!l&&!s,b=!1;if(g){if(a){for(;m;){for(f=t;f=f[m];)if(s?f.nodeName.toLowerCase()===v:1===f.nodeType)return!1;h=m="only"===e&&!h&&"nextSibling"}return!0}if(h=[i?g.firstChild:g.lastChild],i&&y){for(b=(p=(c=(u=(d=(f=g)[w]||(f[w]={}))[f.uniqueID]||(d[f.uniqueID]={}))[e]||[])[0]===C&&c[1])&&c[2],f=p&&g.childNodes[p];f=++p&&f&&f[m]||(b=p=0)||h.pop();)if(1===f.nodeType&&++b&&f===t){u[e]=[C,p,b];break}}else if(y&&(b=p=(c=(u=(d=(f=t)[w]||(f[w]={}))[f.uniqueID]||(d[f.uniqueID]={}))[e]||[])[0]===C&&c[1]),!1===b)for(;(f=++p&&f&&f[m]||(b=p=0)||h.pop())&&((s?f.nodeName.toLowerCase()!==v:1!==f.nodeType)||!++b||(y&&((u=(d=f[w]||(f[w]={}))[f.uniqueID]||(d[f.uniqueID]={}))[e]=[C,b]),f!==t)););return(b-=o)===r||b%r==0&&b/r>=0}}},PSEUDO:function(e,t){var n,o=r.pseudos[e]||r.setFilters[e.toLowerCase()]||ae.error("unsupported pseudo: "+e);return o[w]?o(t):o.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){for(var r,a=o(e,t),i=a.length;i--;)e[r=R(e,a[i])]=!(n[r]=a[i])}):function(e){return o(e,0,n)}):o}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(H,"$1"));return r[w]?se(function(e,t,n,o){for(var a,i=r(e,null,o,[]),s=e.length;s--;)(a=i[s])&&(e[s]=!(t[s]=a))}):function(e,o,a){return t[0]=e,r(t,null,a,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return ae(e,t).length>0}}),contains:se(function(e){return e=e.replace(J,ee),function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:se(function(e){return V.test(e||"")||ae.error("unsupported lang: "+e),e=e.replace(J,ee).toLowerCase(),function(t){var n;do{if(n=m?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:pe(!1),disabled:pe(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return G.test(e.nodeName)},input:function(e){return Y.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){for(var o=e.length;o--;)if(!e[o](t,n,r))return!1;return!0}:e[0]}function we(e,t,n,r,o){for(var a,i=[],s=0,l=e.length,c=null!=t;s-1&&(a[c]=!(i[c]=d))}}else v=we(v===i?v.splice(h,v.length):v),o?o(null,i,v,l):P.apply(i,v)})}function Ce(e){for(var t,n,o,a=e.length,i=r.relative[e[0].type],s=i||r.relative[" "],l=i?1:0,u=ye(function(e){return e===t},s,!0),d=ye(function(e){return R(t,e)>-1},s,!0),f=[function(e,n,r){var o=!i&&(r||n!==c)||((t=n).nodeType?u(e,n,r):d(e,n,r));return t=null,o}];l1&&be(f),l>1&&ve(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(H,"$1"),n,l0,o=e.length>0,a=function(a,i,s,l,u){var d,h,g,v=0,y="0",b=a&&[],w=[],x=c,S=a||o&&r.find.TAG("*",u),T=C+=null==x?1:Math.random()||.1,_=S.length;for(u&&(c=i===p||i||u);y!==_&&null!=(d=S[y]);y++){if(o&&d){for(h=0,i||d.ownerDocument===p||(f(d),s=!m);g=e[h++];)if(g(d,i||p,s)){l.push(d);break}u&&(C=T)}n&&((d=!g&&d)&&v--,a&&b.push(d))}if(v+=y,n&&y!==v){for(h=0;g=t[h++];)g(b,w,i,s);if(a){if(v>0)for(;y--;)b[y]||w[y]||(w[y]=O.call(l));w=we(w)}P.apply(l,w),u&&!a&&w.length>0&&v+t.length>1&&ae.uniqueSort(l)}return u&&(C=T,c=x),b};return n?se(a):a}return ge.prototype=r.filters=r.pseudos,r.setFilters=new ge,i=ae.tokenize=function(e,t){var n,o,a,i,s,l,c,u=_[e+" "];if(u)return t?0:u.slice(0);for(s=e,l=[],c=r.preFilter;s;){for(i in n&&!(o=q.exec(s))||(o&&(s=s.slice(o[0].length)||s),l.push(a=[])),n=!1,(o=U.exec(s))&&(n=o.shift(),a.push({value:n,type:o[0].replace(H," ")}),s=s.slice(n.length)),r.filter)!(o=X[i].exec(s))||c[i]&&!(o=c[i](o))||(n=o.shift(),a.push({value:n,type:i,matches:o}),s=s.slice(n.length));if(!n)break}return t?s.length:s?ae.error(e):_(e,l).slice(0)},s=ae.compile=function(e,t){var n,r=[],o=[],a=D[e+" "];if(!a){for(t||(t=i(e)),n=t.length;n--;)(a=Ce(t[n]))[w]?r.push(a):o.push(a);(a=D(e,Se(o,r))).selector=e}return a},l=ae.select=function(e,t,n,o){var a,l,c,u,d,f="function"==typeof e&&e,p=!o&&i(e=f.selector||e);if(n=n||[],1===p.length){if((l=p[0]=p[0].slice(0)).length>2&&"ID"===(c=l[0]).type&&9===t.nodeType&&m&&r.relative[l[1].type]){if(!(t=(r.find.ID(c.matches[0].replace(J,ee),t)||[])[0]))return n;f&&(t=t.parentNode),e=e.slice(l.shift().value.length)}for(a=X.needsContext.test(e)?0:l.length;a--&&(c=l[a],!r.relative[u=c.type]);)if((d=r.find[u])&&(o=d(c.matches[0].replace(J,ee),Z.test(l[0].type)&&me(t.parentNode)||t))){if(l.splice(a,1),!(e=o.length&&ve(l)))return P.apply(n,o),n;break}}return(f||s(e,p))(o,t,!m,n,!t||Z.test(e)&&me(t.parentNode)||t),n},n.sortStable=w.split("").sort(I).join("")===w,n.detectDuplicates=!!d,f(),n.sortDetached=le(function(e){return 1&e.compareDocumentPosition(p.createElement("fieldset"))}),le(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||ce("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&le(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ce("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),le(function(e){return null==e.getAttribute("disabled")})||ce(L,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),ae}(e);w.find=S,w.expr=S.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=S.uniqueSort,w.text=S.getText,w.isXMLDoc=S.isXML,w.contains=S.contains,w.escapeSelector=S.escape;var T=function(e,t,n){for(var r=[],o=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(o&&w(e).is(n))break;r.push(e)}return r},_=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function I(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function k(e,t,n){return m(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return l.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,o=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(k(this,e||[],!1))},not:function(e){return this.pushStack(k(this,e||[],!0))},is:function(e){return!!k(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var O,E=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var o,a;if(!e)return this;if(n=n||O,"string"==typeof e){if(!(o="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:E.exec(e))||!o[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(o[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(o[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(o[1])&&w.isPlainObject(t))for(o in t)m(this[o])?this[o](t[o]):this.attr(o,t[o]);return this}return(a=r.getElementById(o[2]))&&(this[0]=a,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,O=w(r);var P=/^(?:parents|prev(?:Until|All))/,F={children:!0,contents:!0,next:!0,prev:!0};function R(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){a.push(n);break}return this.pushStack(a.length>1?w.uniqueSort(a):a)},index:function(e){return e?"string"==typeof e?l.call(w(e),this[0]):l.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return R(e,"nextSibling")},prev:function(e){return R(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return _((e.parentNode||{}).firstChild,e)},children:function(e){return _(e.firstChild)},contents:function(e){return I(e,"iframe")?e.contentDocument:(I(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var o=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(o=w.filter(r,o)),this.length>1&&(F[e]||w.uniqueSort(o),P.test(e)&&o.reverse()),this.pushStack(o)}});var L=/[^\x20\t\r\n\f]+/g;function N(e){return e}function $(e){throw e}function j(e,t,n,r){var o;try{e&&m(o=e.promise)?o.call(e).done(t).fail(n):e&&m(o=e.then)?o.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return w.each(e.match(L)||[],function(e,n){t[n]=!0}),t}(e):w.extend({},e);var t,n,r,o,a=[],i=[],s=-1,l=function(){for(o=o||e.once,r=t=!0;i.length;s=-1)for(n=i.shift();++s-1;)a.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,a)>-1:a.length>0},empty:function(){return a&&(a=[]),this},disable:function(){return o=i=[],a=n="",this},disabled:function(){return!a},lock:function(){return o=i=[],n||t||(a=n=""),this},locked:function(){return!!o},fireWith:function(e,n){return o||(n=[e,(n=n||[]).slice?n.slice():n],i.push(n),t||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",o={state:function(){return r},always:function(){return a.done(arguments).fail(arguments),this},catch:function(e){return o.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var o=m(e[r[4]])&&e[r[4]];a[r[1]](function(){var e=o&&o.apply(this,arguments);e&&m(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,o?[e]:arguments)})}),e=null}).promise()},then:function(t,r,o){var a=0;function i(t,n,r,o){return function(){var s=this,l=arguments,c=function(){var e,c;if(!(t=a&&(r!==$&&(s=void 0,l=[e]),n.rejectWith(s,l))}};t?u():(w.Deferred.getStackHook&&(u.stackTrace=w.Deferred.getStackHook()),e.setTimeout(u))}}return w.Deferred(function(e){n[0][3].add(i(0,e,m(o)?o:N,e.notifyWith)),n[1][3].add(i(0,e,m(t)?t:N)),n[2][3].add(i(0,e,m(r)?r:$))}).promise()},promise:function(e){return null!=e?w.extend(e,o):o}},a={};return w.each(n,function(e,t){var i=t[2],s=t[5];o[t[1]]=i.add,s&&i.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),i.add(t[3].fire),a[t[0]]=function(){return a[t[0]+"With"](this===a?void 0:this,arguments),this},a[t[0]+"With"]=i.fireWith}),o.promise(a),t&&t.call(a,a),a},when:function(e){var t=arguments.length,n=t,r=Array(n),o=a.call(arguments),i=w.Deferred(),s=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?a.call(arguments):n,--t||i.resolveWith(r,o)}};if(t<=1&&(j(e,i.done(s(n)).resolve,i.reject,!t),"pending"===i.state()||m(o[n]&&o[n].then)))return i.then();for(;n--;)j(o[n],s(n),i.reject);return i.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var M=w.Deferred();function H(){r.removeEventListener("DOMContentLoaded",H),e.removeEventListener("load",H),w.ready()}w.fn.ready=function(e){return M.then(e).catch(function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||M.resolveWith(r,[w]))}}),w.ready.then=M.then,"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",H),e.addEventListener("load",H));var q=function(e,t,n,r,o,a,i){var s=0,l=e.length,c=null==n;if("object"===b(n))for(s in o=!0,n)q(e,t,s,n[s],!0,a,i);else if(void 0!==r&&(o=!0,m(r)||(i=!0),c&&(i?(t.call(e,r),t=null):(c=t,t=function(e,t,n){return c.call(w(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=G.get(e,t),n&&(!r||Array.isArray(n)?r=G.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,o=n.shift(),a=w._queueHooks(e,t);"inprogress"===o&&(o=n.shift(),r--),o&&("fx"===t&&n.unshift("inprogress"),delete a.stop,o.call(e,function(){w.dequeue(e,t)},a)),!r&&a&&a.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return G.get(e,n)||G.access(e,n,{empty:w.Callbacks("once memory").add(function(){G.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,de=/^$|^module$|\/(?:java|ecma)script/i,fe={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function pe(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&I(e,t)?w.merge([e],n):n}function he(e,t){for(var n=0,r=e.length;n-1)o&&o.push(a);else if(c=w.contains(a.ownerDocument,a),i=pe(d.appendChild(a),"script"),c&&he(i),n)for(u=0;a=i[u++];)de.test(a.type||"")&&n.push(a);return d}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var ve=r.documentElement,ye=/^key/,be=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,we=/^([^.]*)(?:\.(.+)|)/;function xe(){return!0}function Ce(){return!1}function Se(){try{return r.activeElement}catch(e){}}function Te(e,t,n,r,o,a){var i,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Te(e,s,n,r,t[s],a);return e}if(null==r&&null==o?(o=n,r=n=void 0):null==o&&("string"==typeof n?(o=r,r=void 0):(o=r,r=n,n=void 0)),!1===o)o=Ce;else if(!o)return e;return 1===a&&(i=o,(o=function(e){return w().off(e),i.apply(this,arguments)}).guid=i.guid||(i.guid=w.guid++)),e.each(function(){w.event.add(this,t,o,r,n)})}w.event={global:{},add:function(e,t,n,r,o){var a,i,s,l,c,u,d,f,p,h,m,g=G.get(e);if(g)for(n.handler&&(n=(a=n).handler,o=a.selector),o&&w.find.matchesSelector(ve,o),n.guid||(n.guid=w.guid++),(l=g.events)||(l=g.events={}),(i=g.handle)||(i=g.handle=function(t){return void 0!==w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),c=(t=(t||"").match(L)||[""]).length;c--;)p=m=(s=we.exec(t[c])||[])[1],h=(s[2]||"").split(".").sort(),p&&(d=w.event.special[p]||{},p=(o?d.delegateType:d.bindType)||p,d=w.event.special[p]||{},u=w.extend({type:p,origType:m,data:r,handler:n,guid:n.guid,selector:o,needsContext:o&&w.expr.match.needsContext.test(o),namespace:h.join(".")},a),(f=l[p])||((f=l[p]=[]).delegateCount=0,d.setup&&!1!==d.setup.call(e,r,h,i)||e.addEventListener&&e.addEventListener(p,i)),d.add&&(d.add.call(e,u),u.handler.guid||(u.handler.guid=n.guid)),o?f.splice(f.delegateCount++,0,u):f.push(u),w.event.global[p]=!0)},remove:function(e,t,n,r,o){var a,i,s,l,c,u,d,f,p,h,m,g=G.hasData(e)&&G.get(e);if(g&&(l=g.events)){for(c=(t=(t||"").match(L)||[""]).length;c--;)if(p=m=(s=we.exec(t[c])||[])[1],h=(s[2]||"").split(".").sort(),p){for(d=w.event.special[p]||{},f=l[p=(r?d.delegateType:d.bindType)||p]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=a=f.length;a--;)u=f[a],!o&&m!==u.origType||n&&n.guid!==u.guid||s&&!s.test(u.namespace)||r&&r!==u.selector&&("**"!==r||!u.selector)||(f.splice(a,1),u.selector&&f.delegateCount--,d.remove&&d.remove.call(e,u));i&&!f.length&&(d.teardown&&!1!==d.teardown.call(e,h,g.handle)||w.removeEvent(e,p,g.handle),delete l[p])}else for(p in l)w.event.remove(e,p+t[c],n,r,!0);w.isEmptyObject(l)&&G.remove(e,"handle events")}},dispatch:function(e){var t,n,r,o,a,i,s=w.event.fix(e),l=new Array(arguments.length),c=(G.get(this,"events")||{})[s.type]||[],u=w.event.special[s.type]||{};for(l[0]=s,t=1;t=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||!0!==c.disabled)){for(a=[],i={},n=0;n-1:w.find(o,this,null,[c]).length),i[o]&&a.push(r);a.length&&s.push({elem:c,handlers:a})}return c=this,l\x20\t\r\n\f]*)[^>]*)\/>/gi,De=/\s*$/g;function ke(e,t){return I(e,"table")&&I(11!==t.nodeType?t:t.firstChild,"tr")&&w(e).children("tbody")[0]||e}function Oe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Ee(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,o,a,i,s,l,c;if(1===t.nodeType){if(G.hasData(e)&&(a=G.access(e),i=G.set(t,a),c=a.events))for(o in delete i.handle,i.events={},c)for(n=0,r=c[o].length;n1&&"string"==typeof g&&!h.checkClone&&Ie.test(g))return e.each(function(o){var a=e.eq(o);v&&(t[0]=g.call(this,o,a.html())),Re(a,t,n,r)});if(f&&(a=(o=ge(t,e[0].ownerDocument,!1,e,r)).firstChild,1===o.childNodes.length&&(o=a),a||r)){for(l=(s=w.map(pe(o,"script"),Oe)).length;d")},clone:function(e,t,n){var r,o,a,i,s=e.cloneNode(!0),l=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(i=pe(s),r=0,o=(a=pe(e)).length;r0&&he(i,!l&&pe(e,"script")),s},cleanData:function(e){for(var t,n,r,o=w.event.special,a=0;void 0!==(n=e[a]);a++)if(X(n)){if(t=n[G.expando]){if(t.events)for(r in t.events)o[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[G.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Le(this,e,!0)},remove:function(e){return Le(this,e)},text:function(e){return q(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||ke(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=ke(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(pe(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return q(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!De.test(e)&&!fe[(ue.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n=0&&(l+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-a-l-s-.5))),l}function Ke(e,t,n){var r=$e(e),o=Be(e,t,r),a="border-box"===w.css(e,"boxSizing",!1,r),i=a;if(Ne.test(o)){if(!n)return o;o="auto"}return i=i&&(h.boxSizingReliable()||o===e.style[t]),("auto"===o||!parseFloat(o)&&"inline"===w.css(e,"display",!1,r))&&(o=e["offset"+t[0].toUpperCase()+t.slice(1)],i=!0),(o=parseFloat(o)||0)+Ge(e,t,n||(a?"border":"content"),i,r,o)+"px"}function Qe(e,t,n,r,o){return new Qe.prototype.init(e,t,n,r,o)}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,i,s=V(t),l=qe.test(t),c=e.style;if(l||(t=Xe(s)),i=w.cssHooks[t]||w.cssHooks[s],void 0===n)return i&&"get"in i&&void 0!==(o=i.get(e,!1,r))?o:c[t];"string"==(a=typeof n)&&(o=te.exec(n))&&o[1]&&(n=ae(e,t,o),a="number"),null!=n&&n==n&&("number"===a&&(n+=o&&o[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(c[t]="inherit"),i&&"set"in i&&void 0===(n=i.set(e,n,r))||(l?c.setProperty(t,n):c[t]=n))}},css:function(e,t,n,r){var o,a,i,s=V(t);return qe.test(t)||(t=Xe(s)),(i=w.cssHooks[t]||w.cssHooks[s])&&"get"in i&&(o=i.get(e,!0,n)),void 0===o&&(o=Be(e,t,r)),"normal"===o&&t in We&&(o=We[t]),""===n||n?(a=parseFloat(o),!0===n||isFinite(a)?a||0:o):o}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!He.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ke(e,t,r):oe(e,Ue,function(){return Ke(e,t,r)})},set:function(e,n,r){var o,a=$e(e),i="border-box"===w.css(e,"boxSizing",!1,a),s=r&&Ge(e,t,r,i,a);return i&&h.scrollboxSize()===a.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(a[t])-Ge(e,t,"border",!1,a)-.5)),s&&(o=te.exec(n))&&"px"!==(o[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ye(0,n,s)}}}),w.cssHooks.marginLeft=Me(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-oe(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,o={},a="string"==typeof n?n.split(" "):[n];r<4;r++)o[e+ne[r]+t]=a[r]||a[r-2]||a[0];return o}},"margin"!==e&&(w.cssHooks[e+t].set=Ye)}),w.fn.extend({css:function(e,t){return q(this,function(e,t,n){var r,o,a={},i=0;if(Array.isArray(t)){for(r=$e(e),o=t.length;i1)}}),w.Tween=Qe,Qe.prototype={constructor:Qe,init:function(e,t,n,r,o,a){this.elem=e,this.prop=n,this.easing=o||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=a||(w.cssNumber[n]?"":"px")},cur:function(){var e=Qe.propHooks[this.prop];return e&&e.get?e.get(this):Qe.propHooks._default.get(this)},run:function(e){var t,n=Qe.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Qe.propHooks._default.set(this),this}},Qe.prototype.init.prototype=Qe.prototype,Qe.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},Qe.propHooks.scrollTop=Qe.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=Qe.prototype.init,w.fx.step={};var Ze,Je,et=/^(?:toggle|show|hide)$/,tt=/queueHooks$/;function nt(){Je&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(nt):e.setTimeout(nt,w.fx.interval),w.fx.tick())}function rt(){return e.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function ot(e,t){var n,r=0,o={height:e};for(t=t?1:0;r<4;r+=2-t)o["margin"+(n=ne[r])]=o["padding"+n]=e;return t&&(o.opacity=o.width=e),o}function at(e,t,n){for(var r,o=(it.tweeners[t]||[]).concat(it.tweeners["*"]),a=0,i=o.length;a1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,o,a=e.nodeType;if(3!==a&&8!==a&&2!==a)return void 0===e.getAttribute?w.prop(e,t,n):(1===a&&w.isXMLDoc(e)||(o=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?st:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:(e.setAttribute(t,n+""),n):o&&"get"in o&&null!==(r=o.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&I(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,o=t&&t.match(L);if(o&&1===e.nodeType)for(;n=o[r++];)e.removeAttribute(n)}}),st={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=lt[t]||w.find.attr;lt[t]=function(e,t,r){var o,a,i=t.toLowerCase();return r||(a=lt[i],lt[i]=o,o=null!=n(e,t,r)?i:null,lt[i]=a),o}});var ct=/^(?:input|select|textarea|button)$/i,ut=/^(?:a|area)$/i;function dt(e){return(e.match(L)||[]).join(" ")}function ft(e){return e.getAttribute&&e.getAttribute("class")||""}function pt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(L)||[]}w.fn.extend({prop:function(e,t){return q(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,o,a=e.nodeType;if(3!==a&&8!==a&&2!==a)return 1===a&&w.isXMLDoc(e)||(t=w.propFix[t]||t,o=w.propHooks[t]),void 0!==n?o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:e[t]=n:o&&"get"in o&&null!==(r=o.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):ct.test(e.nodeName)||ut.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this}),w.fn.extend({addClass:function(e){var t,n,r,o,a,i,s,l=0;if(m(e))return this.each(function(t){w(this).addClass(e.call(this,t,ft(this)))});if((t=pt(e)).length)for(;n=this[l++];)if(o=ft(n),r=1===n.nodeType&&" "+dt(o)+" "){for(i=0;a=t[i++];)r.indexOf(" "+a+" ")<0&&(r+=a+" ");o!==(s=dt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,o,a,i,s,l=0;if(m(e))return this.each(function(t){w(this).removeClass(e.call(this,t,ft(this)))});if(!arguments.length)return this.attr("class","");if((t=pt(e)).length)for(;n=this[l++];)if(o=ft(n),r=1===n.nodeType&&" "+dt(o)+" "){for(i=0;a=t[i++];)for(;r.indexOf(" "+a+" ")>-1;)r=r.replace(" "+a+" "," ");o!==(s=dt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):m(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,ft(this),t),t)}):this.each(function(){var t,o,a,i;if(r)for(o=0,a=w(this),i=pt(e);t=i[o++];)a.hasClass(t)?a.removeClass(t):a.addClass(t);else void 0!==e&&"boolean"!==n||((t=ft(this))&&G.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":G.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+dt(ft(n))+" ").indexOf(t)>-1)return!0;return!1}});var ht=/\r/g;w.fn.extend({val:function(e){var t,n,r,o=this[0];return arguments.length?(r=m(e),this.each(function(n){var o;1===this.nodeType&&(null==(o=r?e.call(this,n,w(this).val()):e)?o="":"number"==typeof o?o+="":Array.isArray(o)&&(o=w.map(o,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))})):o?(t=w.valHooks[o.type]||w.valHooks[o.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(o,"value"))?n:"string"==typeof(n=o.value)?n.replace(ht,""):null==n?"":n:void 0}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:dt(w.text(e))}},select:{get:function(e){var t,n,r,o=e.options,a=e.selectedIndex,i="select-one"===e.type,s=i?null:[],l=i?a+1:o.length;for(r=a<0?l:i?a:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),a}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var mt=/^(?:focusinfocus|focusoutblur)$/,gt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,o,a){var i,s,l,c,u,f,p,h,v=[o||r],y=d.call(t,"type")?t.type:t,b=d.call(t,"namespace")?t.namespace.split("."):[];if(s=h=l=o=o||r,3!==o.nodeType&&8!==o.nodeType&&!mt.test(y+w.event.triggered)&&(y.indexOf(".")>-1&&(y=(b=y.split(".")).shift(),b.sort()),u=y.indexOf(":")<0&&"on"+y,(t=t[w.expando]?t:new w.Event(y,"object"==typeof t&&t)).isTrigger=a?2:3,t.namespace=b.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=o),n=null==n?[t]:w.makeArray(n,[t]),p=w.event.special[y]||{},a||!p.trigger||!1!==p.trigger.apply(o,n))){if(!a&&!p.noBubble&&!g(o)){for(c=p.delegateType||y,mt.test(c+y)||(s=s.parentNode);s;s=s.parentNode)v.push(s),l=s;l===(o.ownerDocument||r)&&v.push(l.defaultView||l.parentWindow||e)}for(i=0;(s=v[i++])&&!t.isPropagationStopped();)h=s,t.type=i>1?c:p.bindType||y,(f=(G.get(s,"events")||{})[t.type]&&G.get(s,"handle"))&&f.apply(s,n),(f=u&&s[u])&&f.apply&&X(s)&&(t.result=f.apply(s,n),!1===t.result&&t.preventDefault());return t.type=y,a||t.isDefaultPrevented()||p._default&&!1!==p._default.apply(v.pop(),n)||!X(o)||u&&m(o[y])&&!g(o)&&((l=o[u])&&(o[u]=null),w.event.triggered=y,t.isPropagationStopped()&&h.addEventListener(y,gt),o[y](),t.isPropagationStopped()&&h.removeEventListener(y,gt),w.event.triggered=void 0,l&&(o[u]=l)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,o=G.access(r,t);o||r.addEventListener(e,n,!0),G.access(r,t,(o||0)+1)},teardown:function(){var r=this.ownerDocument||this,o=G.access(r,t)-1;o?G.access(r,t,o):(r.removeEventListener(e,n,!0),G.remove(r,t))}}});var vt=e.location,yt=Date.now(),bt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var wt=/\[\]$/,xt=/\r?\n/g,Ct=/^(?:submit|button|image|reset|file)$/i,St=/^(?:input|select|textarea|keygen)/i;function Tt(e,t,n,r){var o;if(Array.isArray(t))w.each(t,function(t,o){n||wt.test(e)?r(e,o):Tt(e+"["+("object"==typeof o&&null!=o?t:"")+"]",o,n,r)});else if(n||"object"!==b(t))r(e,t);else for(o in t)Tt(e+"["+o+"]",t[o],n,r)}w.param=function(e,t){var n,r=[],o=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){o(this.name,this.value)});else for(n in e)Tt(n,e[n],t,o);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&St.test(this.nodeName)&&!Ct.test(e)&&(this.checked||!ce.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(xt,"\r\n")}}):{name:t.name,value:n.replace(xt,"\r\n")}}).get()}});var _t=/%20/g,Dt=/#.*$/,It=/([?&])_=[^&]*/,At=/^(.*?):[ \t]*([^\r\n]*)$/gm,kt=/^(?:GET|HEAD)$/,Ot=/^\/\//,Et={},Pt={},Ft="*/".concat("*"),Rt=r.createElement("a");function Lt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,o=0,a=t.toLowerCase().match(L)||[];if(m(n))for(;r=a[o++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Nt(e,t,n,r){var o={},a=e===Pt;function i(s){var l;return o[s]=!0,w.each(e[s]||[],function(e,s){var c=s(t,n,r);return"string"!=typeof c||a||o[c]?a?!(l=c):void 0:(t.dataTypes.unshift(c),i(c),!1)}),l}return i(t.dataTypes[0])||!o["*"]&&i("*")}function $t(e,t){var n,r,o=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((o[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}Rt.href=vt.href,w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:vt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(vt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Ft,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?$t($t(e,w.ajaxSettings),t):$t(w.ajaxSettings,e)},ajaxPrefilter:Lt(Et),ajaxTransport:Lt(Pt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var o,a,i,s,l,c,u,d,f,p,h=w.ajaxSetup({},n),m=h.context||h,g=h.context&&(m.nodeType||m.jquery)?w(m):w.event,v=w.Deferred(),y=w.Callbacks("once memory"),b=h.statusCode||{},x={},C={},S="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(u){if(!s)for(s={};t=At.exec(i);)s[t[1].toLowerCase()]=t[2];t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return u?i:null},setRequestHeader:function(e,t){return null==u&&(e=C[e.toLowerCase()]=C[e.toLowerCase()]||e,x[e]=t),this},overrideMimeType:function(e){return null==u&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(u)T.always(e[T.status]);else for(t in e)b[t]=[b[t],e[t]];return this},abort:function(e){var t=e||S;return o&&o.abort(t),_(0,t),this}};if(v.promise(T),h.url=((t||h.url||vt.href)+"").replace(Ot,vt.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(L)||[""],null==h.crossDomain){c=r.createElement("a");try{c.href=h.url,c.href=c.href,h.crossDomain=Rt.protocol+"//"+Rt.host!=c.protocol+"//"+c.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),Nt(Et,h,n,T),u)return T;for(f in(d=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!kt.test(h.type),a=h.url.replace(Dt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(_t,"+")):(p=h.url.slice(a.length),h.data&&(h.processData||"string"==typeof h.data)&&(a+=(bt.test(a)?"&":"?")+h.data,delete h.data),!1===h.cache&&(a=a.replace(It,"$1"),p=(bt.test(a)?"&":"?")+"_="+yt+++p),h.url=a+p),h.ifModified&&(w.lastModified[a]&&T.setRequestHeader("If-Modified-Since",w.lastModified[a]),w.etag[a]&&T.setRequestHeader("If-None-Match",w.etag[a])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&T.setRequestHeader("Content-Type",h.contentType),T.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+Ft+"; q=0.01":""):h.accepts["*"]),h.headers)T.setRequestHeader(f,h.headers[f]);if(h.beforeSend&&(!1===h.beforeSend.call(m,T,h)||u))return T.abort();if(S="abort",y.add(h.complete),T.done(h.success),T.fail(h.error),o=Nt(Pt,h,n,T)){if(T.readyState=1,d&&g.trigger("ajaxSend",[T,h]),u)return T;h.async&&h.timeout>0&&(l=e.setTimeout(function(){T.abort("timeout")},h.timeout));try{u=!1,o.send(x,_)}catch(e){if(u)throw e;_(-1,e)}}else _(-1,"No Transport");function _(t,n,r,s){var c,f,p,x,C,S=n;u||(u=!0,l&&e.clearTimeout(l),o=void 0,i=s||"",T.readyState=t>0?4:0,c=t>=200&&t<300||304===t,r&&(x=function(e,t,n){for(var r,o,a,i,s=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(o in s)if(s[o]&&s[o].test(r)){l.unshift(o);break}if(l[0]in n)a=l[0];else{for(o in n){if(!l[0]||e.converters[o+" "+l[0]]){a=o;break}i||(i=o)}a=a||i}if(a)return a!==l[0]&&l.unshift(a),n[a]}(h,T,r)),x=function(e,t,n,r){var o,a,i,s,l,c={},u=e.dataTypes.slice();if(u[1])for(i in e.converters)c[i.toLowerCase()]=e.converters[i];for(a=u.shift();a;)if(e.responseFields[a]&&(n[e.responseFields[a]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=a,a=u.shift())if("*"===a)a=l;else if("*"!==l&&l!==a){if(!(i=c[l+" "+a]||c["* "+a]))for(o in c)if((s=o.split(" "))[1]===a&&(i=c[l+" "+s[0]]||c["* "+s[0]])){!0===i?i=c[o]:!0!==c[o]&&(a=s[0],u.unshift(s[1]));break}if(!0!==i)if(i&&e.throws)t=i(t);else try{t=i(t)}catch(e){return{state:"parsererror",error:i?e:"No conversion from "+l+" to "+a}}}return{state:"success",data:t}}(h,x,T,c),c?(h.ifModified&&((C=T.getResponseHeader("Last-Modified"))&&(w.lastModified[a]=C),(C=T.getResponseHeader("etag"))&&(w.etag[a]=C)),204===t||"HEAD"===h.type?S="nocontent":304===t?S="notmodified":(S=x.state,f=x.data,c=!(p=x.error))):(p=S,!t&&S||(S="error",t<0&&(t=0))),T.status=t,T.statusText=(n||S)+"",c?v.resolveWith(m,[f,S,T]):v.rejectWith(m,[T,S,p]),T.statusCode(b),b=void 0,d&&g.trigger(c?"ajaxSuccess":"ajaxError",[T,h,c?f:p]),y.fireWith(m,[T,S]),d&&(g.trigger("ajaxComplete",[T,h]),--w.active||w.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,o){return m(n)&&(o=o||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:o,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return m(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=m(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var jt={0:200,1223:204},Bt=w.ajaxSettings.xhr();h.cors=!!Bt&&"withCredentials"in Bt,h.ajax=Bt=!!Bt,w.ajaxTransport(function(t){var n,r;if(h.cors||Bt&&!t.crossDomain)return{send:function(o,a){var i,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(i in t.xhrFields)s[i]=t.xhrFields[i];for(i in t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest"),o)s.setRequestHeader(i,o[i]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?a(0,"error"):a(s.status,s.statusText):a(jt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){var t,n;if(e.crossDomain)return{send:function(o,a){t=w("